Servlet学习——@WebInitParam注解方式在过滤器实现编码转换
@WebInitParam注解方式在过滤器实现编码转换
在@WebFilter中添加注解代码:
@WebInitParam(name = “charSet”, value = “utf-8”)
如:
@WebFilter(filterName="Filter",urlPatterns="/*", initParams = {
@WebInitParam(name = "noLoginPaths", value = "index.jsp;fail.jsp;/LoginServlet"),
@WebInitParam(name = "charSet", value = "utf-8")
})
使用config.getInitParameter()方法得到,@WebInitParam中的名为charSet的value(utf-8),再使用requesst.setCharacterEncoding()设置转换编码。
如:
/*
* //解决中文编码乱码问题
request.setCharacterEncoding("utf-8");
*/
//解决乱码问题升级版,使用注解方式
String charSet = config.getInitParameter("charSet");
if(charSet==null||"".equals(charSet))//判断charSet是否为空防止意外错误
{
charSet="utf-8";
}
request.setCharacterEncoding(charSet);