tomcat7 SSI功能配置

在Tomcat中实现SSI,有两种方式:Servlet和Filter。

 

实现SSI支持的Servlet实现使用了org.apache.catalina.ssi.SSIServlet,另外需要在Servlet的路径解析里面添加映射规则“*.shtml”。

实现SSI支持的Filter使用了org.apache.calalina.ssi.SSIFilter。另外,在Filter路径解析里面也需要添加映射规则“*.shtml”,而且在Filter配置的时候需要在映射规则里面添加能够执行的mimetype,contentType的初始化参数允许你执行服务器下边的资源。在Tomcat里面默认是禁用了SSI的。

 

Servlet配置:

(1)修改tomcat根目录下的conf文件夹中的context.xml,修改如下:

  
      
    WEB-INF/web.xml  
  

即在Context 中增加privileged="true"

 

(2)修改tomcat根目录下的conf文件夹中的web.xml,将SSI的Servlet的配置取消注释,并增加编码配置,否则可能出现乱码

  
	ssi  
	  
	  org.apache.catalina.ssi.SSIServlet  
	  
	  
	  buffered  
	  1  
	  
	  
	  inputEncoding  
	  UTF-8  
	  
	  
	  outputEncoding  
	  UTF-8  
	  
	  
	  debug  
	  0  
	  
	  
	  expires  
	  666  
	  
	  
	  isVirtualWebappRelative  
	  false  
	  
	4  
  

 

取消SSI Servlet的mapping注释,增加*.html,因为我们是在html中引入shtml的,如果不配置*.html,则tomcat不会处理html中的ssi指令

  
	ssi  
	*.shtml  
	*.html  
 

 

Filter配置:

(1)修改tomcat根目录下的conf文件夹中的context.xml,修改如下:

  
      
    WEB-INF/web.xml  
  

即在Context 中增加privileged="true"

 

(2)修改tomcat根目录下的conf文件夹中的web.xml,将SSI的Filter的配置取消注释,并增加编码配置,否则可能出现乱码

Filter的相关:

  
	ssi  
	  
	  org.apache.catalina.ssi.SSIFilter  
	  
	  
	  contentType  
	  text/x-server-parsed-html(;.*)?  
	  
	  
	  debug  
	  0  
	  
	  
	  expires  
	  666  
	  
	  
	  isVirtualWebappRelative  
	  0  
	  
 
   

 

FilterMapping相关:

filter-mapping>  
	ssi  
	*.shtml  

Filter配置里面还需要取消另外一个注释,下边的MIME TYPE的服务器支持相关注释

  
	shtml  
	text/x-server-parsed-html  
 

.若要解决乱码问题,根据上边文档需要修改SSI中的启动参数:添加如下代码:

  
  inputEncoding  
  utf-8  
    
    
  outputEncoding  
  utf-8  
  

 

参考:http://bsr1983.iteye.com/blog/2253885;
http://blog.csdn.net/l1028386804/article/details/53526786

你可能感兴趣的:(tomcat7 SSI功能配置)