使用过滤器来解决中文乱码
来源:互联网 发布:农村淘宝 大米 编辑:程序博客网 时间:2024/04/30 04:56
使用过滤器处理乱码
以前的做法是在负责接受中文请求数据的每个页面编写用于处理中文乱码的代码。这样不利于代码重用。由于过滤器可在请求执行之前进行预处理,所以可把处理中文乱码的代码置于过滤器中。
该示例的编写步骤如下:
(1) 创建一个过滤器,命名为 encodeFilter.java 。代码如下:
package filters;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.UnavailableException;public class SetCharacterEncodingFilter implements Filter { protected FilterConfig filterConfig; protected String encodingName; //你要设置的字符编码 protected boolean enable; //定义boolean类型参数设置这个过滤器是不是必须的 public SetCharacterEncodingFilter() { this.encodingName = "gb2312"; this.enable = false; } public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig = filterConfig; loadConfigParams(); } //读取配置文件定义的参数 private void loadConfigParams() { this.encodingName = this.filterConfig.getInitParameter("encoding"); String strIgnoreFlag = this.filterConfig.getInitParameter("enable"); if (strIgnoreFlag.equalsIgnoreCase("true")) { this.enable = true; } else { this.enable = false; } } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if(this.enable) { request.setCharacterEncoding(this.encodingName); } chain.doFilter(request, response); } public void destroy() { this.filterConfig = null; }}
<!-- SetCharacterEncodingFilter 配置开始--> <filter> <filter-name>SetCharacterEncodingFilter</filter-name> <filter-class>filters.SetCharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>gb2312</param-value> </init-param> <init-param> <param-name>enable</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>SetCharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- SetCharacterEncodingFilter 配置结束-->
- 使用过滤器来解决中文乱码
- JavaWeb中使用过滤器来解决中文乱码问题
- Servlet 中文乱码解决【使用过滤器】
- 使用过滤器解决中文乱码问题
- struts使用过滤器解决中文乱码问题
- 使用过滤器解决中文乱码问题
- 过滤器解决中文乱码
- 用过滤器来解决JSP中文乱码问题
- 用过滤器来解决JSP中文乱码问题
- 用过滤器来解决JSP中文乱码问题
- 使用过滤器来处理get提交的中文乱码问题
- 解决中文乱码的过滤器
- 过滤器解决中文乱码问题
- 过滤器-解决中文乱码问题
- 过滤器之中文乱码解决
- jsp过滤器中文乱码解决
- 过滤器解决中文乱码(1)
- 过滤器解决Servlet中文乱码
- 五大算法之五--分支限界法
- 配置管理系统浅析
- COM技术初探(一)
- default argument given of parameter 的问题
- 插入新结点到指定结点的指定位置
- 使用过滤器来解决中文乱码
- 内中断
- 深入理解Oracle索引(15):日期转换函数的格式参数大小写规则对函数索引的影响
- 第一篇文章,不写技术
- FMDB_demo
- android中实现简单双方聊天的代码
- 【audio play音频】 android 简单的MP3播放器代码
- 新型的按键扫描程序
- hibernate学习笔记13--级联设置