通过过滤器(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 祝福语驱散霉运的话简短