当前位置:首页 > JSP教程 > JSP基础教程

JSP架构

web服务器需要一个jsp引擎,即一个处理jsp页面的容器(类似于:tomcat和jetty)。 jsp容器负责拦截jsp页面的请求。本教程使用内置jsp容器的apache tomcat来支持jsp页面的开发。

jsp容器与web服务器配合使用以提供运行时环境和jsp需要的其他服务。它知道如何解释作为jsp一部分的特殊元素。

下面的架构图显示了jsp容器和jsp文件在web应用程序中的位置。

jsp处理

以下步骤说明web服务器如何使用jsp创建web页面 -

  • 与一般的页面一样,浏览器向web服务器发送http请求。
  • web服务器识别http请求是针对jsp页面,并将其转发给jsp引擎。这可以通过使用以.jsp(而不是.html结尾)的url或jsp页面完成。
  • jsp引擎从磁盘加载jsp页面并将其转换为servlet内容。这个转换非常简单,所有模板文本都转换为println()语句,并将所有jsp元素转换为java代码。此代码实现页面的相应动态行为。
  • jsp引擎将servlet编译为可执行类,并将原始请求转发到servlet引擎。
  • servlet引擎的web服务器加载servlet类并执行它。在执行期间,servlet生成html格式的输出。http响应中的servlet引擎将输出传递给web服务器。
  • web服务器根据http响应将静态html内容转发到浏览器。
  • 最后,web浏览器处理http响应中动态生成的html页面,就像它是静态页面一样。

通常,jsp引擎将检查jsp文件的servlet是否已存在,并且jsp上的修改日期是否比servlet更旧。 如果jsp早于其生成的servlet,则jsp容器将会认为(假定)jsp尚未更改,生成的servlet仍然与jsp的内容相匹配,从而不必重新生成。这使得该过程比其他脚本语言(如php)更加有效,因此更快。

所以在某种程度上,jsp页面实际上只是另一种编写servlet的方式。除了编译阶段,jsp页面的处理方式与一般的servlet完全相同。



【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!