类型转换器,就是将请求参数中的字符串 转换成其他类型,进行方法参数的赋值
定义一个类型转换器,需要实现
Converter
接口,会有一个泛型
(
即对数据类型的约束
)
;
SpringMVC
拦截器
springMVC
拦截器的配置
/WEB-INF
路径的下文件,属于隐藏文件,只能通过项目内部进行跳转,不能通过路径直接访问;
编写案例
定义一个类型转换器,需要实现
Converter
接口,会有一个泛型
(
即对数据类型的约束
)
;
拦截器与
Servlet
中的过滤器
Filter
类似
主要区别:
1
、实现原理不同 拦截器是基于
java
的反射机制的,而过滤器是基于函数回调;
2
、使用范围不同 拦截器不依赖与
servlet
容器,过滤器依赖与
servlet
容器。
3
、触发时机不同 过滤器先执行
(
在
servlet
之前
)
,拦截器后执行
(
在
servlet
之后执行
)
;
4
、拦截的请求范围不同
5
、注入
Bean
情况不同 拦截器可以获取
IOC
容器中的各个
bean
,而过滤器就不行,拦截器里可
以注入一个
service
,可以调用业务逻辑。
6
、控制执行顺序不同 过滤器
1
个方法,拦截器
3
个方法
(preHandle
按照顺序执行 ,另外两个
方法顺序相反
)
,
springMVC
拦截器的配置
1
、实现
HandlerInterceptor
接口 或者 继承
HandlerInterceptor
的实体子类
2
、实现
WebRequestInterceptor
接口 或者 继承
WebRequestInterceptor
的实体子类
/WEB-INF
路径的下文件,属于隐藏文件,只能通过项目内部进行跳转,不能通过路径直接访问;
编写案例
实现功能,
用户登录后,可以访问
/selectAll /add /delete
未登录用户,只能访问
/login
访问其他路径时,自动跳转至登录页,并展示错误信息
"
用户未
登录
"