記憶好很大程度決定能力!
適時總結是一種很好的彌補方法!
BlogJava
首頁
新隨筆
聯系
聚合
管理
隨筆 - 4 文章 - 10 trackbacks - 0
<
2025年7月
>
日
一
二
三
四
五
六
29
30
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
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(1)
給我留言
查看公開留言
查看私人留言
隨筆檔案
2009年4月 (1)
2007年12月 (1)
2007年9月 (1)
2007年8月 (1)
文章分類
ajax(1)
Database(24)
eclipse(5)
EJB(1)
hibernate(9)
j2ee(3)
j2se(13)
j2se名詞解釋(1)
JavaScript(6)
JAVA知識(8)
jsp實例(1)
jsp技術(10)
spring(8)
struts(8)
WEB開發(4)
xml(1)
技術文章(3)
編程實例
網站導航(9)
文章檔案
2009年3月 (5)
2009年2月 (2)
2007年10月 (1)
2007年9月 (15)
2007年8月 (94)
搜索
最新評論
1.?re: Spring 重點個人小結(摘錄)
能看見你的文章真是太好了,大神,我想問下你說“完整的代碼大家可以下載附件”,中的附件在哪里了,沒看見
--季雪
2.?re: IntelliJ IDEA 7注冊碼+中文入門手冊IntelliJ IDEA 7 注冊機(非覆蓋破解)
Rubish!!!!!!!!!!!!!!!!!!!!111
--nige
3.?re: IntelliJ IDEA 7注冊碼+中文入門手冊IntelliJ IDEA 7 注冊機(非覆蓋破解)
dddd
--jiaoziwj
4.?re: JavaScript學習筆記——客戶端與服務器端的通信
樓上的人 怎么這么說話 學習學習 怎么這樣說話
--10
5.?re: 用spring的AOP實現異常攔截 (轉)
真是無巧不成雙,,樓主引用的代碼,,是我同事寫的.原來07年她在廣州...哈哈哈.現在在北京了
--wonkzhang
閱讀排行榜
1.?Spring從入門到精通筆記(1028)
2.?[轉]工程師的N種性格 (329)
3.?[轉貼]做好個人時間管理(302)
4.?IT人的好習慣和不良習慣總結(轉csdn老紫竹的專欄的文章)(272)
評論排行榜
1.?[轉貼]做好個人時間管理(1)
2.?IT人的好習慣和不良習慣總結(轉csdn老紫竹的專欄的文章)(0)
3.?Spring從入門到精通筆記(0)
4.?[轉]工程師的N種性格 (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 2007-08-16 14:17
冬天出走的豬
閱讀(235)
評論(0)
編輯
收藏
所屬分類:
jsp實例
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
Copyright ©2025 冬天出走的豬 Powered by:
博客園
模板提供:
滬江博客
主站蜘蛛池模板:
99爱免费观看视频在线
|
国产成人免费a在线视频色戒
|
182tv免费观看在线视频
|
毛片免费在线视频
|
亚洲色偷偷综合亚洲AVYP
|
亚洲一级在线观看
|
国产精品免费一区二区三区
|
亚洲一区免费视频
|
国产啪亚洲国产精品无码
|
日本亚洲免费无线码
|
久久久久免费看黄a级试看
|
免费不卡中文字幕在线
|
亚洲综合区图片小说区
|
香蕉免费一级视频在线观看
|
麻豆国产精品免费视频
|
亚洲福利电影一区二区?
|
又粗又大又黑又长的免费视频
|
男女一边摸一边做爽的免费视频
|
亚洲成av人片在线观看天堂无码
|
亚洲成人福利在线
|
A片在线免费观看
|
亚洲 另类 无码 在线
|
亚洲熟女综合一区二区三区
|
57pao一国产成永久免费
|
亚洲Av无码一区二区二三区
|
日韩免费高清视频网站
|
亚洲一线产品二线产品
|
亚洲国产精品一区二区九九
|
国产L精品国产亚洲区久久
|
亚洲爆乳少妇无码激情
|
中文字幕av无码无卡免费
|
亚洲视频免费观看
|
91精品手机国产免费
|
亚洲国产精品久久久久久
|
中文字幕视频在线免费观看
|
亚洲AV无码乱码在线观看
|
国产拍拍拍无码视频免费
|
亚洲精品无码mv在线观看网站
|
人碰人碰人成人免费视频
|
亚洲第一黄片大全
|
日韩插啊免费视频在线观看
|