午夜拍键惊奇
子夜 编程 代码与我同在
首页
新随笔
新文章
联系
聚合
管理
posts - 48,comments - 118,trackbacks - 79
<
2005年11月
>
日
一
二
三
四
五
六
30
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
1
2
3
4
5
6
7
8
9
10
枯藤老树昏鸦
小桥流水人家
古道西风瘦马
夕阳西下
断肠人在天涯
留言簿
(10)
给我留言
查看公开留言
查看私人留言
随笔分类
(49)
Design Patterns(5)
Java 点滴(15)
OO(5)
Struts(2)
基础理论(1)
破解(5)
程序人生(16)
随笔档案
(48)
2008年9月 (1)
2006年6月 (1)
2006年3月 (3)
2006年2月 (1)
2005年11月 (7)
2005年10月 (7)
2005年9月 (7)
2005年8月 (16)
2005年2月 (5)
相册
Mustang
IBM Developer Works
驯服 Tiger: 并发集合
驯服 Tiger: 集合框架
其它链接
MSN blog
积分与排名
积分 - 104469
排名 - 558
最新评论
1. re: 接口与Object类的关系?[未登录]
因为Object的clone方法是protect的,你试试那些public方法(equals、toString....)。所有的接口都会声明Object的public方法(大多数是隐式的)。
--KK
2. 发现一个问题
你前半部分的消费者线程搞的有问题
--刘sir
3. re: Alloy Look and Feel下载
謝謝..可以使用的
--zf
4. re: 位图(bitmap)排序
为了更节省时间 应该用 BitArray
--zhangdp
5. re: 接口与Object类的关系?
@allen
靠,4年前的文章还有人回复……
--^ Mustang ^
6. re: 接口与Object类的关系?[未登录]
靠你掉TOSTING()绝对可以。任何的类包括实现类都是其子类。。。CLONE是没实现而已
--allen
7. re: Borland Look and Feel下载[未登录]
用了,但是不是很好看啊~~
但是还要谢谢你
--海阔天空
8. re: 腾讯七宗罪 [转载自PCHome]
评论内容较长,点击标题查看
--无名之人
9. re: 搬家
我靠,你呀的技术博客居然还在
--郑
10. re: 位图(bitmap)排序
这段代码是错的,不能用integer array, 只能用BitArray, 否则,在内存受限的情况下,你是不能把所有的的数装下的。所谓的位图排序也是这个意思
--haibo
11. re: 搬家
吃惊....竟然是两...年
--猪
12. re: 群硕笔试题
今天我也去笔试
--goodspeed
13. re: 群硕笔试题
正要去笔试
谢谢!
--。。。
14. re: 群硕笔试题
今天马上去笔试群硕
--yz79845
15. re: 群硕笔试题
明早就去群硕笔试了 希望顺利完成
--IMAX
16. re: 群硕笔试题[未登录]
我想问一下,你是笔试的软件开发吗?
因为我今年要参加群硕的笔试,可是我申请的是测试,开发和测试的题目是一样的吗?
谢谢~~
--Tina
17. re: 群硕笔试题
评论内容较长,点击标题查看
--Suriel
18. re: 群硕笔试题
怎么那怎么多傻B啊,还有人敢在这说是13,真TMD的傻B
--路人
19. re: Alloy
请给我一份,hq.cn.com@gmail.com , 谢谢
--岛主
20. re: Alloy
也给我发一份,angelswingadam@163.com,谢谢
--angelswing
21. re: Alloy
评论内容较长,点击标题查看
--Simon Gong
22. re: Alloy
可否给我发一份,谢谢先
spimlee@yahoo.com.cn
--spimlee
23. re: JBuilder 2006 BT种子
好棒哦,可以下JBuilder 2006了也
--girl
24. re: Alloy
key: v#ej_technologies#uwbjzx#e6pck8
--jhonny
25. re: 群硕笔试题
刚进去有多少钱?
不方便写的话请发我邮箱吧,大谢了!!!
well88@citiz.net
--路过
26. re: Alloy
tcmy_168@163.com
给我一份,谢谢了
--tian
27. re: IDEA破解过程
破解了的class文件
给我也发一个吧
谢谢了!
email:huhaitao1231@gmail.com
--huhaitao
28. re: 群硕笔试题
评论内容较长,点击标题查看
--re: 群硕笔试题
29. re: JBuilder 2006 BT种子
真的太好喇!
--Angus
30. re: 群硕笔试题
经过DEV-C++编译器测试结果是7,13
--微微
31. re: 软件设计师
工作几年后,发现,这个东西一点都不重要了! 实践比重要呀!
--Moon[匿名]
32. re: 群硕笔试题
测试结果7 13
--潇洒哥
33. re: IDEA破解过程
破解了的class文件
给我也发一个吧
谢谢了!
我的email: s9027059@gmail.com
--CCT
34. re: 不要更新:Windows XP 安全更新程序 (KB913446)
谢谢你了,差点犯错!
--火烈鸟
35. re: Alloy
一直没有狠心下来学学汇编、破解,其实还是蛮有用的啊。羡慕……
--陈小稳
36. re: Alloy
也请给我一份研究学习下吧。我的邮箱是:ccxw1983@yahoo.com.cn。先道声谢谢了!
--陈小稳
37. re: 使用策略模式(Strategy)实现多关键字排序
I got it!
3ks!
--zhl
38. re: JBuilder 2006 BT种子
非常感谢!
--xx
39. re: Alloy
是否可以给我一份破解1.4.4,谢谢了!
townsendtan@yahoo.com.cn
--townsend
40. re: JBuilder 2006 BT种子
@chenxiaoming
--23525
阅读排行榜
1. Java Concurrent框架之阻塞队列(Blocking queue)(13657)
2. 群硕笔试题(11180)
3. JBuilder 2006 BT种子(8857)
4. IDEA破解过程(6152)
5. 在Struts中使用Validator实现可配置的信息校验(一)(5284)
6. 适配器模式(Adapter)(3161)
7. 接口与Object类的关系?(2419)
8. Alloy(2413)
9. Java API中文版[转载自Sun技术社区](2231)
10. java.util.Calendar中的陷阱(2230)
11. Alloy Look and Feel下载(2083)
12. 不要更新:Windows XP 安全更新程序 (KB913446)(2016)
13. 在Struts中使用Validator实现可配置的信息校验(二)(1808)
14. 使用FilterServlet对页面进行转码(1769)
15. Borland Look and Feel下载(1702)
16. Tomcat 5.5.9 不支持switch(<enum>)?(1522)
17. 位图(bitmap)排序(1480)
18. OO基本概念(1449)
19. 奇怪的范型定义(1442)
20. 腾讯七宗罪 [转载自PCHome](1387)
21. “软件工业奥斯卡”SYS-CON读者选择奖: Java开发(转载自CSDN)(1315)
22. Alloy破解过程(1301)
23. IDEA cracker下载(1295)
24. James Gosling(1279)
25. 使用策略模式(Strategy)实现多关键字排序(1236)
26. Joshua Bloch咏Tiger诗八首(1199)
27. “软件危机”时总结的坏的编程习惯——我们是否依旧守着古风?(1169)
28. A beginners guide to Dependency Injection [转载自TSS](1107)
29. 缺省适配器模式(Default Adapter)(1080)
30. Java code name(1055)
31. Object Modeling Strategies (IV) (1042)
32. IDEA(946)
33. 软件设计师(919)
34. 原型模式(Prototype)(908)
35. Object Modeling Strategies (I)(863)
36. 我回来了(840)
37. 接受程序设计语言的再教育[转载自dearbook书评](839)
38. 在Java中使用Oracle blob(831)
39. Object Modeling Strategies (III)(821)
40. Object Modeling Strategies (II)(802)
评论排行榜
1. Alloy(26)
2. 群硕笔试题(15)
3. IDEA破解过程(13)
4. 接口与Object类的关系?(9)
5. JBuilder 2006 BT种子(7)
6. 腾讯七宗罪 [转载自PCHome](5)
7. 软件设计师(5)
8. 位图(bitmap)排序(4)
9. James Gosling(4)
10. IDEA(3)
11. IDEA cracker下载(3)
12. Alloy Look and Feel下载(2)
13. Borland Look and Feel下载(2)
14. 搬家(2)
15. 搬家咯(2)
16. Alloy破解过程(2)
17. Tomcat 5.5.9 不支持switch(<enum>)?(2)
18. java.util.Calendar中的陷阱(2)
19. 接受程序设计语言的再教育[转载自dearbook书评](2)
20. 使用策略模式(Strategy)实现多关键字排序(2)
21. class文件中的秘密(1)
22. java.util.StringTokenization(1)
23. 在Struts中使用Validator实现可配置的信息校验(二)(1)
24. 不要更新:Windows XP 安全更新程序 (KB913446)(1)
25. 奇怪的范型定义(1)
26. Java Concurrent框架之阻塞队列(Blocking queue)(1)
27. Object Modeling Strategies (IV) (0)
28. Java code name(0)
29. “软件危机”时总结的坏的编程习惯——我们是否依旧守着古风?(0)
30. 使用FilterServlet对页面进行转码(0)
31. OO基本概念(0)
32. Java API中文版[转载自Sun技术社区](0)
33. 在Struts中使用Validator实现可配置的信息校验(一)(0)
34. 我回来了(0)
35. “软件工业奥斯卡”SYS-CON读者选择奖: Java开发(转载自CSDN)(0)
36. Object Modeling Strategies (III)(0)
37. Object Modeling Strategies (II)(0)
38. Joshua Bloch咏Tiger诗八首(0)
39. Object Modeling Strategies (I)(0)
40. 缺省适配器模式(Default Adapter)(0)
使用FilterServlet对页面进行转码
相信很多朋友在使用JSP/Servlet等技术进行页面编程的时候都会或多或少地遇到乱码问题。解决的方法有很多,比较常见的是手动对所有可能包含中文的字符串进行转码:
String latin
=
;
String gbk
=
new
String(latin.getBytes(
"
iso-8859-1
"
),
"
gbk
"
);
这个方法过去我也比较常用,的确有效,但很累赘耶,丝毫没有模式之美,有没有更优雅的方法呢?如果你和我一样有疑虑的话,可以考虑使用FilterServlet:
1
import
java.io.
*
;
2
import
javax.servlet.
*
;
3
import
javax.servlet.http.
*
;
4
5
import
org.apache.log4j.
*
;
6
7
public
class
CharsetFilter
8
extends
HttpServlet
implements
Filter
{
9
private
static
Logger logger
=
Logger.getLogger(
"
Filter servlet
"
);
10
11
public
void
init(FilterConfig filterConfig)
12
throws
ServletException
{
13
}
14
15
public
void
doFilter(ServletRequest request,ServletResponse response,
16
FilterChain filterChain)
{
17
if
(request
!=
null
)
{
18
String charset
=
request.getCharacterEncoding();
19
if
(charset
==
null
||
!
charset.equalsIgnoreCase(
"
gbk
"
))
20
try
{
21
request.setCharacterEncoding(
"
GBK
"
);
22
}
23
catch
(UnsupportedEncodingException ex)
{
24
logger.warn(ex.getMessage());
25
}
26
}
27
try
{
28
filterChain.doFilter(request,response);
//
递交责任链下一环
29
}
30
catch
(Exception ex)
{
31
logger.error(ex.getMessage());
32
}
33
}
34
35
public
void
destroy()
{
36
}
37
}
38
FilterServlet内部应该使用责任链(Chain of Responsibility)实现,在这里我们把对字符串的转码做为责任链中的一环,从上一环拿到request,处理后交给链的下一环。另外需要在web.xml里做些配置:
<
filter
>
<
filter-name
>
charsetfilter
</
filter-name
>
<
filter-class
>
pqp.servlet.CharsetFilter
</
filter-class
>
</
filter
>
<
filter-mapping
>
<
filter-name
>
charsetfilter
</
filter-name
>
<
url-pattern
>
/*
</
url-pattern
>
<
dispatcher
>
REQUEST
</
dispatcher
>
</
filter-mapping
>
其中“REQUEST”指定了filter拦截的类型,有REQUEST、FORWARD、ERROR和INCLUDE,可组合选择,一般选REQUEST。全部设置好后重新打包、部署,这样Servlet就可以自动把所有的request转换为GBK的字符集了,是不是很方便?
但在这里加了filter后对性能方面的影响未知,大家可以讨论一下。
posted on 2005-11-04 19:42
^ Mustang ^
阅读(1769)
评论(0)
编辑
收藏
所属分类:
Java 点滴
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
“软件工业奥斯卡”SYS-CON读者选择奖: Java开发(转载自CSDN)
Java API中文版[转载自Sun技术社区]
使用FilterServlet对页面进行转码
java.util.Calendar中的陷阱
奇怪的范型定义
Java Concurrent框架之阻塞队列(Blocking queue)
Java code name
Tomcat 5.5.9 不支持switch(<enum>)?
Joshua Bloch咏Tiger诗八首
接口与Object类的关系?