使用Filter进行中文问题处理
来源:互联网 发布:java面试设计模式 编辑:程序博客网 时间:2024/06/02 09:55
1 : 使用Servlet处理的局限性
在通过Servlet获取中文参数 的章节中知道,可以通过
request.setCharacterEncoding("UTF-8");
正确获取UTF-8编码的中文,但是如果有很多servlet都需要获取中文,那么就必须在每个Servlet中增加这段代码。
有一个简便的办法,那就是通过Filter过滤器进行中文处理 ,那么所有的Servlet都不需要单独处理了。
2 : 使用Filter处理
创建一个 EncodingFilter ,设置如下代码
HttpServletRequest request = (HttpServletRequest) req;request.setCharacterEncoding("UTF-8");
doFilter方法的第一个参数req,是ServletRequest 类型的,不支持setCharacterEncoding,所以要先强制转换为HttpServletRequest
package filter;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;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 EncodingFilter implements Filter { @Override public void destroy() { } @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) res; request.setCharacterEncoding("UTF-8"); chain.doFilter(request, response); } @Override public void init(FilterConfig arg0) throws ServletException { }}
3 : 配置web.xml
配置EncodingFilter
<url-pattern>/*</url-pattern>
表示为所有的访问都使用该Filter
<filter> <filter-name>EncodingFilter</filter-name> <filter-class>filter.EncodingFilter</filter-class></filter><filter-mapping> <filter-name>EncodingFilter</filter-name> <url-pattern>/*</url-pattern></filter-mapping>
阅读全文
0 0
- 使用Filter进行中文问题处理
- 使用 Filter 过滤器 处理中文 乱码问题
- thinkphp使用auto_charset 进行处理mssql中文转码问题
- 使用Filter处理web中的表单提交过程中的中文问题
- 使用Filter解决中文乱码问题
- Filter处理中文实例
- Filter处理中文乱码
- 利用Filter类处理jsp页面中的中文乱码问题
- Struts中使处理中文乱码问题-----Filter
- 编写filter,处理get和post中文乱码问题
- 使用UrlRewrite Filter对url进行美化转换处理
- 转使用UrlRewrite Filter对url进行美化转换处理
- 使用filter(过滤器)处理JSP和servlet的中文乱码
- structs中文乱码处理----filter
- Filter过滤器处理中文乱码
- 过滤器filter处理中文乱码
- 使用filter解决中文乱码问题--struts2乱码
- Filter的使用(解决中文乱码问题)
- 关于mybatis中@Param("参数")的问题
- 软件开发最全流程
- [NOIP2017考前复习] Euler函数与Mobius函数
- Anaconda快速上手
- 141_容器_commons之迭代器(Map、过滤、循环)_双向Map_Bag包
- 使用Filter进行中文问题处理
- Json对象与Json字符串互转(4种转换方式)
- jquery
- HDU6106-Classes
- PL/SQL可以连oracle,但是jdbc连不上,原来是因为url链接方式不同 格式不一样
- IDEA引MAVEN项目jar包依赖导入问题解决
- paperclip-qiniu
- cpp调用其他cpp
- Java进阶之虚拟机《七》:垃圾回收机制