生活随笔
收集整理的這篇文章主要介紹了
配置tomcat让shtml嵌套文件显示
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
之前,我知道tomcat可以直接解析shtml文件,在瀏覽器中顯示效果來,后來由于需求發(fā)生改變,比如說 在做靜態(tài)化生成的時候一個網(wǎng)站的頭部和底部都是一樣的,如果每個頁面都生成一次,顯然很浪費(fèi)時間,所有我們可以把 這個共同的頭部 和底部挖出來單獨(dú)生成,然后通過shtml嵌套顯示,就可以了。可是怎么導(dǎo)入靜態(tài)頭部和底部呢??有好的標(biāo)簽嗎??有 shtml中有include標(biāo)簽導(dǎo)入外部文件顯示。
例如:<!--#include virtual="${ctx}/web/header.html"-->(這個不是注釋,shtml導(dǎo)入標(biāo)簽就是這么寫的)。
如果直接這樣子使用,tomcat是無法解析的。還需要在tomcat中做兩下簡單的配置:
第一:在 tomcat/conf/context.xml 中加上 privileged="true" ,表示享有特權(quán)的,
第二:在 tomcat/conf/web.xml中 關(guān)于name=“ssi”的servlet 配置取消掉注釋,包括該servlet的映射配置。
如下:
[html]?view plaincopy print?
?????????<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>?????????????????<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>????????????<load-on-startup>4</load-on-startup>??????</servlet>????????????<servlet-mapping>??????????<servlet-name>ssi</servlet-name>??????????<url-pattern>*.shtml</url-pattern>??????</servlet-mapping>??
備注:紅色部分需要手動添加,不然在顯示的頁面中會亂碼。
基本上這樣子配置之后tomcat就回幫你解析shtml的include標(biāo)簽了。感覺還是蠻方便,蠻強(qiáng)大的。
另外:
導(dǎo)入的文件可以不是完整的頁面,就是說可以不用包含html標(biāo)簽,直接寫幾個div什么的也是可以的。
如果在頁面上報錯:??? [an error occurred while processing this directive]? 是因?yàn)閷?dǎo)入的文件不存在引發(fā)的。
總結(jié)
以上是生活随笔為你收集整理的配置tomcat让shtml嵌套文件显示的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。