無為

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

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

          Feedback

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

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

          主站蜘蛛池模板: 武义县| 华池县| 呼和浩特市| 黄陵县| SHOW| 信丰县| 新营市| 武威市| 普陀区| 宜城市| 那坡县| 确山县| 武宁县| 淮滨县| 理塘县| 新津县| 连江县| 喀喇| 长武县| 社旗县| 女性| 民丰县| 建平县| 防城港市| 罗山县| 无极县| 分宜县| 广元市| 新和县| 苏尼特右旗| 青神县| 富平县| 通化市| 淮南市| 邵武市| 个旧市| 堆龙德庆县| 潞城市| 阜新| 延庆县| 佛学|