案例:编码过滤
编写过滤器代码:
MyFilter.java:
public class MyFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
//过滤器初始化执行,只执行一次
System.out.println(“filter init…”);
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException {
//过滤器执行方法
HttpServletRequest req = (HttpServletRequest) servletRequest;
//处理请求参数乱码
req.setCharacterEncoding("UTF-8");
HttpServletResponse resp = (HttpServletResponse) servletResponse;
//设置服务器字符集为UTF-8
resp.setContentType("text/html;charset=UTF-8");
//放行数据
filterChain.doFilter(req, resp);
}
@Override
public void destroy() {
//过滤器销毁,只执行一次
System.out.println("filter destroy...");
}
}
在web.xml中配置过滤器
web.xml:
MyFilter
com.mywork.wkr.filter.MyFilter
MyFilter
/*