目录

JSP - 架构( Architecture)

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

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

下图显示了JSP容器和JSP文件在Web应用程序中的位置。

JSP架构

JSP处理

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

  • 与普通页面一样,您的浏览器会向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服务器根据静态HTML内容将HTTP响应转发到您的浏览器。

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

所有上述步骤均可在下图中看到 -

JSP处理

通常,JSP引擎检查JSP文件的servlet是否已存在,以及JSP上的修改日期是否早于servlet。 如果JSP比其生成的servlet旧,则JSP容器假定JSP未更改,并且生成的servlet仍与JSP的内容匹配。 这使得该过程比使用其他脚本语言(例如PHP)更高效,因此更快。

所以在某种程度上,JSP页面实际上只是编写servlet的另一种方式,而不必是Java编程。 除了转换阶段之外,JSP页面的处理方式与常规servlet完全相同。

↑回到顶部↑
WIKI教程 @2018