添加JSP技术中的难题,您可以解决这些问题通过分开的要求处理和业务逻辑代码的介绍,在图3-1 。不是嵌入的HTML代码中,而是将所有静态HTML放入JSP页面,就像在一个普通的网页,并添加一些JSP的内容生成动态的网页。请求处理可以保持域的服务器,并且处理业务逻辑的JavaBeans和EJB组件。
(1)JSP的处理
正如Web服务器需要一个servlet容器提供一个servlets接口,服务器需要一个JSP容器处理JSP页面。在JSP容器有责任拦截请求JSP页面。处理所有的JSP网页中的内容,第一次解析JSP页面到一个servlet (称为JSP页面实现类) 。转换非常简单,所有模板文本转换为println ( )语句类似于在handcoded的servlet实例3-1所示,所有JSP的内容转换为Java代码,实现相应的动态行为。这个容器然后编译servlet的类。
JSP页面转换为一个servlet和编制servlet从翻译的语句。在JSP容器启动翻译的网页阶段时,会自动收到第一个请求的网页并且由于翻译阶段需要多一点的时间,第一个用户请求JSP页面告示稍有延迟。翻译阶段还可以明确这就是被称为precompilation的JSP页面。 Precompiling 是JSP页面的一个方式,以避免触及第一个用户的这种拖延。
JSP容器还负责引用JSP页面实现类(在生成的servlet())来处理每个请求并产生响应。这就是所谓的请求处理阶段。
只要JSP页面保持不变,随后的任何请求不用直接进入请求处理阶段(即JSP容器只是执行类文件) 。当JSP页面被修改,不用通过翻译阶段再进入请求处理阶段。
JSP容器往往是处理servlet配置并处理所有请求JSP页面。事实上,这两个容器,一个servlet容器和JSP容器往往是结合成一个封装的Web容器。
因此,在某种程度上,一个JSP页面实际上是通过另一种方式来写一个servlet ,而不必是通过Java编程wiz 。除了翻译阶段, JSP页面正确的操作完全和servlet一样 ,它装载一次,重复调用,直到服务器关闭。由于是一个自动生成servlet的JSP页面继承了所有的优点;平台和供应商的独立,合并,提高效率,可扩展性,健全性和安全性。
JSP组成元素
我们用的jsp元素有3类:指令,操作和脚本。一种新的框架增加进JSP 2.0是表达语言(EL)的表达;让我们称之为第4种元素类型,即使它有一点不同于其他三个。
(2)指令元素
该指令的内容,显示在表3-1中,指定的网页信息在请求中保持相同,例如,如果session的跟踪需要与否,隔离的要求,和名称的网页必须报告错误,如果有的话。