脚本宝典收集整理的这篇文章主要介绍了项目实战(1)-拦截器,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
拦截器的基本作用是:
WebMvcconfigurer、InterceptorRegistry、HandlerInterceptor PReHandle、postHandle、afterCompletion
拦截器,首先实现拦截:
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Autowired
LoginTicketInterceptor LOGinTicketInterceptor;//要注册的拦截器
@override
public void addInterceptors(InterceptorRegistry registry) {
//注册拦截器、排除、添加
registry.addInterceptor(loginTicketInterceptor)
.excludePathPatterns("/**/*.css", "/**/*.js", "/**/*.png", "/**/*.jpg", "/**/*.jPEg")
.addPathPatterns("/register", "/login");
}
}
拦截器,其次是拦截之后干嘛
@component
public class LoginTicketInterceptor implements HandlerInterceptor {
private static final Logger logger= LoggerFactory.getLogger(Alphainterceptor.class);
//调用前拦截
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
...//业务逻辑,以登录为例
//调用方法前,判断/查找登陆凭证,将用户存储到hostHolder中。
logger.debug("preHandle:"+handler.toString());
return true;
}
//Controller之后,return返回htML之前执行
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
...//业务逻辑
//用户已登录,就同时向前端返回当前登录用户,前端就可以根据用户是否已登陆,进行相应的判断,显示对应的功能
logger.debug("postHandle:"+handler.toString());
}
//返回html之后之执行
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
...//业务逻辑
//调用结束,清除用户信息
logger.debug("afterCompletion:"+handler.toString());
}
}
以上是脚本宝典为你收集整理的项目实战(1)-拦截器全部内容,希望文章能够帮你解决项目实战(1)-拦截器所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。