您的位置:首页 > 其它

过滤器get中文乱码问题解决

2011-11-23 20:48 447 查看
xml代码:

<filter>

<filter-name>encoding</filter-name>

<filter-class>

filter.FilterEncoding
</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>UTF-8</param-value>

</init-param>

</filter>

Java代码 :

package cn.class3g.web.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;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

//全站编码过滤器

public class CharacterEncodingFilter implements Filter {

private String encoding; //接收字符编码

private FilterConfig filterConfig;// 初始化配置

public void init(FilterConfig filterConfig) throws ServletException {

// 从web.xml文件中读取encoding的值

encoding = filterConfig.getInitParameter("encoding");

}

public void doFilter(ServletRequest req, ServletResponse resp,

FilterChain chain) throws IOException, ServletException {

HttpServletRequest request = (HttpServletRequest) req;

HttpServletResponse response = (HttpServletResponse) resp;

String encoding = selectEncoding(request);

if(encoding != null){

// 设置字符集编码

request.setCharacterEncoding(encoding);

}

chain.doFilter(request, response);

}

// 得到字符编码

private String selectEncoding(HttpServletRequest request) {

// TODO Auto-generated method stub

return encoding;

}

public void destroy() {

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: