日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

配置tomcat让shtml嵌套文件显示

發(fā)布時(shí)間:2024/9/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 配置tomcat让shtml嵌套文件显示 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

之前,我知道tomcat可以直接解析shtml文件,在瀏覽器中顯示效果來(lái),后來(lái)由于需求發(fā)生改變,比如說(shuō) 在做靜態(tài)化生成的時(shí)候一個(gè)網(wǎng)站的頭部和底部都是一樣的,如果每個(gè)頁(yè)面都生成一次,顯然很浪費(fèi)時(shí)間,所有我們可以把 這個(gè)共同的頭部 和底部挖出來(lái)單獨(dú)生成,然后通過(guò)shtml嵌套顯示,就可以了。可是怎么導(dǎo)入靜態(tài)頭部和底部呢??有好的標(biāo)簽嗎??有 shtml中有include標(biāo)簽導(dǎo)入外部文件顯示。

例如:<!--#include virtual="${ctx}/web/header.html"-->(這個(gè)不是注釋,shtml導(dǎo)入標(biāo)簽就是這么寫(xiě)的)。

如果直接這樣子使用,tomcat是無(wú)法解析的。還需要在tomcat中做兩下簡(jiǎn)單的配置:

第一:在 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>??
  • ???????<!---?<span?style="color:#FF0000;">這里需要手動(dòng)添加</span>?-->??
  • ????????<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>??

  • 備注:紅色部分需要手動(dòng)添加,不然在顯示的頁(yè)面中會(huì)亂碼。

    基本上這樣子配置之后tomcat就回幫你解析shtml的include標(biāo)簽了。感覺(jué)還是蠻方便,蠻強(qiáng)大的。

    另外:

    導(dǎo)入的文件可以不是完整的頁(yè)面,就是說(shuō)可以不用包含html標(biāo)簽,直接寫(xiě)幾個(gè)div什么的也是可以的。

    如果在頁(yè)面上報(bào)錯(cuò):??? [an error occurred while processing this directive]? 是因?yàn)閷?dǎo)入的文件不存在引發(fā)的。

    總結(jié)

    以上是生活随笔為你收集整理的配置tomcat让shtml嵌套文件显示的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。