jsp页面赋值乱码问题 及 j2ee容器filter的写法例子[z]

本文介绍如何使用Spring框架内置的CharacterEncodingFilter进行字符集转换,通过web.xml配置文件实现请求和响应的统一字符编码设置。
From: [url]http://topic.youkuaiyun.com/u/20071214/10/dfff3ed3-f8f9-47a3-93f3-3605581da097.html[/url]
spring里面有字符过滤器,很好用.只需要一个配置. 
<filter>
<filter-name> CharacterEncodingFilter </filter-name>
<display-name> CharacterEncodingFilter </display-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name> encoding </param-name>
<param-value> GBK </param-value>
</init-param>
<init-param>
<param-name> forceEncoding </param-name>
<param-value> true </param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name> CharacterEncodingFilter </filter-name>
<url-pattern> /* </url-pattern>
</filter-mapping>


Java code
public class CharactorEncodingFilter implements Filter {

private String charactorEncoding;

private static final String CHARACTOR_ENCODING_PARAMETER_NAME = "charactorEncoding";

@Override
public void destroy() {
//什么也不用做。
}

@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
request.setCharacterEncoding(this.charactorEncoding);
response.setCharacterEncoding(this.charactorEncoding);
chain.doFilter(request, response);
}

@Override
public void init(FilterConfig filterConfig) throws ServletException {
this.charactorEncoding = filterConfig.getInitParameter(CHARACTOR_ENCODING_PARAMETER_NAME);
}

}


这个是web.xml的配置:

XML code
<filter>
<description>处理中文化问题</description>
<filter-name>charactorEncodingFilter</filter-name>
<filter-class>
cn.com.gxlu.fiberscheduler.web.util.CharactorEncodingFilter
</filter-class>
<init-param>
<param-name>charactorEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>charactorEncodingFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值