01-拦截器介绍
首先在pom.xml里面加入springmvc的依赖

创建拦截类


在spring-mvc.xml配置拦截器配置

创建控制类测试


拦截器中处理方法之前的方法介绍

拦截器中处理方法之后,渲染之前的方法介绍

拦截器中处理方法之后,渲染之后的方法介绍

判断拦截器和过滤器先后的执行顺序
首先创建过滤器

然后执行此方法

首先先进入tomcat服务器,然后到过滤器前,然后进入前端控制器dispatcherservlet,然后到拦截器preHandle,然后执行方法,让执行拦截器的postHandle的方法,然后执行拦截的afterCompletion方法,然后执行拦截器的过滤后,

拦截器的过滤器的区别

什么时候用request什么时候用session

如果你直接访问admin.jsp的页面的话会报错,因为拦截器
在请求映射到对应的处理方法映射,实现类才是HandlerMethod如下图为自己创建的在控制类中的方法有RequestMapping映射

如果是视图控制器,实现类ParameterizableViewController如下图为视图控制器admin.jsp



实现登录页面的拦截,防止用户跳过登录直接到后台
首先创建@PostMapping请求是处理登录请的,@GetMapping请求是访问登录页面的,为啥要创建@GatMapping请求是因为login.jsp是在WEB-INF目录下的在此目录下是不能直接访问的,只能通过get请求转发到login,



表单展示

点击表单按钮后会请求post,然后会进入admin.jsp页面输出数据

给admin配置视图控制器,注意视图控制器只能在方法中没有此path才能生效,例如举个例子

如果配置login视图控制器就会失效因为在控制类中用@GetMapping配置了/login有了映射,所以视图控制器会失效


为了防止用户直接进入到后台,我们在spring-mvc中配置了不拦截get请求的/login()mvc:exclude-mapping,和要拦截所有请求的mvc:mapping path="/**"/,创建一个新的拦截器

CheckLoginInterceptor拦截器专门拦截admin页面在没有登录的情况下
