JSP

1、JSP是Java Server Pages,其根本是一个简化的Servlet设计,它在传统的HTML页面加入Java代码片段和JSP标记,形成.jsp文件。

2、JSP在服务器端执行,返回给客户端HTML页面。JSP的主要目的是将表示逻辑从Servlet中分离出来。Servlet是JSP技术的基础,一般大型的应用还是需要Servlet+JSP来开发的。

3、JSP具有面向对象、平台无关性的特点。JSP页面都被变异成Java Servlet。JSP指令控制JSP编译器如何去实现Servlet。

4、JSP页面可以包括指令标识、HTML代码、JavaScript代码、嵌入的Java代码、注释和JSP动作标识等内容。

5、JSP指令标识用来标识整个JSP页面的相关信息,只被服务器解析,不在客户端显示任何代码。JSP指令包括指令名和属性,指令名有page,include,taglib三条。

6、page指令:page指令定义整个JSP页面的相关属性,这些属性在JSP被服务器解析成Servlet时会自动转换为Java代码。page指令提供了13个属性:language,contentType,pageEncoding,import,autoFlush,buffer,errerPage,extends,info,isELIgnored,isErrorPage,isThreadSafe和session。

  extends属性表示JSP页面继承一个父类;

  import属性表示导入一个类包;

  pageEncoding属性指定JSP所有代码使用的字符集;中文使用UTF-8或GBK.

  contentType属性设置浏览器显示的JSP页面使用的MIME类型和字符编码;中文使用UTF-8或GBK.  

  session属性指出是否使用HTTP的session会话对象,其值是一个布尔型,默认是true。session是JSP的内置对象之一;

  buffer对象设置JSP的out输出对象使用的缓冲区的大小,默认是8KB,而且单位只能是KB,开发人员一般使用8的倍数作为该属性的属性值。out对象也是JSP的内置对象之一;

  autoFlush属性指出在缓冲区满了的时候自动将缓冲区的内容输出到客户端。默认是true;

  isErrorPage属性可以把当前的JSP页面设置成错误处理页面来处理另一个页面的错误,值是一个布尔值;

  errorPage属性用于指定当前异常错误页面的另一个JSP页面,指定的JSP错误处理页面必须是isErrorPage的属性为true。errorPage属性的属性值是一个URL字符串。如果使用了该属性,在web.xml中定义的任何错误处理页面都将被忽略。

7、include指令:是文件包含指令。意思是一个JSP页面包含另一个JSP页面,但这种包含是静态的包含,就是直接把静态代码包含到当前页面中,即使被包含的页面有JSP代码也不会执行。最后会成成一个文件,所以含文件和被包含文件不能有相同名称的变量。该指令的属性只有file一个,属性值是一个文件的路径,可以是相对路径也可以绝对路径。

8、tablib指令:声明该页面中使用的标签库,同时引用标签库,并指定标签的前缀。prefix属性指定标签的前缀,而且不能是jsp,jspx,javax,sun,servlet,sunw。uri属性用于指定标签库文件的存放的位置。

9、JSP脚本标识:使用最为频繁,包括jsp表达式、声明标识和脚本程序。

  JSP表达式:用于向页面输出信息。<%=   %>。输出结果是一个字符串。他可以插入到JSP页面的文本中和标签中动态设置标签属性。

  声明标识:声明标识在页面中定义全局的变量和方法,供整个页面使用,在执行的时候,JSP页面会将这些变量和方法转化为Servlet的类成员变量和方法,格式如下:<%!  %>

  java代码片段:包括Java代码和脚本,前者可以定义变量或流程控制语句,后者可以使用JSP内置对象处理请求和响应,访问session会话。

  声明标识和代码片段的区别是前者会在服务器关闭的时候才销毁,而后者在页面关闭的时候就销毁。

10、JSP注释:

  HTML注释:<!--内容-->,对客户是可见的。

  JSP注释:<%--内容--%>,隐藏注释,对客户是不可见的。

  动态注释:<!--<%=new Date()%>-->,用于动态显示给客户端注释信息。

  Java注释:单行注释,多行注释,提示文档注释分别为:

    //

    /*

    *

    */

    /**

    *

    */

11、动作标识:在动作标识里单独讲。

posted @ 2015-04-27 09:36  Joe_Shine  阅读(202)  评论(0编辑  收藏  举报