Filter的作用
Filter主要用来对用户的请求进行预处理,也可以对httpResponse进行后处理。原理如下:
在HttpRequest到达Servlet前,拦截客户的HttpRequest,根据需要检查HttpRequest传递的参数,也可以修改HttpRequest的头部和数据。
在HttpResponse到达客户端前,拦截HttpResponse,根据需要检查HttpResponse传递的参数,也可以修改HttpResponse的头部和数据。
Filter作用如下:
1、用户鉴权,Filter负责检查用户的请求,根据请求过滤用户的非法请求;
2、记录用户访问日志:详细记录用户的请求;
3、负责解码:包括对非标准编码的请求解码;
4、修改XML的内容。
Filter的实现
Filter其实是一个Servlet的技术。在Servlet API中提供一个Filter接口,我们一般编写java类实现这个接口,可以实现在请求在到达Servlet前进行拦截进入这个java类进行处理。
Filter接口有个doFilter方法,我们编写好doFilter方法后,配置这个Filter拦截哪些Web请求或者响应。web服务器每次访问这个web资源之前,会调用doFilter进行拦截处理。
配置web.xml实现哪个Filter处理哪些web请求