通过过滤器(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>
热门推荐
10 朋友入伙搬家祝福语简短
11 老爸六十生日祝福语 简短
12 新人给朋友祝福语简短
13 岳母娘生日祝福语简短
14 项目部新年祝福语简短
15 乔迁当面祝福语简短大气
16 友谊晚上祝福语大全简短
17 夸赞老师祝福语搞笑简短
18 祝福语赠言给老师简短