用过滤器解决全站中文数据提交乱码问题
来源:互联网 发布:字体管家mac版 编辑:程序博客网 时间:2024/05/01 14:47
package cn.lfd.web.filter;import java.io.IOException;import java.io.UnsupportedEncodingException;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{//实现filter接口@Overridepublic void destroy() {}@Overridepublic void doFilter(ServletRequest req, ServletResponse resp,FilterChain chain) throws IOException, ServletException {HttpServletRequest request = (HttpServletRequest) req;//强转为HttpServletRequestHttpServletResponse response = (HttpServletResponse) resp;//这三行代码解决post提交中文乱码问题,但不能解决get提交中文乱码问题request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");MyCharacterEncodingRequest MyRequest = new MyCharacterEncodingRequest(request);chain.doFilter(MyRequest, response);//放行}@Overridepublic void init(FilterConfig arg0) throws ServletException {// TODO Auto-generated method stub}}
//对HttpServletRequest对象中的getParameter方法进行增强class MyCharacterEncodingRequest extends HttpServletRequestWrapper {public MyCharacterEncodingRequest(HttpServletRequest request) {super(request);}@Overridepublic String getParameter(String name) {try {String value = super.getParameter(name);//调用父类得到数据if(value==null) {//如果没有返回数据,直接返回nullreturn null;}if(!super.getMethod().equalsIgnoreCase("get")) {//如果是以post提交,直接返回valuereturn value;}//进入下面说明是以get方式提交value = new String(value.getBytes("iso-8859-1"),"UTF-8");//把数据进行iso-8859-1解码并以UTF-8进行编码解决中文乱码return value;} catch (UnsupportedEncodingException e) {throw new RuntimeException(e);}}}
0 0
- 用过滤器解决全站中文数据提交乱码问题
- Filter 过滤器解决全站中文乱码问题
- 过滤器应用之解决全站中文乱码问题
- 过滤器案例----解决全站中文乱码问题
- 使用过滤器解决全站中文乱码问题
- JSP过滤器(Filter)之实现全站解决中文提交乱码(包括get提交方式)
- Post与Get提交使用过滤器解决中文乱码问题
- 过滤器解决中文乱码问题
- 过滤器-解决中文乱码问题
- 过滤器 解决中文乱码问题
- 解决全站乱码过滤器
- 全站乱码解决过滤器
- 过滤器解决全站乱码
- 过滤器Filter的案例3——解决全站的请求数据乱码问题
- Filter 解决全站中文乱码问题
- 解决全站中文乱码问题
- Servlet——解决全站乱码问题(过滤器)
- 关于提交数据时中文乱码问题的解决
- js中的简单排序
- 【算法笔记】Aho-Corasick 算法(AC自动机) 小结
- Android 编程下的 EditView 阻止软键盘自动弹出__图片资源文件后缀不能为.ico
- 约瑟夫环问题 循环链表
- MapReduce的处理流程(一)
- 用过滤器解决全站中文数据提交乱码问题
- Binary Tree Inorder Traversal
- [ACM] HDU 1242 Rescue (优先队列)
- poj 3274 Gold Balanced Lineup
- JavaScript 知识点总结-3
- Android中JNI的使用方法
- 类和对象
- Eclipse --- 常用配置及快捷键
- 黑马程序员——类与对象