無為

          無為則可為,無為則至深!

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            190 Posts :: 291 Stories :: 258 Comments :: 0 Trackbacks
          1、將WEB應用部署到TOMCAT容器,容器啟動讀取應用的部署文件web.xml,但不對.jsp文件做任何處理請求。
          2、客戶點擊連接請求某個.jsp文件,容器開始將.jsp文件轉換為一個servrlet類的.java源代碼。查看指令,得到轉換的可能需要的信息。創建一個HttpServlet子類,對于Tomcat5所生成的servlet會擴展org.apache.jasper.runtime.HttpJspBase類。若有一個page指令有import屬性,生成的類文件的最上面會寫入import語句。例如在Tomcat5中加入包語句:package org.apache.jsp;若有聲明容器將這些聲明寫道類文件,通常放在服務方法的下面。Tomca5聲明了自己的一個靜態方法和一個實例方法。然后建立服務方法,方法名為_jspService()。所生成的servlet會覆蓋servlet超類的service()方法。_jspService()直接由service()調用,要接收HttpServletRequest和HttpServletResponse參數。在建立這個方法的時候,容器會聲明并初始化所有的隱式對象。將普通的HTML(模板文件)、scrptlet和表達式放到服務方法里,進行格式化,并寫至PrintWrite響應輸出。
          3、容器嘗試將這個servlet.java源文件編譯為.class文件。
          4、容器家在新生成的servlet類。
          5、容器實例化servlet,并導致servlet的jspInit()方法運行。對象現在已成為一個完整的servlet準備就緒,接受客戶的請求。
          6、容器創建一個新線程來處理客戶請求,servlet的service()方法運行。以后的處理同普通的servlet處理過程。最終servlet向客戶返回一個響應。
          需要注意的是:在JSP生命周期中,JSP的轉換和編譯過程只發生一次。一旦第一次編譯完成,以后的調用同普通的servlet一樣。大多數容器開發商提供預轉化和編譯的辦法,是這些工作提前完成。


          凡是有該標志的文章,都是該blog博主Caoer(草兒)原創,凡是索引、收藏
          、轉載請注明來處和原文作者。非常感謝。

          posted on 2007-07-14 14:43 草兒 閱讀(2265) 評論(2)  編輯  收藏 所屬分類: ajax 、javaJAVA WEB應用

          Feedback

          # re: JSP在TOMCAT中的處理生命周期 2007-07-15 21:13 Ryan
          nice!  回復  更多評論
            

          # re: JSP在TOMCAT中的處理生命周期[未登錄] 2008-11-08 12:18 小毅
          很棒~!??!  回復  更多評論
            

          主站蜘蛛池模板: 奎屯市| 阿勒泰市| 法库县| 泰来县| 海城市| 西城区| 兴安县| 西吉县| 西盟| 铅山县| 秦安县| 上林县| 吐鲁番市| 旬阳县| 霍城县| 澄城县| 霸州市| 玛纳斯县| 柯坪县| 哈巴河县| 嘉峪关市| 元江| 西华县| 合肥市| 千阳县| 曲靖市| 确山县| 东丽区| 江永县| 枣强县| 电白县| 锡林郭勒盟| 哈密市| 溧水县| 门头沟区| 岢岚县| 五河县| 沾化县| 洪湖市| 鹤壁市| 怀化市|