过滤器能够完成什么功能呢?过滤器就好像是在客户端与服务端之间建立了一道道门,客户端发出的请求必须通过这一道道门后才能进入到服务端拿取数据。而这一道道门就相当于是一个个过滤器,通过第一个过滤器才能到达第二个过滤器,依次往后过滤,全部过滤通过才能请求到服务端。利用这个方法我们可以完成比如说:设置编码格式、过滤登出用户,过滤访问权限不足的用户等等功能。
配置过滤器实际上是实现过滤器的接口,并从写其中的三个方法:doFilter(request,response,chain),init()、destroy()。一般只需要在doFilter方法中进行过滤操作。其他两个方法不需要重写什么代码。
下面是一个简单的过滤登出用户的功率器代码,目的是防止用户未登录就进入到操作页面:
public class LoginRedirect implements Filter {
@Override
public void init(FilterConfig arg0) throws ServletException {
}
@Override
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
// 强转
HttpServletRequest request = (HttpServletRequest) req;
HttpServletRespons