JSP-体系结构

JSP-体系结构


Web服务器需要JSP引擎,即用于处理JSP页面的容器。JSP容器负责拦截对JSP页面的请求。本教程利用Apache内置的JSP容器来支持JSP页面开发。

JSP容器与Web服务器一起使用,以提供JSP所需的运行时环境和其他服务。它知道如何理解JSP组成部分的特殊元素。

下图显示了Web应用程序中JSP容器和JSP文件的位置。
在这里插入图片描述

JSP处理

以下步骤说明了Web服务器如何使用JSP创建网页:

  • 与普通页面一样,您的浏览器将HTTP请求发送到Web服务器。

  • Web服务器识别出HTTP请求是针对JSP页面的,并将其转发到JSP引擎。这是通过使用 以.jsp而不是.html结尾的URL或JSP页面完成的。

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

  • JSP引擎将servlet编译为可执行类,并将原始请求转发到servlet引擎。

  • Web服务器的一部分称为Servlet引擎,它会加载Servlet类并执行它。在执行期间,该servlet产生HTML格式的输出。输出进一步由Servlet引擎在HTTP响应内传递到Web服务器。

  • Web服务器根据静态HTML内容将HTTP响应转发到浏览器。

  • 最终,Web浏览器将完全像处理静态页面一样处理HTTP响应中动态生成的HTML页面。

下图中可以看到上述所有步骤:
在这里插入图片描述
通常,JSP引擎检查JSP文件是否已经生成对应的servlet,以及JSP上的修改日期是否早于该servlet。如果JSP早于其生成的Servlet,则JSP容器将假定JSP尚未更改,并且生成的Servlet仍与JSP的内容匹配。这使该过程比其他脚本语言(例如PHP)更有效,因此速度更快。

因此,在某种程度上,JSP页面实际上是编写servlet的另一种方式,而不必成为Java编程向导。除了翻译阶段外,JSP页面的处理方式与常规servlet完全相同。

下一篇:JSP-生命周期

发布了29 篇原创文章 · 获赞 10 · 访问量 1554

猜你喜欢

转载自blog.csdn.net/JAVA_php_Jack/article/details/104116699