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)更g高效,因此速度更快。因此,从某种意义上说,JSP页面实际上是编写servlet的另一种方式,而不必成为Java编程向导。除了翻译阶段外,JSP页面的处理方式与常规servlet完全相同。