無為

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

            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 草兒 閱讀(2262) 評論(2)  編輯  收藏 所屬分類: ajaxjavaJAVA WEB應用

          Feedback

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

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

          主站蜘蛛池模板: 汤原县| 拉孜县| 巴彦县| 腾冲县| 大竹县| 巴林左旗| 古田县| 湘西| 中山市| 大港区| 福建省| 石阡县| 肃北| 康保县| 新泰市| 自贡市| 高邑县| 宝清县| 扶风县| 环江| 临西县| 连平县| 谷城县| 连州市| 麻江县| 陆川县| 定陶县| 沛县| 海原县| 云南省| 金门县| 罗城| 丹棱县| 界首市| 崇信县| 厦门市| 西安市| 苏州市| 修武县| 安康市| 呼伦贝尔市|