愚人碼頭

          知恥而后勇,知不足而進
          隨筆 - 33, 文章 - 1, 評論 - 26, 引用 - 0
          數據加載中……

          JSP編譯過程

          很久以來,都知道JSP其實就是Servlet,今天心血來潮,想把里面的具體代碼看一遍,并記錄心得。
          一個編譯好的JSP類如下:
          public
           final class index_jsp extends HttpJspBase
              
          implements JspSourceDependent
          //上述類為index.jsp被編譯后得到的類
          //HttpJspBase是extends HttpServlet的一個類
          //JspSourceDependent是一個接口,只聲明了一個方法、、getDependants(),返回當前page所依賴的文件的名稱,文件包括以下幾種
          //1) files that are included by page directives 
          //2) files that are included by include-prelude and include-coda in jsp:config 
          //3) files that are tag files and referenced 
          //4) TLDs referenced
          其核心方法為:
            public void _jspService(HttpServletRequest request, HttpServletResponse response)
                  
          throws IOException, ServletException{
          .
          }
          該方法重載HttpJspBase中的_jspService方法,進行頁面解析,包括對scriptlet的加載,html的生成,自定義Tag的解析等等
          HttpJspBase的service再對_jspService再進行調用,最終生成HTML頁面

          posted on 2007-12-18 12:06 船夫 閱讀(1915) 評論(1)  編輯  收藏 所屬分類: java技術

          評論

          # re: JSP編譯過程[未登錄]  回復  更多評論   

          太難簡單了點
          2009-03-10 13:47 | Dennis
          主站蜘蛛池模板: 乌恰县| 永安市| 阿拉善右旗| 丰都县| 麻江县| 永泰县| 彰武县| 渑池县| 兴海县| 平遥县| 安达市| 天等县| 康乐县| 海晏县| 贺兰县| 弥勒县| 普兰县| 塔城市| 房产| 凯里市| 涪陵区| 大冶市| 西平县| 黄浦区| 瑞丽市| 黄冈市| 辽宁省| 保山市| 烟台市| 衡水市| 都江堰市| 泰和县| 崇信县| 蒙城县| 嘉黎县| 沧源| 云和县| 玉林市| 辽宁省| 菏泽市| 南漳县|