在开发过程中难免会遇到乱码问题,很早以前就写了这个处理乱码的过滤器,拿出来透透气下,也让路过的朋友们呼吸呼吸...
package com.web0248.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;
public class SetCharacterEncodingFilter implements Filter {
protected String encoding = null;
protected FilterConfig filterConfig = null;
protected boolean ignore = true;
public void destroy() {
this.encoding = null;
this.filterConfig = null;
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// 有条件地选择设置字符编码使用
if (ignore || (request.getCharacterEncoding() == null)) {
String encoding = this.encoding;
if (encoding != null)
request.setCharacterEncoding(encoding);
}
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
this.encoding = filterConfig.getInitParameter("encoding");
String value = filterConfig.getInitParameter("ignore");
if (value == null)
this.ignore = true;
else if (value.equalsIgnoreCase("true"))
this.ignore = true;
else if (value.equalsIgnoreCase("yes"))
this.ignore = true;
else
this.ignore = false;
}
}
web.xml配置:
<filter>
<filter-name>SetCharacterEncodingFilter</filter-name>
<filter-class>com.web0248.filter.SetCharacterEncodingFilter</filter-class>
<init-param>
<!-- 定义编码格式,我用的是utf-8 -->
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
<init-param>
<!-- ignore参数是在过滤器类定义的 -->
<param-name>ignore</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncodingFilter</filter-name>
<servlet-name>action</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>SetCharacterEncodingFilter</filter-name>
<servlet-name>*.jsp</servlet-name>
</filter-mapping>
分享到:
相关推荐
NULL 博文链接:https://alexfc.iteye.com/blog/326497
过滤器实现get请求乱码问题 过滤器实现get请求乱码问题 过滤器实现get请求乱码问题
过滤器代码--解决jsp中的字符乱码问题,可以让你不在为字符的乱码担心。
jsp 中的字符过滤器,屏蔽网页中或JFreeChart中的乱码问题
编码过滤器,在项目中统一处理编码问题 解决乱码问题
这是一个不错的例子,使用过滤器解决了字符乱码的问题
此资源系本人在培训机构的资料,资源包含过滤器乱码过滤、过滤非法字符、权限过滤、病毒过滤、HTML标签过滤、js脚本过滤等代码演示实例和讲解文档,内容详细易懂,希望对象大家有所帮助!
用于中文乱码问题,仅限于表单提交,不适于JS提交,JS提交请自己另设response
解决编码传参中文乱码问题,附有.java和web.xml配置文件关键代码
在Java Web程序开发中,由于Web容器内部使用编码格式并不支持中文字符集,所以,处理浏览器请求中的中文数据就会出现乱码的现象。由于Web容器使用了ISO-...如果通过过滤器来处理字符编码,就可以做到简单又万无一失。
如果你配置了过滤器,但是中文还会乱码,可以参考下面两种方法解决。
首先看是从什么地方开始出现的乱码,只要统一编码,就不会出现乱码,下面以uft-8(个人认为最好)为例,详细说明:1、...第二种最保险,一劳永逸,是专门写一个过滤器类,也称国际化,类名为SetCharacterEncodingFilter
近用ssh框架和mysql数据库写项目的时候,老是出现中文乱码,根据网上的各种策略,使用spring自带的字符过滤器啊,设置页面编码啊,设置数据库编码啊都设置好为UTF-8了,还是出现中问乱码,后来在spring的配置文件...
通过过滤器的方式解决请求响应的乱码,通过配置参数encoding指明使用何种字符编码,以处理Html Form请求参数的中文问题。
根据语言编码指定字符集,创建表时根据语言编码指定默认字符集,有效解决乱码问题 4) 改进安装程序,在创建表时根据语言编码指定默认字符集 <br> 三、增加功能 <br>1. 增加 box_mychildhood_cn 童年风格...
- 选中文件时,移动到屏幕可视区域(解决上下左右选中文件滚动条不一致问题) ###ver2.51 `2014/6/22` ---- ####fix bug:(bug解决和程序优化) - 登陆多次密码输入错误验证码bug解决 - 修复漏洞:创建副本加入...
对付乱码我都是用过滤器做字符编码过滤的,Get方法过滤器监听不到,所以我一直喜欢使用Post方法,下面对Ajax Get和Post方法做一对比,需要了解的朋友可以 参考下
ThisIsUs Community ...并提供了一个字符转换编码过滤器防止中文乱码.服务层使用Spring4.0,持久层使用Hibernate.使用Maven构建项目. 系统架构 社区总共为4个模块,为用户管理,社区管理,版块管理以及社区基
可能会出现问题,如果出现乱码,可以先在文本编辑器中将文本转换为gb2312编码。 横竖排版转换中将一些括号(如“[”,“]”,“{”“}”,“【”等)自动转换为了竖排形式的括号,将全角单引 号双引号转换为了竖排...