小方的Java博客
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
27 随笔 :: 17 文章 :: 115 评论 :: 0 Trackbacks
<
2006年6月
>
日
一
二
三
四
五
六
28
29
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
公告
常用链接
我的随笔
我的文章
我的评论
我的参与
最新评论
留言簿
(6)
给我留言
查看公开留言
查看私人留言
随笔分类
(24)
AJAX(9)
(rss)
JAVA API 自学(2)
(rss)
其他技术(6)
(rss)
开发经验点滴(1)
(rss)
程序人生(3)
(rss)
非技术(3)
(rss)
随笔档案
(27)
2008年12月 (1)
2008年8月 (1)
2007年6月 (1)
2007年3月 (1)
2007年2月 (3)
2006年10月 (3)
2006年9月 (2)
2006年8月 (4)
2006年7月 (7)
2006年6月 (4)
文章分类
(17)
Hibernate(1)
(rss)
Html & Script(1)
(rss)
J2se 基础(3)
(rss)
J2se 高级(2)
(rss)
Java 学习方法(1)
(rss)
java 设计模式(2)
(rss)
Jsp(3)
(rss)
Servlet(1)
(rss)
Struts(2)
(rss)
其它(1)
(rss)
文章档案
(17)
2006年6月 (1)
2006年2月 (15)
2005年11月 (1)
相册
other
top
work.input_hint
连接专用
收藏夹
(1)
oo(1)
(rss)
BlogJava 朋友
中东大哥
在路上
快乐笛子
爱勤劳的鱼
最新随笔
1. DWR2.0的调用前拦截
2. [整理]sql语句一些实用技巧for oracle
3. [原创]毕业设计答辩之后感想
4. [整理]JavaScript的混合继承方法
5. [hibernate3]lab sysem项目一些建议
6. [整理]JavaScript最流行的2种定义类的方式
7. [原创/整理]首次发布DWR中文文档.PDF
8. [转载]"软件外包",中国软件行业何去何从?
9. [转载]与大学生谈软件外包
10. [原创]一个javascript的时钟
搜索
积分与排名
积分 - 74768
排名 - 741
最新评论
1. re: [原创]毕业设计答辩之后感想
同感!!!!!!!!!!!!!!
--wordcount
2. re: java多线程设计模式
高质量文章
--明明的JavaBlog
3. re: [整理] java.util.Calendar
评论内容较长,点击标题查看
--杨正益
4. re: [原创]公司实习中的领悟
看了你的,我才发现我做错了很多。我现在只是要专业知识而已。而已英语我从来就没有放在心上。看了你的我决定要好好的看英语了
--花花公子
5. re: [原创]DWR2.0的调用前拦截
在你这个应用里面怎么可以获得请求的URL呀,我想判断一下用户是否对某一个资源是否有访问权限的时候怎么样才能知道他是访问的那个资源呢
--小简
6. re: [原创]DWR2.0的调用前拦截
@bln13fb
这是我们公司自己的类,这里只是个范例,你自己有自己的类
--方佳玮
7. re: [原创/整理]首次发布DWR中文文档.PDF
支持您的事业!!!
--陈庚阳
8. re: [整理]SQL语句学习手册实例版
找的您好辛苦!您用心了!
--youyouday
9. re: [原创/整理]首次发布DWR中文文档.PDF
http://www.pusuo.net
--www.pusuo.net
10. re: [原创]DWR2.0的调用前拦截
ISessionContainer
SecurityFactory
如何导入
--bln13fb
阅读排行榜
1. [原创/整理]首次发布DWR中文文档.PDF(7610)
2. [整理]JavaScript最流行的2种定义类的方式(6157)
3. [整理]SQL语句学习手册实例版(5633)
4. [整理]Google Web Toolkit 和 googlipse(GWT eclipse 插件)开发ajax(4974)
5. [原创] 用GWT做的输入前提示(3489)
6. [整理] java.lang.reflect(2978)
7. DWR2.0的调用前拦截(2892)
8. [整理]sql语句一些实用技巧for oracle(2759)
9. [整理]介绍一个GWT的网站(2315)
10. [整理] java.util.Calendar(1851)
评论排行榜
1. [原创/整理]首次发布DWR中文文档.PDF(49)
2. [原创] 用GWT做的输入前提示(10)
3. [整理]SQL语句学习手册实例版(8)
4. [整理]sql语句一些实用技巧for oracle(6)
5. [原创]毕业设计答辩之后感想(6)
6. [原创]ajax in action 第9章 j2ee版 动态双组合功能(6)
7. [整理]介绍一个GWT的网站(4)
8. [原创]公司实习中的领悟(4)
9. [整理]什么才是最好处理中文方法(4)
10. [整理]Google Web Toolkit 和 googlipse(GWT eclipse 插件)开发ajax(3)
[整理]什么才是最好处理中文方法
问题提出:
看了不少文章处理中文,比如:在 jsp里写
// 传统方式
<%
@ page contentType
=
"
text/html; charset=gb2312
"
%>
<
html
>
<
body
>
<
form
method
=post
action
=test.jsp
>
<
input
type
=text
name
=your_name
>
</
form
>
<%
=
new
String
(request.getParameter(
"
your_name
"
).getBytes(
"
8859_1
"
),
"
GB2312
"
)
%>
</
body
>
</
html
>
// 新的方式
<%
@ page contentType
=
"
text/html; charset=gb2312
"
%>
<%
request.setCharacterEncoding(
"
GB2312
"
);
%>
<
html
>
<
body
>
<
form
method
=post
action
=test.jsp
>
<
input
type
=text
name
=your_name
>
</
form
>
<%
=
request.getParameter(
"
your_name
"
)
%>
</
body
>
</
html
>
那是相当不好的方法,现在介绍一个朋友教我的方法:
问题解决方法:
步骤1:先写一个servlet EncodingFilter.java
1
import
javax.servlet.FilterChain;
2
import
javax.servlet.ServletRequest;
3
import
javax.servlet.ServletResponse;
4
import
java.io.IOException;
5
import
javax.servlet.Filter;
6
import
javax.servlet.http.HttpServletRequest;
7
import
javax.servlet.ServletException;
8
import
javax.servlet.FilterConfig;
9
10
public
class
EncodingFilter
implements
Filter
{
11
12
private
String targetEncoding
=
"
gb2312
"
;
13
protected
FilterConfig filterConfig;
14
15
public
void
init(FilterConfig config)
throws
ServletException
{
16
this
.filterConfig
=
config;
17
}
18
19
public
void
doFilter(
20
ServletRequest srequest,
21
ServletResponse sresponse,
22
FilterChain chain)
23
throws
IOException, ServletException
{
24
25
HttpServletRequest request
=
(HttpServletRequest) srequest;
26
request.setCharacterEncoding(targetEncoding);
//
把请求用指定的方式编码
27
//
把处理发送到下一个过滤器
28
chain.doFilter(srequest, sresponse);
29
}
30
31
public
void
destroy()
{
32
this
.filterConfig
=
null
;
33
}
34
35
public
void
setFilterConfig(
final
FilterConfig filterConfig)
{
36
this
.filterConfig
=
filterConfig;
37
}
38
}
39
步骤2:在web.xml里这样写
<
filter
>
<
filter-name
>
EncodingFilter
</
filter-name
>
<
display-name
>
EncodingFilter
</
display-name
>
<
filter-class
>
com.itthinker.payroll.common.EncodingFilter
</
filter-class
>
</
filter
>
<
filter-mapping
>
<
filter-name
>
EncodingFilter
</
filter-name
>
<
url-pattern
>
/*
</
url-pattern
>
</
filter-mapping
>
总结:
这样的话,任何映射地址全部会先加载EncodingFilter,中文处理就搞定了,不用那么麻烦在每个jsp文件写那么多重复代码了,很好地做到了,代码可复用性。当然
page contentType
=
"
text/html; charset=gb2312
"
还是要的
posted on 2006-06-08 17:44
方佳玮
阅读(486)
评论(4)
编辑
收藏
所属分类:
其他技术
评论
#
re: 什么才是最好处理中文方法
2006-06-08 21:02
thinkbase
GB2312 已经过时来, 推荐了解一下什么叫做 UTF-8
回复
更多评论
#
re: 什么才是最好处理中文方法
2006-06-08 21:50
方佳玮
好的,谢谢,我是新手,成长中
回复
更多评论
#
re: 什么才是最好处理中文方法[未登录]
2007-02-09 12:26
xmlspy
还有一个重要的
那个filter一定要在web.xml配置文件中第一位,否则...... 哈哈,你就折腾吧
回复
更多评论
#
re: 什么才是最好处理中文方法
2007-02-09 22:02
方佳玮
多谢楼上提醒
回复
更多评论
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
[整理]sql语句一些实用技巧for oracle
[原创]一个javascript的时钟
[原创]我大二时的数据结构(java语言描述)作业
[整理]SQL语句学习手册实例版
[提问]如何做权限管理?大家也可一一起讨论
[整理]什么才是最好处理中文方法
Powered by:
BlogJava
Copyright © 方佳玮