Tomcat加載JSP原理


Tomcat加載JSP主要有以下幾個類:
JspServlet
JspServletWrapper
JspCompilationContext
JspRuntimeContext
JsperLoader
Compiler
 這幾個類都在jasper.jar包中
 
1.Tomat將http請求通過servlet轉給JspServlet
2.JspServlet在JspRuntimeContext的上下文中查找JspServletWrapper,如果沒有找到就新建實例,找到了話就取出來用
3.JspServletWrapper初始化時也會初始化一個JspCompilationContext
4.JspServlet將請求轉給JspServletWrapper的service方法進行處理
5.JspServletWrapper將判斷系統是否允許重加載this.options.getDevelopment,如果允許將調用JspCompilationContext的編譯方法compile
6.JspCompilationContext的compile方法通過判斷jsp文件的時間戳來決定是否將類加載器JsperLoader的引用置null
7.JspServletWrapper通過getServlet方法從JspCompilationContext加載(load方法)jsp編譯后的class類,並實例化
8.JspCompilationContext類在load時,首先要獲得JsperLoader,如果它為null將新建一個實例,然后讓JsperLoader這個類加載器加載jsp的class
9.JspServletWrapper獲得實例化的servlet后,將把JspServlet轉過來的請求交由這個servlet處理


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM