Servlet——解决全站乱码问题(过滤器)
2017-06-21 19:30
381 查看
package com.hongyi.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.HttpServletRequestWrapper; import javax.servlet.http.HttpServletResponse; /** * 解决全站乱码问题 */ public class CharacterEnCodingFilter implements Filter { public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) resp; //对request/response进行预处理 request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset-utf-8"); MyCharacterEnCodingRequest requestWrapper = new MyCharacterEnCodingRequest(request); //执行后面的拦截器(如果有的话) chain.doFilter(requestWrapper, response); } public void init(FilterConfig config) throws ServletException { } public void destroy() { } } //解决get请求的乱码问题 class MyCharacterEnCodingRequest extends HttpServletRequestWrapper{ private HttpServletRequest request; public MyCharacterEnCodingRequest(HttpServletRequest request) { super(request); this.request = request; } @Override public String getParameter(String name) { try { String value = this.request.getParameter(name); if(value==null){ return null; } if(this.request.getMethod().equalsIgnoreCase("post")){ return value; }else{ value = new String(value.getBytes("utf-8"),this.request.getCharacterEncoding()); return value; } } catch (Exception e) { throw new RuntimeException(e); } } }
相关文章推荐
- 04_过滤器Filter_05_Filter解决全站中文乱码问题(POST方式)
- 用过滤器解决全站中文数据提交乱码问题
- 全站编码 解决Get、Post乱码问题(Servlet)
- get/post 提交乱码问题解决(未使用过滤器)——Servlet解决
- 使用过滤器解决全站中文乱码问题
- 过滤器案例----解决全站中文乱码问题
- JavaWeb学习篇——使用过滤器及装饰器设计模式解决全站乱码问题
- JSP\SERVLET\SPRING\MYSQL 、spring过滤器,乱码问题解决
- Filter 过滤器解决全站中文乱码问题
- Servlet中通过过滤器实现统一的手动编码(解决中文乱码)
- Tomcat中用Filter解决JSP提交中文信息到Servlet的乱码问题
- 利用过滤器filter解决乱码问题
- 解决servlet 向html页面输出的乱码问题
- Tomcat中用Filter解决JSP提交中文信息到Servlet的乱码问题
- 解决乱码问题的最佳解决方式(struts struts2 jsp servlet action等)
- 过滤器解决中文乱码问题
- servlet通过URL传参到jsp页面出现乱码问题的解决
- Tomcat中用Filter解决JSP提交中文信息到Servlet的乱码问题
- 过滤器 -- 解决中文乱码问题
- 中文乱码问题解决,过滤器配置,get post提交乱码,filter,struts乱码,jsp乱码