JSP 容器与 Web 做事器协同互助,为JSP的正常运行供应必要的运行环境和其他做事,并且能够精确识别专属于 JSP 网页的分外元素。
下图显示了 JSP 容器和 JSP 文件在 Web 运用中所处的位置。
JSP 处理
以下步骤表明了 Web 做事器是如何利用JSP来创建网页的:
就像其他普通的网页一样,您的浏览器发送一个 HTTP 要求给做事器。
Web 做事器识别出这是一个对 JSP 网页的要求,并且将该要求通报给 JSP 引擎。通过利用 URL或者 .jsp 文件来完成。
JSP 引擎从磁盘中载入 JSP 文件,然后将它们转化为 Servlet。这种转化只是大略地将所有模板文本改用 println() 语句,并且将所有的 JSP 元素转化成 Java 代码。
JSP 引擎将 Servlet 编译成可实行类,并且将原始要求通报给 Servlet 引擎。
Web 做事器的某组件将会调用 Servlet 引擎,然后载入并实行 Servlet 类。在实行过程中,Servlet 产生 HTML 格式的输出并将其内嵌于 HTTP response 中上交给 Web 做事器。
Web 做事器以静态 HTML 网页的形式将 HTTP response 返回到您的浏览器中。
终极,Web 浏览器处理 HTTP response 中动态产生的HTML网页,就彷佛在处理静态网页一样。
以上提及到的步骤可以用下图来表示:
一样平常情形下,JSP 引擎会检讨 JSP 文件对应的 Servlet 是否已经存在,并且检讨 JSP 文件的修正日期是否早于 Servlet。如果 JSP 文件的修正日期早于对应的 Servlet,那么容器就可以确定 JSP 文件没有被修正过并且 Servlet 有效。这使得全体流程与其他脚本措辞(比如 PHP)比较要高效快捷一些。
总的来说,JSP 网页便是用另一种办法来编写 Servlet 而不用成为 Java 编程高手。除理解释阶段外,JSP 网页险些可以被当成一个普通的 Servlet 来对待。