JSP是一种Servlet,但是与HttpServlet的工作方式不太一样。HttpServlet是先由源代码编译为class文件后部署到服务器上的,先编译后部署。而JSP则是先部署源代码后编译为class文件的,先部署后编译的。Jsp会在客户端第一次请求时编译为HttpJspPage类(接口Servlet的一个子类)。该类会被服务器临时存放在服务器工作目录里面。 客户端第一次请求X.jsp时,Tomcat先将X.jsp转化为标准的java源代码X_jsp.java,存放在tomcat\work\Catalina\localhost\jsp\org\apach\jsp目录下,并将X_jsp.java编译为类文件X_jsp.class.该class文件便是JSP对应的Servlet。编译完毕后再运行class文件来响应客户端请求。以后客户端访问X.jsp时,服务器将不再重新编译JSP文件,而是直接调用X_jsp.class来响应客户端请求。
时间: 2024-10-12 00:32:51