发布于 2015-08-17 14:46:05 | 280 次阅读 | 评论: 0 | 来源: 网络整理
Web服务器需要一个JSP引擎,即,容器处理JSP页面。 JSP容器负责拦截对JSP页面的请求。本教程使用的Apache已内置JSP容器支持JSP页面的开发。
JSP容器的工作原理与Web服务器来提供运行时环境和其他服务的JSP需要。它知道如何理解,是JSP页面的一部分的特殊元素。
下图显示了JSP容器和JSP文件在Web应用程序的位置。
下面的步骤说明了Web服务器是如何创建使用JSP网页:
作为一个正常的页面,您的浏览器发送一个HTTP请求到Web服务器。
Web服务器识别出HTTP请求是一个JSP页面,并将其转发到一个JSP引擎。这是通过使用URL或JSP页面以.JSP结尾,而不是.HTML。
JSP引擎从磁盘中加载的JSP页面,并将其转换成servlet的内容。这种转换是非常简单的,所有模板文本转换为调用println() 语句和所有的JSP元素转换到实现页面的相应的动态行为的Java代码。
JSP引擎编译成servlet的一个可执行文件类和原始请求转发给一个servlet引擎。
被称为servlet引擎Web服务器一部分加载Servlet类并执行它。在执行过程中,servlet生成一个HTML格式的输出,servlet引擎传递到HTTP响应里面的Web服务器。
Web服务器中的静态HTML内容条款转发HTTP响应到浏览器。
最后的网页浏览器处理HTTP响应内动态地生成HTML页面完全一样,如果它是一个静态页。
在下面可以显示在下面的图中上面提到的所有步骤:
通 常情况下,JSP引擎会检查一个servlet的JSP文件是否已经存在,并且在JSP中修改日期是否早于这个servlet。如果JSP是年纪比其生成 的servlet,JSP容器假定JSP并没有改变,而生成的servlet仍然符合JSP的内容。这使得该方法比用其它脚本语言(如PHP)更有效,因此更快。
因此,在某种程度上,一个JSP页面实际上只是另一种方式来写一个servlet,而不必是一个Java编程行家。除转换阶段,一个JSP页面的处理完全像一个普通的servlet。