一. 过滤器的定义:
1.1 过滤器方法说明
过滤器配置:
1. 2 XML配置方式
1.3 注解配置:
二 . 实现阻止登录前进行其他操作
package com.cyh.filter;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
@WebFilter("/*")
public class Myfilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
//过滤器是在Tomcat服务启动的时候,会调用该方法,一般是进行初始化或资源的获取
System.out.println("过滤器的初始化。。。。");
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
//映射地址匹配后,过滤器会调用该方法,过滤器是在servlet执行之前执行
System.out.println("过滤器的执行。。。");
//强制转换,将servletRequest转化为requset
HttpServletRequest request= (HttpServletRequest) servletRequest;
//1. 如果用户请求的是登录页面或者执行登录请求(获取用户的请求路径),则放行
String contextPath = request.getContextPath();//获取项目路径
String uri = request.getRequestURI();//获取项目路径+资源路径
StringBuffer url = request.getRequestURL();//获取项目完整的的url请求地址
String servletPath = request.getServletPath();//获取请求的资源路径
System.out.println(servletPath);
}
@Override
public void destroy() {
//服务器关闭或者宕机,会调用该方法,一般是进行资源的释放
System.out.println("过滤器的销毁。。。。");
}
}