龍傲魂

          新年不給力,單位網絡太差
          posts - 2, comments - 0, trackbacks - 0, articles - 0
             ::  ::  ::  ::  :: 管理

          tomcat支持shtml

          Posted on 2011-02-21 17:22 龍傲魂 閱讀(1194) 評論(0)  編輯  收藏 所屬分類: Tomcat技巧

          SHTML介紹:http://baike.baidu.com/view/31870.htm?fr=ala0_1_1

           

          tomcat版本5.X
          1、將tomcat 的server\lib目錄下servlets-ssi.renametojar文件重命名為servlets-ssi.jar。
          2、修改tomcat的 conf目錄下web.xml文件,找到如下代碼:
           <servlet>
                  <servlet-name>ssi</servlet-name>
                  <servlet-class>
                   org.apache.catalina.ssi.SSIServlet
                  </servlet-class>
                  <init-param>
                   <param-name>buffered</param-name>
                   <param-value>1</param-value>
                  </init-param>
                  <init-param>
                    <param-name>debug</param-name>
                    <param-value>0</param-value>
                  </init-param>
                  <init-param>
                    <param-name>expires</param-name>
                    <param-value>666</param-value>
                  </init-param>
                  <init-param>
                    <param-name>isVirtualWebappRelative</param-name>
                    <param-value>0</param-value>
                  </init-param>
                  <load-on-startup>4</load-on-startup>
                </servlet>

          將其注釋符號去掉,即把代碼頂部的刪除即可。
          3、去掉servlet映射的注釋,即把下面代碼中的注釋符號去掉即可。

           <servlet-mapping>
                 <servlet-name>ssi</servlet-name>
                 <url-pattern>*.shtml</url-pattern>
                </servlet-mapping>

          4、 然后重啟 tomcat

          tomcat版本6.X
          你也可能遇到了:java.lang.SecurityException: Filter of class org.apache.catalina.ssi.SSIFilter is privileged and cannot be loaded by this web application
          tomcat 6 SSI的配置與5.x版本不同,從網上搜索的結果來看,5.xx中要改一個.jar中的文件,而6.x中,卻沒有這個文件


          1.首先想到的還是看官方文檔http://tomcat.apache.org/tomcat-6.0-doc/ssi-howto.html,文檔里說得很清楚:只需把
          $CATALINA_BASE/conf/web.xml文件里ssi 相關的 servlet servlet-mapping   filter filter-mapping注釋去掉就行

           

          2 啟動,出錯,報了一個安全方面的異常,
          java.lang.SecurityException: Filter of class org.apache.catalina.ssi.SSIFilter is privileged and cannot be loaded by this web application再看文檔還有這樣一句話:Only Contexts which are marked as privileged may use SSI features (see the privileged property of the Context element).

          【1】$CATALINA_BASE/conf/servlet.xml下的當前項目的 Context中加入了privileged="true"的屬性。

          3.我使用的版本 6.0.13中
          $CATALINA_BASE/conf/下還有一個context.xml 這里面也有一個context的元素, 加上 privileged="true" 屬性后,再啟動,這次啟動成功了


          補充:以上的配置并沒有解決亂碼問題

          亂碼的解決:在

          $CATALINA_BASE/conf/web.xml中的ssi servlet配置中添加以下初始配置:

                  <init-param>

                    <param-name>inputEncoding</param-name>

                    <param-value>utf-8</param-value>

                  </init-param>

                  <init-param>

                    <param-name>outputEncoding</param-name>

                    <param-value>utf-8</param-value>

                  </init-param>

          其中

          utf-8應該與你頁面的編碼方式相同


          在shtml頁面里

          <!--#include file="test.html"-->就可以引用靜態文件了


          只有注冊用戶登錄后才能發表評論。


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 承德市| 大埔区| 寻甸| 镇赉县| 荥经县| 舟山市| 始兴县| 黎城县| 莒南县| 垫江县| 凤凰县| 华蓥市| 内黄县| 安乡县| 汉川市| 新宁县| 舒城县| 苏尼特左旗| 腾冲县| 高安市| 滦平县| 宝丰县| 东港市| 清涧县| 濉溪县| 永寿县| 南乐县| 浪卡子县| 武义县| 波密县| 扶余县| 慈利县| 金阳县| 台东市| 宜兰市| 东港市| 娄烦县| 济阳县| 清丰县| 合肥市| 漳州市|