參考鏈接:
http://www.cnblogs.com/jason-star/p/3345225.html
http://blog.csdn.net/jsxzzliang/article/details/47022055
使用SHTML進行公共頭部和底部的引用
SHTML介紹:shtml是一種基於SSI技術的文件,也就是Server Side Include--SSI 服務器端包含指令,一些Web Server如果有SSI功能的話就會對shtml文件特殊招待,服務器會先掃一次shtml文件看沒有特殊的SSI指令存在,如果有的話就按Web Server設定規則解釋SSI指令,解釋完后跟一般html一起調去客戶端。
SHTML的優點:使用ssi技術頁面生成shtml文件,只用在頭部文件位置加入<!--#include virtual="header.htm" -->/<!--#include file="header.htm" -->,其中第一個表示相對於服務器的路徑,第二個表示文件的相對路徑。然后修改的時候只要修改header.htm文件就可以了。使用shtml的好處是對搜索引擎比較友好,需要處理的文件在服務器端完成的,不會加重訪問者的瀏覽器負擔。
使用步驟:以tomcat作為服務器示例
1、找到Tomcat\conf\web.xml 文件,打開注釋 <servlet-name>ssi</servlet-name>
<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>
<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>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>
<init-param>
<param-name>expires</param-name>
<param-value>666</param-value>
</init-param>
<init-param>
<param-name>isVirtualWebappRelative</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>4</load-on-startup>
</servlet>
2、打開mapping,同時修改.shtml為html。修改后效果如下:
<servlet-mapping>
<servlet-name>ssi</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>