解决Apache Tomcat中shtml文件include jsp文件时中文显示乱码的方法
今天在Apache Tomcat中调试jsp程序时遇到一个问题,我发现随便建一个shtml文件,然后里面include(包含)一个jsp文件,jsp文件的内容很简单,直接输出一段中文字,发现在浏览器中运行输出的都是乱码,当然我的Apache Tomcat中已经开启了SSI功能,是支持shtml的。于是在网上搜索答案,说在jsp文件的头部加入一行语句:<%@ page contentType="text/html; charset=gbk"%>,我加了之后依然无效,百思不得其解。最终经过无数次调试后才有结果。
这里我省略在Apache Tomcat中开启SSI功能用来支持shtml的方法,详情请参看本站文章:《开启Apache Tomcat中的SSI功能(用来支持shtml)》
其实造成shtml文件include jsp文件时中文显示乱码的原因不是jsp代码的问题,问题还是出在Apache Tomcat的配置上,具体的解决方法如下:
1、找到$tomcat/conf/web.xml文件(其中的$tomcat为Apache Tomcat的安装路径)
2、用记事本打开web.xml,找到如下代码:
<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>
<load-on-startup>4</load-on-startup>
</servlet>
3、在上面代码<load-on-startup>4</load-on-startup>的上面加入如下代码:
<init-param>
<param-name>inputEncoding</param-name>
<param-value>gbk</param-value>
</init-param>
<init-param>
<param-name>outputEncoding</param-name>
<param-value>gbk</param-value>
</init-param>
代码中的gbk可根据你实际情况来改变,因为我的网页都是使用的gbk编码,所以这里我用gbk;如果你的网页使用的是utf-8编码,那你设置成utf-8即可。
4、重启Apache Tomcat即可。
如果觉得
《解决Apache Tomcat中shtml文件include jsp文件时中文显示乱码的方法》服务器应用,服务器知识,服务器教程不错,可以推荐给好友哦。
本文Tags: 电脑教学 - 服务器应用,服务器知识,服务器教程,