JSP基础知识点

来源:互联网 发布:绿色版软件制作工具 编辑:程序博客网 时间:2024/06/10 06:05

JSP基础知识点

JSP页面基本结构

    一个JSP页面是通过在HTML标签的基础上潜入JSP动作和指令、CSS、Java变量和方法(java代码段)、其他脚本元素等组成的。
<%@page countentType="text/html" pageEncoding="UTF-8"%><html>    <head>        <meta http-equiv="Content-Type" content="text/html";charset=UTF-8">        <title>JSP页面基础结构实例</title>    </head>    <body>        <%! int sum=0;            int x=1;        %>        <!--           声明:<%!语句1;...;语句n;%>           用 <%! 或者 <%开头,以 %> 结尾           里面包裹着java语言           一个声明仅在一个页面中有效        -->        <%            while(x<=10)            {                sum+=x;                ++x;            }        %>        <!--            脚本语法格式:<%脚本语句%>        -->        <p>1加到10的结果是:<%=sum%></p>        <p>现在的时间是:<%=new java.util.Date()%></p>        <!--            表达式:<%=表达式%>        -->    </body></html>

注释

1.**隐藏注释**:<%--注释语句--%> 在发布JSP网页时完全被忽略,也不会输送到客户浏览器上,即JSP页面运行后页面上看不到注释内容,而且源文件中也看不到注释内容。 2.**java注释**:<%/*注释语句*/%>或<%//注释内容%> java注释和隐藏注释类似,在发布网页时不会在页面上显示,在浏览器的源文件中也不会看到注释内容。 3.**HTML注释**:`<!--注释内容-->` 在发布网页时可以在浏览器源文件窗口中看到HTML注释,即注释的内容会被输送到客户端浏览器中。

JSP的指令

1.page指令

page指令用来定义JSP文件中的全局属性,它描述了与页面相关的一些信息,其作用于为它所在的JSP页面和其包含的文件。一般位于JSP页面的顶端。

<%@page    [language="java"]    /*     用于指定JSP页面中使用的脚本语言,默认值是Java。目前只能使用Java    */    [extends="package.class"]    /*    用于指定JSP编译器父类的完整限定名,此JSP页面产生的Servlet将由该父类扩展而来。    */    [import="{package.class|package.*},..."]    /*    用于导入JSP页面使用的JavaAPI类库。    */    [session="true|false"]    /*    用于指定是否可以使用session对象,若允许页面参与HTTP会话,就设置true,默认值为true.    */    [buffer="none|8kb|sizeKb"]    /*    用于设置页面的缓冲区大小(字节数),属性值为none时表示禁止缓冲区,其默认值为8KB.    */    [autoFlush="true|false"]    /*    用于指定JSP页面缓冲区是否自动刷新输出,其默认值为true.    为true时,页面缓冲区满时自动刷新输出,否则当页面缓冲区满时抛出一个异常。    */    [isThreadSafe="true|false"]    /*    用于指定JSP页面是否能够处理一个以上的请求,如果为true,则该页面可能同时收到JSP引擎发出的多个请求;反之,JSP引擎会对收到的请求进行排队,当前页面在同一时刻只能处理一个请求。默认值为true.    */    [info="text"]    /*用于指定JSP页面的相关信息文本,无默认值*/    [errorPage="relatiuveURL"]    /*    用于指定错误页面。当页面出现一个没有被捕获的异常时,错误信息将被throw语句抛出。    */    [contentType="mimeType[;charset=chrarcterSet]"]    /*    用于指定内容MIME类型和JSP页面的编码方式,对于普通的JSP页面,默认的contentType属性值为"text/html;charset=ISO-8859-1"    */    [pageEncoding="pageEncoding"]    /*    用于指定JSP页面的编码方式,默认值为ISO-8859-1,为支持中文可设置为UTF-8.    */    [isErrorPage="true|false"]%>

2.include指令

include指令用于在当前JSP页面中加载需要插入的文件代码,即为页面插入一个静态文件,如JSP页面,HTML页面、文本文件或者一段Java程序。

<%@include file="文件名"%><!--file属性用于指定插入的包含文件的相对路径,无默认值-->

3.taglib指令

taglib指令用于指定页面中的标签库以及自定义标签的前缀

<%@taglib uri="tagLibraryURI"prefix="tagPrefix"%><!--1.uri属性(Uniform Resource Identifier,统一资源标识符)用于指定标记库的存放位置,并告诉JSP引擎在编译JSP程序时何如处理指定标签库中的标签,无默认值。uri属性可以是在TLD(标记库描述符)文件活web.xml文件中定义的标记库的符号名,也可以是TLD文件或JAR文件的相对路径2.prefix属性用于指定标记库中的所有动作元素名中使用的前缀,无默认值。--><%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><!--    上述代码可以在页面中导入标签库,"http://java.sun.com/jsp/jstl/core"是JSP标签库所在的路径。-->

JSP常用动作

1.<jsp:param>动作

可以用于<jsp:include>、<jsp:forward>动作体中,为其他动作传送一个或者多个参数。

<jsp:param name="参数名" value="参数值"/>
2.<jsp:include>
    <jsp:include page="文件名" flush="true">        <jsp:param name="参数名" value="参数值"/>    </jsp:include>    <!--    page属性指定所包含资源的相对路径,可以接受动态值    flush属性指定在包含目标资源之前是否刷新输出缓冲区,默认值为false.不可接受动态值。    -->
与include指令的区别

<jsp:include>动作和include指令之间的不同在于它们被调用的时间。
前者在页面请求期间被激活,而include指令在页面转换期间被激活。


JavaBean技术

JavaBean开发简单,许多动态页面处理过程实际上被封装到JavaBean当中,可以将大部分功能放在JavaBean中完成。JavaBean在Java Web项目中用来捕获页面表单的输入并封装事务逻辑,从而很好地实现业务逻辑和页面的分离,使得系统更加健壮、灵活和易于维护。
JavaBean定义(声明)应遵循的规范
1.必须有一个无参的构造函数
2.对在Bean中定义的属性提供getter和setter方法,并且这些方法为公共的。
3.对于boolean类型的属性,其getter方法的形式为isXxx的,其中Xxx为首字母大写的属性名
4.对于数组类型的属性,要提供形式为getXxx和setXxx的方法。


3.<jsp:useBean>动作
相当于在JSP页面中声明一个javaBean类的对象,并且予以调用。

<jsp:useBean id="Bean实例名称" scope="page|request|session|application"class="JavaBean类" type="对象变量的类型" beanName="Bean名字"/><!--1.id属性:指定JavaBean的实例名称,即该类声明出来的对象,不可接受动态值。如果能找到id和scope相同的实例,该动作将使用已有的Bean实例,反之则创建新的实例。2.type属性:指定引用该对象的变量的类型,它必须是Bean类的名字、父类名字、该类所实现的借口的名字之一。变量的名字是由id属性指定的。3.beanName属性:用于指定Bean的名字,可以接受动态值。BeanName属性必须与type属性结合使用,不能与class属性同时使用。实例如下:--><jsp:useBean id="time" type="java.io.Serializable" beanName="java.util.Date"/>

<jsp:setProperty>动作用来设置、修改已实例化的Bean中的属性值。相当于调用Bean对象中的setter方法。

<jsp:setProperty name="Bean的名称" property="*"|property="属性" [param="属性"|value="值"]/><!--param和value不能同时使用,但可以使用其中的任意一个    param属性:如果当前请求没有参数,则什么事情也不做,系统不会把null传递给Bean属性的set方法。-->

<jsp:getProperty>动作获取指定的Bean属性值并转换成字符串输出。相当于调用Bean对象的getter方法。

<jsp:getProperty name="Bean的名称" property="Bean的属性"/>

4.<jsp:forward>动作
用于转发客户端的请求到另一个页面或者另一个Servlet文件中去。

<jsp:forward page="地址或者页面"/><!--page属性:指定资源的相对路径,可接受动态值--><jsp:forward page="success.jsp">    <jsp:param name="userName" value="<%=name%>"/></jsp:forward>
原创粉丝点击