SpringMVC 的配置及拦截器
目录
- 1、SpringMVC 的配置
- 1.1、通过 SpringBoot 配置文件来配置
- 1.2、提供编程式的配置方案
- 2、Spring 拦截器
- 2.1、实现原理
- 2.2、自定义拦截器
- 2.3、将自定义拦截器加入到系统配置中
1、SpringMVC 的配置
1.1、通过 SpringBoot 配置文件来配置
- 配置日志文件名
- 配置日志文件路径
- 配置最大的文件大小限制
如果想了解更多系统配置项,可查看 Spring 官网
1.2、提供编程式的配置方案
- 自定义一个配置类,在类上添加注解 @Configuration,然后实现一个 SpringMVC 的接口 WebMvcConfigurer,该接口的方法都是配置 SpringMVC 的内容,且都是 default 默认的方法(即提供了方法实现),可以重写,也可以不重写。
- 在配置类中给指定的controller添加前缀
2、Spring 拦截器
拦截器从概念上来讲有两种:web 拦截器和方法拦截器,这里讲解的是 web 拦截器。java web 官方不提供拦截器,是 springmvc 提供的。
2.1、实现原理
发送请求,访问路径 -> 验证是否满足拦截器的路径规则 -> 若满足,则执行拦截器的请求拦截方法。
拦截器提供重写某些方法,包括执行请求前拦截和返回响应前拦截,方法返回值是 boolean,表示是否向下传递,可以提供n个拦截器,只有当所有拦截方法返回 true,即满足所有拦截条件,才允许访问。
2.2、自定义拦截器
- 创建自定义拦截器,实现 HandlerInterceptor 接口的 preHandle(请求前拦截)方法。如果用户未登录,则拦截,否则不拦截。
2.3、将自定义拦截器加入到系统配置中
- 在系统配置中重写添加拦截器的方法,在方法中配置需要拦截的路径,配置路径的方法是添加某些要拦截的路径,排除某些不拦截的路径,SpringMVC 支持模糊匹配的写法,其中 * 代表一级路径,** 代表任意多级路径。
- 在方法配置中添加自定义拦截器,并且配置拦截路径。