过滤器:Filter
拦截器:Interceptor
过滤器与拦截器的区别:
1 拦截器(interceptor)只对action请求起作用,而过滤器(filter)则可以对几乎所有的请求起作用
2 过滤器是在请求进入容器(Tomcat)之后,但是请求进入Servlet之前。请求结束返回时也是,拦截器是在Servlet处理完之后,返回给前端之前
做一个登陆的拦截
创建类
package com.gm.interceptor;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* @author 起风
* @date 2020/3/2 9:51
*/
public class LoginInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//在拦截点执行拦截,如果返回的true则不执行拦截点后的操作(拦截成功)
// 1 判断当前的user用户不为空 获取当前的登陆方法
HttpSession session = request.getSession();
String url = request.getRequestURI();
System.out.println("接收到的action为:" + url)