SpringMVC——拦截器Interceptor
2021/11/29 6:06:23
本文主要是介绍SpringMVC——拦截器Interceptor,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
简介
spring的拦截器interceptor就是web的Filter
部署
<!-- 配置拦截器群 --> <mvc:interceptors> <!-- 配置拦截器 --> <mvc:interceptor> <!-- 配置拦截路径! /** 代表所有 --> <mvc:mapping path="/**"/> <!-- 配置排除操作 path=“排除路径” --> <mvc:exclude-mapping path="/user/login"/> <!-- mvc内生成拦截器对象 --> <bean class="xyz.javaswing.Interceptor.PrivilegeInterceptor"/> </mvc:interceptor> </mvc:interceptors>
实现
拦截的使用实现Spring提供拦截器接口:HandlerInterceptor
重写内部的方法。
boolean preHandle (HttpServletRequest request , HttpServletResponse response , Object handler)
参数
request:拦截的请求对象
response:拦截的响应对象
handler:未知
返回值:boolean
返回值意义:能否通行。true可以通行,false不可通行
作用:拦截在响应前做出过滤操作
void postHandle(HttpServletRequest request,HttpServletResponse response , Object Handler,ModelAndView modelAndView)
参数:
request:拦截到的请求对象
response:拦截到的响应对象
handler:未知
modelAndView:拦截到的视图对象
返回值:无
返回值意义:无
作用:拦截请求,在视图返回前做出操作。
void afterCompletion(HttpServletRequest request,HttpServletResponse response , Object Handler,Exception ex)
参数:
request:拦截到的请求对象
response:拦截到的响应对象
handler:未知
ex:异常对象,未知作用
返回值:void
返回值意义:无
作用:在视图返回后,作操作
使用
<!-- 配置拦截器 --> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <!-- 配置排除操作 --> <mvc:exclude-mapping path="/user/login"/> <bean class="xyz.javaswing.Interceptor.PrivilegeInterceptor"/> </mvc:interceptor> </mvc:interceptors>
public class PrivilegeInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { // 判断用户是否登陆,session中有无user HttpSession session = request.getSession(); User user =(User) session.getAttribute("user"); if( user == null ){ response.sendRedirect(request.getContextPath()+"/login.jsp"); return false; // 不放行 } // 有user,放行。让它访问啥就访问啥。 return true; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { } }
这篇关于SpringMVC——拦截器Interceptor的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南