JSP的工作原理
对于程序员来说,只有懂得JSP工作原理才能真正理解JSP,在此我总结一下JSP的工作原理。1、在服务器端有一个JSP容器主要负责获得对JSP页面的请求。当一个JSP页面第一次被请求时,容器首先会把JSP页面转换成Servlet。在转换时,所有的HTML标签将被包含在println()语句中,所有JSP元素将会被转换成Java代码。
2、在转换的过程中,若发现JSP页面中存在语法错误,则转换将会被终止,并向服务器和客户端输出错误的信息。如若转换成功,则转换后的Servlet会被编译成相应的class文件。因编译的过程会耗一点时间,所以第一次访问该页面的响应时间会比较长。
3、 JSP容器还负责调用从JSP转换而来的Servlet,该Servlet负责提供服务响应用户的请求。在调用Servlet使,首先执行其 jspInit()方法,(jspInit()方法在Servlet的生命周期中只被执行一次),然后调用jspInit()方法进行处理客户端请求。对 客户端发送的每一次请求,JSP容器都会创建一个新的线程来处理请求。如若有多个客户端同时请求该JSP文件,则JSP容器会被创建多个线程,每个客户端 请求对应一个线程。
4、如果.jsp文件被修改了,服务器将根据设置决定是否对该文件进行重新编译,如果需要,则将编译结果取代内存中的Servlet,并继续上述处理过程。
5、当Servlet被处理后,调用jspDestory()方法结束他他/她的生命周期,同时被JVM的垃圾回收器回收。
JSP的工作原理图如下图所示:
没有评论:
发表评论