过滤器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() {
}
}
<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() {
}
}
相关文章推荐
- JSP用过滤器解决request getParameter中文乱码问题
- Post与Get提交使用过滤器解决中文乱码问题
- JSP用过滤器解决request getParameter中文乱码问题
- 中文乱码问题解决,过滤器配置,get post提交乱码,filter,struts乱码,jsp乱码
- dhl:ajax无法跨域改用getJSON(解决服务器返回json数据中文为乱码的问题$.ajaxSetup({ scriptCharset: "utf-8" , contentType: "application/json; chars)
- [转]解决get方法传递URL参数中文乱码问题
- 解决用jquery的get或者post提交方式提交到struts2中的action中文乱码问题
- JAVA POST与GET数据传递时中文乱码问题解决方法
- Get,Post请求中文乱码问题有效解决方法
- PHP中使用file_get_contents抓取网页中文乱码问题解决方法
- tomcat8中已解决了get方式提交中文乱码问题
- 通过过滤器(Filter)解决JSP的Post和Request中文乱码问题
- 解决页面get方式请求中文乱码问题
- struts2.2.3 配置中文乱码拦截过滤器 解决接收中文参数乱码问题
- JSP中解决中文乱码问题 对于post有效 对于get请求方式无效。
- struts2.2.3 配置中文乱码拦截过滤器 解决接收中文参数乱码问题
- http协议4---GET方式和POST方式获取表单数据举例3(统一方式获取,解决中文乱码问题)
- 使用过滤器解决中文乱码问题
- 彻底解决get显示提交时,参数中包含中文时出现乱码的问题
- SpringMVC学习 解决GET请求时中文乱码的问题