通过过滤器(Filter)解决JSP的Post和Request中文乱码问题
jsp代码:
importjavax.servlet.*;
importjavax.servlet.http.*;
publicclassCharsetFilterimplementsFilter
{
publicvoiddestroy()
{
}
publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)
{
try
{
HttpServletRequesthttpRequest=(HttpServletRequest)request;
Stringmethod=httpRequest.getMethod().toLowerCase();
if(method.equals("post"))
{
//如果是post,即表单方法,直接设置charset即可
request.setCharacterEncoding("UTF-8");
}
elseif(method.equals("get"))
{
//如果是get方法
request.setCharacterEncoding("UTF-8");
request=newHttpServletRequestWrapper((HttpServletRequest)request)
{
publicStringgetParameter(Stringstr)
{
try
{
returnnewString(super.getParameter(str).getBytes("iso-8859-1"),"GBK");
}
catch(Exceptione)
{
returnnull;
}
}
};
}
chain.doFilter(request,response);
}
catch(Exceptione){}
}
publicvoidinit(FilterConfigfilterConfig)
{
}
}
过滤器配置:
<filter> <filter-name>CharFilter</filter-name> <filter-class>CharsetFilter</filter-class> </filter> <filter-mapping> <filter-name>CharFilter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> </filter-mapping>
热门推荐
1 训练狗狗基础
2 怎么训练狗狗笑
3 怎么训练狗狗卧下
4 上海狗狗训练基地
5 训练狗狗排便
6 狗狗基础训练
8 如何训练狗狗装死
9 狗狗站姿训练
10 狗狗训练用品
11 训练狗狗吧
12 狗狗要怎么训练
13 怎么训练狗狗玩球
14 训练狗狗唤回
15 狗狗训练躺下
16 狗狗训练指令
17 狗狗的训练技巧
18 狗狗不好训练