姿姿霸霸~~!
贵在坚持!
BlogJava
首页
新文章
新随笔
聚合
管理
posts - 106, comments - 50, trackbacks - 0
j2EE中的过滤器的用法(过滤乱码)
乱码是j2ee中一个比较常见的问题。遇到1,2个情况下,可以用new String(request.getParameter(xxx).getBytes("ISO-8859-1"),"UTF-8")来解决。遇到多的情况下,就最好用过滤器了。
1个过滤器只需要注意2个地方,类和在web.xml上面的发布。
1。在web.xml上面的发布如下:
<
filter
>
<
filter
-
name
>
SetCharsetEncodingFilter
</
filter
-
name
>
//这个是类名
<
filter
-
class
>
org.SetCharacter
</
filter
-
class
>
//这个是类的位置
<
init
-
param
>
<
param
-
name
>
encoding
</
param
-
name
>
<
param
-
value
>
utf
-
8
</
param
-
value
>
</
init
-
param
>
</
filter
>
<
filter
-
mapping
>
<
filter
-
name
>
SetCharsetEncodingFilter
</
filter
-
name
>
<
url
-
pattern
>
/*
</url-pattern>
//这个代表所有的文件遇到过滤器都要被拦截
</filter-mapping>
2。过滤的这个类如下:
package
org;
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
SetCharacter
implements
Filter
{
protected
String encoding
=
null
;
protected
FilterConfig filterConfig
=
null
;
protected
boolean
ignore
=
true
;
public
void
init(FilterConfig arg0)
throws
ServletException
{
this
.encoding
=
arg0.getInitParameter(
"
encoding
"
);
String value
=
arg0.getInitParameter(
"
imnore
"
);
if
(value
==
null
)
{
this
.ignore
=
true
;
}
else
if
(value.equalsIgnoreCase(
"
true
"
))
{
this
.ignore
=
true
;
}
else
if
(value.equalsIgnoreCase(
"
yes
"
))
{
this
.ignore
=
true
;
}
}
public
void
doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
throws
IOException, ServletException
{
if
(ignore
||
(arg0.getCharacterEncoding()
==
null
))
{
String encoding
=
selectEncoding(arg0);
if
(encoding
!=
null
)
arg0.setCharacterEncoding(encoding);
}
arg2.doFilter(arg0,arg1);
}
private
String selectEncoding(ServletRequest arg0)
{
return
(
this
.encoding);
}
public
void
destroy()
{
this
.encoding
=
null
;
this
.filterConfig
=
null
;
}
}
posted on 2007-01-04 23:00
xrzp
阅读(1358)
评论(2)
编辑
收藏
所属分类:
JAVA
FeedBack:
#
re: j2EE中的过滤器的用法(过滤乱码)
2008-08-14 17:22 |
zhongshi
请问一下,加入有一个<url-pattern> temp </url-pattern>这样的标签,那么temp表示的是什么。表示的是那一个程序,他的名字是什么呢
temp是怎样体现URL的呢?
回复
更多评论
#
re: j2EE中的过滤器的用法(过滤乱码)
2008-08-16 21:09 |
sure_xx
在web.xml文件中,以下语法用于定义映射:
1.以”/’开头和以”/*”结尾的是用来做路径映射的。
2.以前缀”*.”开头的是用来做扩展映射的。
3.“/” 是用来定义default servlet映射的。
4.剩下的都是用来定义详细映射的。比如: /aa/bb/cc.action
回复
更多评论
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
hello,架构world
什么是可滚动的ResultSet
按长度分割字符串,遇到中文的处理
同时使用struts2和springMVC需要注意的事项
获取有路径的文件的文件名
小数点后面保留几位的格式
使用tomcat时,在IE中能自动打开excel
使用spring发送邮件
spring配置事务
aop拦截springmvc的action不成功!(已解决)
<
2007年1月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(4)
给我留言
查看公开留言
查看私人留言
随笔分类
db2(2)
JAVA(29)
js(9)
linux/unix(7)
oracle-asm(1)
oracle-rac(5)
oracle-优化(5)
oracle-基础(31)
oracle-备份恢复(16)
存储(2)
随笔档案
2012年4月 (1)
2011年11月 (2)
2011年10月 (13)
2011年9月 (1)
2011年8月 (2)
2011年7月 (2)
2011年6月 (5)
2011年5月 (16)
2011年4月 (3)
2011年1月 (1)
2010年12月 (8)
2010年7月 (1)
2010年6月 (3)
2010年5月 (3)
2010年1月 (1)
2009年9月 (1)
2009年4月 (3)
2009年3月 (1)
2008年10月 (2)
2008年9月 (1)
2008年8月 (3)
2008年7月 (1)
2008年4月 (1)
2008年3月 (1)
2008年2月 (1)
2007年7月 (2)
2007年6月 (1)
2007年5月 (7)
2007年4月 (1)
2007年3月 (2)
2007年1月 (12)
2006年12月 (1)
2006年10月 (3)
好友的blog
霸霸的blog
风风的BLOG
搜索
积分与排名
积分 - 116548
排名 - 500
最新评论
1. re: 解决ORA-00600: 内部错误代码, 参数: [4194], [15], [8][未登录]
谢谢,解决了大问题
--linda
2. re: aop拦截springmvc的action不成功!(已解决)
楼主最后还有用拦截器的方式解决的??????
spring mvc aop 不可以吗??????
--sql吧
3. re: 去除空格的js 和 使用正则表达式替换
dfasfdsa
-- fff fddd
4. re: 什么是table函数(收集)
也就是说,我好不容易达到了你2年前的水平
--Jcat
5. re: db2降低hwm(V9.7)
评论内容较长,点击标题查看
--刘邦
阅读排行榜
1. 解决ORA-30036:无法按8扩展段(18066)
2. 解决ORA-00600: 内部错误代码, 参数: [4194], [15], [8](9763)
3. 去除空格的js 和 使用正则表达式替换(8976)
4. aop拦截springmvc的action不成功!(已解决)(7656)
5. 判断一个JS对象是否为空(6733)
评论排行榜
1. aop拦截springmvc的action不成功!(已解决)(11)
2. 使用spring发送邮件(4)
3. 计算任何一天是星期几的算法(拿来主义)(3)
4. JAVA中日期的问题(3)
5. j2EE中的过滤器的用法(过滤乱码)(2)