jsp中文乱码的Filter过滤器配置
2010-02-04 14:58
204 查看
XML code
<filter>
<filter-name>encoding</filter-name>
<filter-class>filter.FilterEncoding</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>gbk</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Java code
package filter;
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;
public class FilterEncoding implements Filter
{
protected String encoding; // 接收字符编码
protected boolean ignore; // 是否忽略大小写
protected FilterConfig filterConfig; // 初始化配置
public void init(FilterConfig filterConfig) throws ServletException
{
// 从web.xml文件中读取encoding的值
encoding = filterConfig.getInitParameter("encoding");
// 从web.xml文件中读取ignore的值
String value = filterConfig.getInitParameter("ignore");
// 以下三种情况均为忽略大小写
if(value == null)
{
ignore = true;
}
else if(value.equalsIgnoreCase("yes"))
{
ignore = true;
}
else if(value.equalsIgnoreCase("true"))
{
ignore = true;
}
}
// doFilter方法
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
{
if(ignore || request.getCharacterEncoding() == null)
{
// 如果为空先从web.xml中得到
String encoding = selectEncoding(request);
if(encoding != null)
{
// 设置字符集编码
request.setCharacterEncoding(encoding);
}
}
// 继续执行
chain.doFilter(request, response);
}
// 得到字符编码
private String selectEncoding(ServletRequest request)
{
return encoding;
}
public void destroy()
{
}
}
如果是url的get提交参数带中文的
可以改下面这个文件,加入一个URIEncoding="GBK"
X:/Tomcat 5.5/conf/Server.xml
<Connector
port="8080"
redirectPort="8443"
minSpareThreads="25"
connectionTimeout="30"
maxThreads="150"
maxSpareThreads="75"
URIEncoding="GBK">
jsp头文件
HTML code
<%@ page contentType="text/html;charset=gbk"%>
//此处的charset的值要和web.xml里的 <param-value> </param-value>值一样
<filter>
<filter-name>encoding</filter-name>
<filter-class>filter.FilterEncoding</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>gbk</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Java code
package filter;
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;
public class FilterEncoding implements Filter
{
protected String encoding; // 接收字符编码
protected boolean ignore; // 是否忽略大小写
protected FilterConfig filterConfig; // 初始化配置
public void init(FilterConfig filterConfig) throws ServletException
{
// 从web.xml文件中读取encoding的值
encoding = filterConfig.getInitParameter("encoding");
// 从web.xml文件中读取ignore的值
String value = filterConfig.getInitParameter("ignore");
// 以下三种情况均为忽略大小写
if(value == null)
{
ignore = true;
}
else if(value.equalsIgnoreCase("yes"))
{
ignore = true;
}
else if(value.equalsIgnoreCase("true"))
{
ignore = true;
}
}
// doFilter方法
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
{
if(ignore || request.getCharacterEncoding() == null)
{
// 如果为空先从web.xml中得到
String encoding = selectEncoding(request);
if(encoding != null)
{
// 设置字符集编码
request.setCharacterEncoding(encoding);
}
}
// 继续执行
chain.doFilter(request, response);
}
// 得到字符编码
private String selectEncoding(ServletRequest request)
{
return encoding;
}
public void destroy()
{
}
}
如果是url的get提交参数带中文的
可以改下面这个文件,加入一个URIEncoding="GBK"
X:/Tomcat 5.5/conf/Server.xml
<Connector
port="8080"
redirectPort="8443"
minSpareThreads="25"
connectionTimeout="30"
maxThreads="150"
maxSpareThreads="75"
URIEncoding="GBK">
jsp头文件
HTML code
<%@ page contentType="text/html;charset=gbk"%>
//此处的charset的值要和web.xml里的 <param-value> </param-value>值一样
相关文章推荐
- 如何配置Filter过滤器处理JSP中文乱码
- 如何配置Filter过滤器处理JSP中文乱码(转)
- 如何配置Filter过滤器处理JSP中文乱码<参考>
- 如何配置Filter过滤器处理JSP中文乱码
- 如何配置Filter过滤器处理JSP中文乱码
- JSP,mysql,tomcat下(基于struts2)中文及其乱码问题的解决 5大配置点 使用UTF-8编码
- springmvc 配置默认路径 以及 Jsp include跳转controller 以及 url get访问中文乱码
- 中文乱码问题解决,过滤器配置,get post提交乱码,filter,struts乱码,jsp乱码
- jsp配置fckeditor2.6以及中文乱码处理
- java web中配置Filter解决jsp中文乱码问题
- java web中配置Filter解决jsp中文乱码问题
- JSP中servlet传值时中文乱码问题
- jsp与servlet中文乱码问题(转)
- Java/JSP中文乱码问题
- JSP显示中文有乱码怎么办
- jsp向mysql数据库添加中文出现乱码的解决方案
- JSP页面中文乱码
- JS.中文乱码,Jsp\Servlet端的解决办法
- JSP页面调用js中文乱码
- jsp包含html文件中文显示乱码的解决方法