JSP的体系结构

以下内容引用自http://wiki.jikexueyuan.com/project/jsp/architecture.html

Web服务器需要一个JSP引擎,即处理JSP页面的容器。JSP容器负责为JSP页面拦截请求。

JSP容器适用于Web服务器,来提供JSP运行时环境和其他服务的需求。它知道如何理解JSP的部分特殊元素。

以下图表显示了JSP容器的位置以及在一个Web应用程序中的JSP文件。

JSP处理

下面的步骤解释了web服务器如何使用JSP创建Web页面:

  • 作为正常的页面,浏览器发送一个HTTP请求到Web服务器。

  • Web服务器承认一个JSP页面的HTTP请求,并将其转发给一个JSP引擎。这是通过使用URL或JSP页面实现的,该JSP页面是以.jsp结尾而不是以.html结尾的。

  • JSP引擎从磁盘加载JSP页面并将其转换为一个Servlet的内容。这种转换是非常简单的,所有模板文本转换为println()语句,所有JSP元素转换为Java代码实现页面的相应的动态行为。

  • JSP引擎编译Servlet到一个可执行的类中,并将原始请求转发给一个Servlet引擎。

  • 调用Servlet引擎的Web服务器的一部分加载Servlet类并执行它。执行期间,Servlet产生一个HTML格式的输出,Servlet引擎将该输出传递到HTTP响应内的Web服务器中。

  • Web服务器将HTTP响应以静态HTML内容的形式转发到浏览器中。

  • 最后Web浏览器处理HTTP响应中的动态生成的HTML页面,就好像它是一个静态页面。

上述所有步骤如下图所示:

通常,JSP引擎检查JSP文件的Servlet是否已存在,JSP的修改日期是否比Servlet的过时。如果JSP的修改日期比其生成的Servlet的修改日期过时,那么JSP容器假设JSP修改日期没有改变,且生成的Servlet的修改日期仍然与JSP的内容相匹配。与其他脚本语言(比如 PHP)相比,这个过程更有效率,因此更加快速。

所以在某种程度上来说,一个JSP页面只是用另一种方式来写Servlet,而不需要成为一个Java编程奇才。除了翻译阶段,处理JS 页面完全就像处理一个普通的Servlet一样。

转载于:https://www.cnblogs.com/EasonJim/p/6943121.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值