当客户端浏览器向服务器发出访问一个JSP页面的请求时,服务器根据该请求加载相应的JSP页面,并对该页面进行编译,然后执行。JSP页面的执行过程如下图所示:
- 客户端通过浏览器向服务器发出请求,在该请求中包含了请求的资源的路径,这样当服务器接收到该请求后就可以知道被请求的内容,也就是哪个jsp页面。
2.服务器根据接收到的客户端的请求来加载相应的JSP文件。
3.Web服务器中的JSP引擎会将被加载的JSP文件先转化为Servlet。
4.JSP引擎将生成的Servlet代码编译成Class文件,在这里会进行自动编译 不用跟java文件一样需要自己手动编译文件。
5.服务器执行这个Class文件。
6.最后服务器将执行结果发送给浏览器进行显示。
从上面的解释中可以看到,
(1)JSP文件先被JSP引擎转换后,
(2)后又被编译成了Class文件,
(3)最终由服务器通过执行这个Class文件来对
(4)客户端的请求进行响应。其中第二步和第三步构成了JSP处理过程中的翻译阶段,而第四步则为请求处理阶段。
但并不是每次请求都需要重复进行这样的处理。当服务器第一次接收到对某个页面的请求时, JSP引擎就开始按照上述的处理过程来将被请求的JSP文件编译成Class文件。当再次对该页面进行请求时 ,如果页面没有被修改那么服务器就不会再重新编译他,只有被修改了之后才会重新编译,所以第一次访问比较慢,第二次开始速度就快了。