一、Include的页面乱码
现象:include进来的页面出现乱码,其它页面正常。
原因:Tomcat在缺省情况下使用ISO-8859-1编码,但是在include时有时Tomcat不能正确根据外层.jsp文件的编码解析include进来的文件,造成include进来的文件中的中文乱码。
解决:这儿可以有很多解决办法,但是对于我们的中文环境,从根本上的解决办法是将Tomcat 5.0.19的核心缺省编码从ISO-8859-1修改为GBK 。可以在下面地址下载修改过的jar文件,
jasper-compiler.jar,jasper-runtime.jar位于/common/lib下,其它位于/server/lib下,将新的.jar文件替代原.jar即可。
二、提交的数据乱码
现象:通过表单提交的数据出现乱码。
原因:原因未明。可能是Tomcat在接收到请求后,并没有能够根据request中的信息提前正确的编码方式。
解决:可以添加一个设置字符集的Filter。
//=================初学者注意,请将此文件放在WEB-INF\classes\filters下,
//注意先以SetCharacterEncodingFilter.java保存,然后编译一下,推荐使用eclipse
package filters;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.UnavailableException;
public class SetCharacterEncodingFilter implements Filter {
protected String encoding = null;
protected FilterConfig filterConfig = null;
protected boolean ignore = true;
public void destroy() {
this.encoding = null;
this.filterConfig = null;
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)
throws IOException, ServletException {
// Conditionally select and set the character encoding to be used
if (ignore || (request.getCharacterEncoding() == null)) {
String encoding = selectEncoding(request);
if (encoding != null)
request.setCharacterEncoding(encoding);
}
// Pass control on to the next filter
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
this.encoding = filterConfig.getInitParameter("encoding");
String value = filterConfig.getInitParameter("ignore");
if (value == null)
this.ignore = true;
else if (value.equalsIgnoreCase("true"))
this.ignore = true;
else if (value.equalsIgnoreCase("yes"))
this.ignore = true;
else
this.ignore = false;
}
protected String selectEncoding(ServletRequest request) {
return (this.encoding);
}
}
//==================这段代码是我在网上摘录的,因为不知到出处所以无法标明作者
//然后将下面<filter>开始的代码加入到web.xml中,它位于WEB-INF下。
//配置web.xml
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
分享到:
相关推荐
标题中的“tomcat下catalina.out日志乱码问题处理”主要涉及的是在Tomcat服务器运行过程中,输出的日志文件`catalina.out`中,中文字符显示为乱码的状况。这通常是由于字符编码不匹配导致的,因为Tomcat在读取或写入...
apache-tomcat-9.0.27.tar (1)apache-tomcat-9.0.27.tar (1)apache-tomcat-9.0.27.tar (1)apache-tomcat-9.0.27.tar (1)apache-tomcat-9.0.27.tar (1)apache-tomcat-9.0.27.tar (1)apache-tomcat-9.0.27.tar (1)...
Apache Tomcat 软件是Jakarta Servlet、 Jakarta Server Pages、 Jakarta Expression Language、 Jakarta WebSocket、 Jakarta Annotations和 Jakarta Authentication 规范的开源实现 。 压缩包内容: apache-...
apache-tomcat-9.0.45-windows-x64apache-tomcat-9.0.45-windows-x64apache-tomcat-9.0.45-windows-x64apache-tomcat-9.0.45-windows-x64apache-tomcat-9.0.45-windows-x64apache-tomcat-9.0.45-windows-x64apache-...
apache-tomcat-8.5.78-windows-x64安装包 apache-tomcat-8.5.78-windows-x64安装包 apache-tomcat-8.5.78-windows-x64安装包 apache-tomcat-8.5.78-windows-x64安装包 apache-tomcat-8.5.78-windows-x64安装包 ...
1. **tomcat-jdbc.jar**: 这个jar文件包含了Tomcat的JDBC连接池实现。它提供了一个灵活且高性能的解决方案,用于管理数据库连接。Tomcat-jdbc连接池支持自动故障检测、空闲连接检查、连接有效性验证以及自动重连接...
1. 安装与配置Apache Tomcat 8.5.100: - 下载:首先从Apache官方网站下载"apache-tomcat-8.5.100.tar.gz"压缩文件。 - 解压:使用tar命令解压缩,例如`tar -zxvf apache-tomcat-8.5.100.tar.gz`。 - 配置环境...
5. **启动、停止和管理**:Apache Tomcat提供了一系列的脚本用于管理服务,如`bin/startup.sh`用于启动Tomcat,`bin/shutdown.sh`用于关闭Tomcat。这些脚本需要使用`sudo`权限执行。 6. **配置**:Tomcat的配置文件...
Apache Tomcat 是一款开源的Java Servlet容器,常用于部署Java Web应用程序。在Linux环境中,它作为Java Enterprise Edition(Java EE)的一部分,为开发者提供了一个轻量级的服务器平台。"apache-tomcat-8.5.64.tar...
apache-tomcat-8.5.100.zip;apache-tomcat-8.5.100.exe;apache-tomcat-8.5.100-linux.tar.gz;apache-tomcat-8.5.100-windows-x64.zip;apache-tomcat-8.5.100-windows-x86.zip;
tomcat-9.0.96 windows安装包,apache-tomcat-9.0.96-windows-x64.zip
apache-tomcat-8.5.99安装包(含windows和linux版本).zip包含如下内容: apache-tomcat-8.5.99-windows-x64.zip; apache-tomcat-8.5.99-windows-x86.zip; apache-tomcat-8.5.99.exe; apache-tomcat-8.5.99.tar....
apache-tomcat-8.5.87安装包(含windows和linux版本).zip包含如下内容: apache-tomcat-8.5.87-windows-x64.zip; apache-tomcat-8.5.87-windows-x86.zip; apache-tomcat-8.5.87.exe; apache-tomcat-8.5.87.tar....
apache-tomcat-8.5.96安装包(含windows和linux版本).zip包含如下内容: apache-tomcat-8.5.96-windows-x64.zip; apache-tomcat-8.5.96-windows-x86.zip; apache-tomcat-8.5.96.exe; apache-tomcat-8.5.96.tar....
apache-tomcat-9.0.93安装包(含windows和linux版本).zip包含如下内容: apache-tomcat-9.0.93-windows-x64.zip; apache-tomcat-9.0.93-windows-x86.zip; apache-tomcat-9.0.93.exe; apache-tomcat-9.0.93.tar....
apache-tomcat-8.5.93安装包(含windows和linux版本).zip包含如下版本: apache-tomcat-8.5.93.zip; apache-tomcat-8.5.93-windows-x64.zip; apache-tomcat-8.5.93-windows-x86.zip; apache-tomcat-8.5.93.exe;...
tomcat安装及配置教程;apache-tomcat-8.5.89安装包(含windows和linux版本).zip包含如下内容:apache-tomcat-8.5.89-windows-x64.zip; apache-tomcat-8.5.89-windows-x86.zip; apache-tomcat-8.5.89.exe; ...
apache-tomcat-7.0.109安装包(含windows和linux版本).zip包含如下内容: apache-tomcat-7.0.109-windows-x64.zip; apache-tomcat-7.0.109-windows-x86.zip; apache-tomcat-7.0.109.exe; apache-tomcat-7.0.109....
apache-tomcat-9.0.45-srcapache-tomcat-9.0.45-srcapache-tomcat-9.0.45-srcapache-tomcat-9.0.45-srcapache-tomcat-9.0.45-srcapache-tomcat-9.0.45-srcapache-tomcat-9.0.45-srcapache-tomcat-9.0.45-srcapache-...
apache-tomcat-8.5.91安装包(含windows和linux版本).zip包含如下版本: apache-tomcat-8.5.91-windows-x64.zip; apache-tomcat-8.5.91-windows-x86.zip; apache-tomcat-8.5.91.exe; apache-tomcat-8.5.91.tar....