Filter拦截器解决中文乱码问题
来源:互联网 发布:完美刀塔助手没有网络 编辑:程序博客网 时间:2024/06/05 05:34
创建拦截器类,需要实现javax.servlet.Filter接口
public class FilterDemo1 implements Filter { @Override public void init(FilterConfig arg0) throws ServletException { System.err.println("服务器启动时调用此方法,只调用一次,用来初始化"); } @Override public void destroy() { System.err.println("服务器退出时调用此方法,只调用一次"); } @Override public void doFilter(ServletRequest arg0, ServletResponse arg1, HttpServletRequest request = (HttpServletRequest) arg0; HttpServletResponse response = (HttpServletResponse) arg1; MyRequest request1 = new MyRequest(request); //设置request的编码方式 request1.setCharacterEncoding("utf-8"); //解除拦截 chain.doFilter(request1, response); }
自定义内部类,继承HttpServletRequestWrapper类
注:HttpServletRequestWrapper类实现了HttpServletRequest接口,重写了接口方法
class MyRequest extends HttpServletRequestWrapper{ private HttpServletRequest request ; public MyRequest(HttpServletRequest request) { super(request); this.request = request; } @Override public String getParameter(String name) { String value = request.getParameter(name); //判Null空 if(value==null){ return null; } //判请求方式 if(request.getMethod().equalsIgnoreCase("POST")){ return value; } try { //转换编码方式 value = new String(value.getBytes("ISO-8859-1"),"utf-8"); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } return value; } }
在web.xml配置文件中加载Filter拦截器
<filter> <filter-name>FilterDemo1</filter-name> <filter-class>filter.demo.FilterDemo1</filter-class> </filter> <filter-mapping> <filter-name>FilterDemo1</filter-name> <!-- /*为拦截所有请求 --> <url-pattern>/*</url-pattern> </filter-mapping>
1 0
- Filter拦截器解决中文乱码问题
- Filter解决中文乱码问题
- Tomcat中文乱码问题filter解决
- Filter全局解决中文乱码问题
- Filter 解决全站中文乱码问题
- javaWeb利用Filter解决中文乱码问题
- 使用Filter解决中文乱码问题
- struts2用拦截器解决中文乱码问题
- 使用filter解决中文乱码问题--struts2乱码
- 用FILTER解决中文乱码
- 中文乱码问题和拦截器
- TOMCAT 下设置FILTER解决中文乱码问题
- 用filter来解决Struts中文乱码的问题
- Struts中利用filter解决中文乱码问题
- JSP 用监听器Filter来解决中文乱码问题
- Filter技术解决网站的所有中文乱码问题
- Filter的使用(解决中文乱码问题)
- java web中配置Filter解决jsp中文乱码问题
- 一个定期翻译国外Android优质的技术、开源库、软件架构设计、测试等文章的开源项目 http://www.devtf.cn
- weak和assign的区别,以及使用场景
- maven项目配置自动生成数据库表对应 mapper 文件
- Android-Mac电脑如何进行APK反编译-第二季
- Ultraedit使用小技巧
- Filter拦截器解决中文乱码问题
- 权限系统管理架构
- 数据库中查询语句怎么设置别名
- adapter 解释
- 操作系统:基于页面置换算法的缓存原理详解(下)
- C++操作Word学习笔记
- Yii CDBCriteria常用方法 (多条件查询)
- QIODevice (Qt中所有 I/O devices 的基类,QFile,QBuffer,QTcpSocket等)
- OC 中@property readonly 怎么使用