tomcat 7 SSI機能構成

3961 ワード

TomcatでSSIを実装するには、サーブレットとFilterの2つの方法があります.
 
SSIサポートを実現するサーブレット実装にはorgが使用する.apache.catalina.ssi.SSIServletは、サーブレットのパス解析にマッピングルール「*.shtml」を追加する必要があります.
SSIのサポートを実現するFilterはorgを使用する.apache.calalina.ssi.SSIFilter.また,Filterパス解析にはマッピングルール「*.shtml」を追加する必要があり,またFilter構成時にはマッピングルールに実行可能なmimetypeを追加する必要があり,contentTypeの初期化パラメータによりサーバの下側のリソースを実行できる.TomcatではデフォルトでSSIが無効になっています.
 
サーブレット構成:
(1)tomcatルートディレクトリのconfフォルダのcontextを変更する.xml、次のように変更します.
  
      
    WEB-INF/web.xml  
  

すなわちContextにprivileged="true"を追加する
 
(2)tomcatルートディレクトリのconfフォルダのwebを変更する.xml,SSIのサーブレットの配置を注釈を取り消して、そして符号化の配置を増加して、さもなくば文字化けして現れるかもしれません
  
	ssi  
	  
	  org.apache.catalina.ssi.SSIServlet  
	  
	  
	  buffered  
	  1  
	  
	  
	  inputEncoding  
	  UTF-8  
	  
	  
	  outputEncoding  
	  UTF-8  
	  
	  
	  debug  
	  0  
	  
	  
	  expires  
	  666  
	  
	  
	  isVirtualWebappRelative  
	  false  
	  
	4  
  

 
SSIサーブレットの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