冻冰三尺,非一日之寒
Life was like a box of chocolates. You never know what you're gonna get....
BlogJava
首页
新随笔
联系
聚合
管理
随笔-9 评论-1 文章-0 trackbacks-0
filters
package
filters;
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;
import
javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletRequestWrapper;
public
class
TomcatFormFilter
implements
Filter
{
/** */
/**
* Request.java 对 HttpServletRequestWrapper 进行扩充, 不影响原来的功能并能提供所 有的
* HttpServletRequest 接口中的功能. 它可以统一的对 Tomcat 默认设置下的中文问题进行解决而只 需要用新的 Request
* 对象替换页面中的 request 对象即可.
*/
class
Request
extends
HttpServletRequestWrapper
{
public
Request(HttpServletRequest request)
{
super
(request);
}
/** */
/**
* 转换由表单读取的数据的内码. 从 ISO 字符转到 GBK.
*/
public
String toChi(String input)
{
try
{
byte
[] bytes
=
input.getBytes(
"
ISO8859-1
"
);
return
new
String(bytes,
"
GBK
"
);
}
catch
(Exception ex)
{
}
return
null
;
}
/** */
/**
* Return the HttpServletRequest holded by this object.
*/
private
HttpServletRequest getHttpServletRequest()
{
return
(HttpServletRequest)
super
.getRequest();
}
/** */
/**
* 读取参数 -- 修正了中文问题.
*/
public
String getParameter(String name)
{
return
toChi(getHttpServletRequest().getParameter(name));
}
/** */
/**
* 读取参数列表 - 修正了中文问题.
*
*/
public
String[] getParameterValues(String name)
{
String values[]
=
getHttpServletRequest().getParameterValues(name);
if
(values
!=
null
)
{
for
(
int
i
=
0
; i
<
values.length; i
++
)
{
values[i]
=
toChi(values[i]);
}
}
return
values;
}
}
public
void
destroy()
{
}
public
void
doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)
throws
IOException, ServletException
{
HttpServletRequest httpreq
=
(HttpServletRequest) request;
if
(httpreq.getMethod().equals(
"
POST
"
))
{
request.setCharacterEncoding(
"
GBK
"
);
}
else
{
request
=
new
Request(httpreq);
}
chain.doFilter(request, response);
}
public
void
init(FilterConfig filterConfig)
throws
ServletException
{
}
}
posted on 2008-07-03 13:39
QQ小妹
阅读(241)
评论(0)
编辑
收藏
所属分类:
JAVA
<
2008年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)
给我留言
查看公开留言
查看私人留言
随笔分类
Flash cs(2)
hibernate(1)
JAVA(3)
Javascript
spring(1)
struts2
随笔档案
2009年11月 (1)
2009年6月 (1)
2008年7月 (2)
相册
往往
friend
hibernate basic study
http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=3077
javaeye
mootols javascript
netbeans
scm QA
thoughtworks blog
Yohoo Design Pattern
搜索
最新评论
1. re: google anaytics
test
--QQ小妹
阅读排行榜
1. spring error for applicationContext.xml(812)
2. filters(241)
3. google anaytics(149)
4. 目标位置在哪儿(146)
评论排行榜
1. google anaytics(1)
2. 目标位置在哪儿(0)
3. spring error for applicationContext.xml(0)
4. filters(0)
every day is new day