小编典典

jsp如何工作?

jsp

我想知道JSP是否曾经编译过吗?我之所以要问的原因是因为每当我在Web服务器上部署Java EE应用程序时,在编译时,它们只会在WEB-
INF文件夹中看到那些servlet和bean类文件,但看不到JSP,因此它是如何工作的,正常的请求/响应周期的逻辑流程和概况如何?


阅读 299

收藏
2020-06-08

共1个答案

小编典典

基本上:

  • 在您的Servlet容器中,JSP Servlet映射到任何以.jsp(通常)结尾的URL

  • .jsp请求这些URL 之一时,请求将转到JSP servlet。然后,该servlet检查JSP是否已经编译。

  • 如果尚未编译JSP,则JSP Servlet会将JSP转换为实现该Servlet接口的某些Java源代码。然后,它将此Java源代码编译为.class文件。该.class文件通常位于该应用程序的servlet容器的工作目录中的某个位置。

  • 一旦JSP servlet从JSP源代码编译了servlet类,它就将请求转发到该servlet类。

关键是,除非您专门预编译JSP,否则所有这些操作都将在运行时发生,并隐藏在servlet容器的工作目录中,因此它是“不可见的”。还请记住,这是“概念上”发生的事情,在此工作流程中可以进行几种优化。

2020-06-08