通过过滤器(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 送给学长毕业祝福语简短