//常规使用方法,使用注解方式,只需要这两个配置即可,其他跟以前一样
//其他参数可以参考 http://www.ibm.com/developerworks/cn/java/j-lo-servlet30/
//比较坑爹就是如果是使用注解表示两个Filter,执行的先后顺序是根据class的名字来的定义
//假如有两个 AppFilter1 和 AppFilter0 那么使用注解方式,AppFilter0过滤一定是在前面的。
/**
* 这是一个字符过滤器
*
*/
@WebFilter(filterName = "encodingFilter", urlPatterns = "/*")
public class AppEncodingFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("encodingFilter init");
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding(XConst.CODE_UTF_8);
response.setCharacterEncoding(XConst.CODE_UTF_8);
chain.doFilter(request, response);
}
@Override
public void destroy() {
System.out.println("encodingFilter destroy");
}
}
转载于:https://my.oschina.net/rwrwd7/blog/535803