最近用java的springBoot框架开发一个登陆的功能,发现springboot有个颇有意思的功能就是拦截器能能php
其实拦截器就至关于php的构造函数,不对,应该是包含了php的构造函数。java
具体步骤以下:spring
也就是框架在启动的时候先要建立一个拦截器api
新建类而后去继承WebMvcConfigurerAdapter,而后重写addInterceptors这个方法,建立拦截器就在这个方法里面springboot
@Override public void addInterceptors(InterceptorRegistry registry) { //注册自定义拦截器,添加拦截路径和排除拦截路径 registry.addInterceptor(new InterceptorConfig()).addPathPatterns("api/path/**").excludePathPatterns("api/path/login");
addInterceptor:建立拦截器对象框架
addPathPatterns:url正则匹配ide
excludePathPatterns:排除的路径函数
(注意:addInterceptors这个方法所在的类必需要加注释@Configuration不然是行不通的,网上好多和我相同的方法,都是没有这个注解)post
public class AuthInterceptor implements HandlerInterceptor{ /** * 进入请求的时候拦截 */ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { Log.info("---------------------开始进入请求地址拦截----------------------------"); return false; } /** * 视图渲染以前拦截 */ @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { Log.info("---------------------处理请求完成后视图渲染以前的处理操做----------------------------"); } /** * 视图渲染以后 */ @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { Log.info("---------------------视图渲染以后的操做----------------------------"); } }
preHandle:这个方法是url地址刚请求的时候就进这个方法url
postHandle:这个方法是请求的方法执行完了,要渲染页面了,那个先进这个方法
afterCompletion:这个方法是页面渲染后触发这个方法
若是是登陆注册就用preHandle这个作拦截就能够了,若是返回true就经过拦截器了,不然不经过