p"文件编译成Java Class文件。当Servlet引擎接收到请求后,如果设置了使用最新的JSP,它就会去找JSP文件,检查该文件在上次编译后是否改动过。如果改动过,就会重新编译生成新的Servlet,最终将请求转交给编译好的Servlet引擎执行[1]。如图5.1
图5.1 JSP运行原理图
在编译时如果发现JSP文件有任何语法错误,转换过程将中断,并向客户端发出出错信息;如果编译成功,则所转换产生的Servlet代码被编译,然后该Servlet被JSP引擎加载到内存中。此时JSP引擎还请求了jspInit()方法的执行,并对此Servlet初始化。JspInit()方法在Servlet的生命周期中只被请求一次,然后将被调用来处理客户端的请求和回复操作。对于所有随后对该JSP文件的请求,服务器将检查该JSP文件自最后一次被存取后是否经过修改。如果没有修改,则将请求交还给还在内存中的Servlet的jspService()方法,执行回复操作。由于Servlet始终驻于内存,所以响应是非常快的。Jsp页面在第一次访问时由于要转化和编译,运行速度较慢,但是当第二次访问该页时,由于文件已经被编译成字节码文件了,所以速度非常得快。
5.1.3 JSP页面的组成
JSP页面看上去像标准的HTML和XML页面,并附带有JSP引擎能够处理和解析执行的代码与组件。通常,JSP代码和组件用于创建在最终页面上显示的文本。通常来说,JSP页面包括模板元素,指令元素,动作元素,Scritptlets,声明,表达式和JSP内建对象。
1)模板元素:模板元素是指JSP的静态HTML或者XML[4] 。
2)指令元素:使用指令元素来设置全局变量,声明类、要实现的方法和输出内容的内型,它们并不向客户端产生任何输出,所有指令在文件范围内有效,JSP指令的一般语法形式为:<%@directivename attribute="value",attribute="value"%>。
3)动作元素(标识):动作元素用于执行某些动作。在JSP规范中有2种类型的动作指令的标识。第一种是标准动作,它定义的是无论在什么版本的JSP引擎或Web服务器下总是可用的动作。第二种是自定义动作,它通过使用taglib指令来实现。例如JSP:useBean;JSP:setProperty;JSP:getProperty就是标准动作。
4)声明:用于声明合法的变量和方法。与任何语言相同,JSP语言使用变量来保存数据。这些变量用declaration元素声明,声明的语法为<%! declaration(s) %>。当页面被初始化的时候,JSP页面中的所有声明都被初始化。除了简单的变量,方法也能被声明。声明不对当前的输出流产生任何影响。
5)表达式:通过计算表达式所得到的结果来表示某个值。表达式的形式为:<%=expression%>。表达式求值的结果被强制转换为一个字符串,并插入到当前的输出流中。
6)程序段:JSP可以在页面中包含的一段程序,称之为程序段。程序段是一个代码片断,在请求的处理过程中被执行。程序段可以和页面中的静态元件组合起来创建动态生成的页面。程序段在"<% %>"中定义,在这对标识中的所有东西都会被当成JSP程序执行。
5.1.4 JavaBean技术介绍
JavaBean技术是一种基于Java的组件技术,JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据的提取,以及封装事务逻辑等,可以很好的实现
相关热词:java 网上 图书 销售 系统 论文 11