首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

tomcat配备ssi乱码分析

2012-09-08 
tomcat配置ssi乱码分析1Tomcat6 中配置ssi1.1 导入servlets-ssi-5.0.16.jar到tomcat安装目录/lib下,网上说

tomcat配置ssi乱码分析
1         Tomcat6 中配置ssi1.1 导入servlets-ssi-5.0.16.jar到tomcat安装目录/lib下,网上说tomcat自带ssi包,但我没有找到1.2 在tomcat安装目录/conf/web.xml中将ssi的servlet 和servlet-mapping的注释标签去掉1.3 在ssi的servlet配置中增加下边的标签,这部分是测试的重点

        <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>

 

1.4 在tomcat安装目录/conf/context.xml中设置红色部分:

<Context privileged="true">

    <WatchedResource>WEB-INF/web.xml</WatchedResource>

</Context>

 

这样tomcat下的ssi就配置成功了!

2         ssi乱码测试2.1 测试环境

tomcat-6.0.33

jdk1.6.0_23

servlets-ssi-5.0.16.jar

2.2 测试文件

index.shtml

<!DOCTYPEhtml>

<html>

  <head>

   <metahttp-equiv="content-type"content="text/html; charset=utf-8"/>

    <title>index.html</title>

    <meta http-equiv="keywords"content="keyword1,keyword2,keyword3"/>

    <meta http-equiv="description"content="this is my page"/>

 

  </head>

 

  <body>

    This is my HTML page. <br>

    包含页面<br/>

    <!--#include file="content.html"-->

  </body>

</html>

 

content.html

<h1>被包含页面content.html</h1>

2.3 测试结果,箭头经过的地方表示使用相应的编码2.3.1      index.shtml文件是utf-8编码,charset=utf-8,content.html文件是utf-8编码 tomcat配备ssi乱码分析2.3.2      index.shtml文件是utf-8编码,charset=gb2312,content.html文件是ansi编码

tomcat配备ssi乱码分析 

2.3.3      index.shtml文件是utf-8编码,charset=utf-8,content.html文件是ansi编码

tomcat配备ssi乱码分析 

2.3.4      index.shtml文件是utf-8编码,charset=gb2312,content.html文件是utf-8编码

tomcat配备ssi乱码分析 

2.4 测试结论

本文只对index.shtml的utf-8编码情况进行测试,没有对index.shtml的ansi编码情况进行测试。因为开发中文件多使用utf-8编码,所以目前的结果还是有意义的。

 

基于以上四个测试结果,可以看出页面正常显示的关键是以下四个编码要一致,当前测试环境下outputEncoding不影响页面正常显示,但是为了安全起见还是设置成一致的编码为好。

charset=

content.html文件编码

inputEncoding

 

基于2.3.3和2.3.4的测试结果可以看出:

charset和inputEncoding编码一致时,index.shtml内容正常

content.html和inputEncoding编码一致时,content.html内容正常

 

 

 

热点排行