無為

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

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


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

          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 小毅
          很棒~!!!  回復  更多評論
            

          主站蜘蛛池模板: 中江县| 新沂市| 武隆县| 张家口市| 盱眙县| 丁青县| 东安县| 娱乐| 柳林县| 青神县| 从江县| 禄丰县| 砚山县| 廊坊市| 盘锦市| 溧阳市| 娄烦县| 临夏市| 白水县| 伊金霍洛旗| 盘山县| 泽库县| 色达县| 沂源县| 河津市| 广灵县| 江川县| 青州市| 靖远县| 简阳市| 侯马市| 宁强县| 容城县| 会东县| 左权县| 宜阳县| 岳阳县| 张家界市| 阿克苏市| 肇源县| 随州市|