chidaodezhongsheng
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(2)
给我留言
查看公开留言
查看私人留言
随笔档案
2012年1月 (1)
2010年10月 (1)
文章档案
2010年12月 (7)
2010年11月 (6)
2010年10月 (24)
搜索
最新评论
1. re: Http参数传递时的乱码过滤器[未登录]
是是是是是是
--啊啊
2. re: Servlet配置到Web.xml中
配置好了 它整体的流程是什么啊?
--Tovep
3. re: JDBC基本操作
期待...
--Tovep
4. re: 再写银行排队
LZ 写的不错 啊!!!
--Tovep
5. re: 生产消费问题
臭小子 居然FZZT
--Tovep
阅读排行榜
1. 无题(188)
2. 很久没更新了,真的太久了(170)
评论排行榜
1. 很久没更新了,真的太久了(0)
2. 无题(0)
Powered by:
博客园
模板提供:
沪江博客
BlogJava
|
首页
|
发新随笔
|
发新文章
|
联系
|
聚合
|
管理
Http参数传递时的乱码过滤器
我们做Web程项目的时候经常会遇到中文乱码的问题,因为Http协议中默认的编码字符集不是中文的,并且平台字符集也不是中文的,这就需要我们手动把它改成中文字符集,防止后台显示乱码。
首先我们要清楚我们是改不了别人的字符集的,我们只需关心我们自己的运行平台上的字符集是中文的,并且request请求和response响应里面的字符集改成中文的就可以了。这是因为我们要把传递过来的数据字符集改成中文编码形式的才能在我们的平台上正常显示,响应的编码形式也要改成中文的才有可能在别人的平台上显示成中文形式。
首先我们要把自己平台上的编码形式改成中文的,也就是你平台上每一个网页的编码形式是中文的,HTML网页中的charset改成UTF-8,JSP网页中的pageEncoding改成UTF-8或者GBK。
其次,我们要把Http协议中发送过来的请求编码改成中文形式,由于对你平台的任何网页都要处理请求中的编码问题,所以我们就要做一个过滤器,它的作用是每一次对你项目中任何网页的请求都要经过这个过滤器的处理才能进入。有了这个过滤器我们就不再担心字符集编码的问题了,因此我们要写一个字符集转换的类,并且在Web.xml中配置它,以下是该类源代码和配置过程:
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>com.bx.servletform.EncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
源代码是如下:
public
class
EncodingFilter
implements
Filter
{
String encoding
=
""
;
public
void
destroy()
{
}
public
void
doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)
throws
IOException, ServletException
{
System.out.println(
"
pass here------------
"
);
request.setCharacterEncoding(encoding);
response.setCharacterEncoding(encoding);
chain.doFilter(request, response);
}
public
void
init(FilterConfig config)
throws
ServletException
{
String encoding
=
config.getInitParameter(
"
encoding
"
);
this
.encoding
=
encoding;
System.out.println(
"
初次访问
"
+
encoding);
}
}
这样,每次对网页的请求都会进入到这个过滤器中,并且把request和response的编码形式改成UTF-8形式,防止了中文乱码。
发表于 2010-12-11 17:05
迟到的钟声
阅读(227)
评论(1)
编辑
收藏
评论
#
re: Http参数传递时的乱码过滤器[未登录]
回复
更多评论
是是是是是是
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问