springboot拦截器:
@component
public class myinterceptor implements handlerinterceptor {
/**
* prehandle:在业务处理器处理请求之前被调用。预处理,可以进行编码、安全控制、权限校验等处理;
* @param request
* @param response
* @param handler
* @return
* @throws exception
*/
@override
public boolean prehandle(httpservletrequest request, httpservletresponse response, object handler)
throws exception {
system.out.println("prehandle");
//进行逻辑判断,如果ok就返回true,不行就返回false,返回false就不会处理改请求
return true;
}
/**
* posthandle:在业务处理器处理请求执行完成后,生成视图之前执行。后处理(调用了service并返回modelandview,但未进行页面渲染),有机会修改modelandview;
* @param request
* @param response
* @param handler
* @param modelandview
* @throws exception
*/
@override
public void posthandle(httpservletrequest request, httpservletresponse response, object handler, modelandview modelandview) throws exception {
system.out.println("posthandle...");
}
/**
* aftercompletion:在dispatcherservlet完全处理完请求后被调用,可用于清理资源等。返回处理(已经渲染了页面);
* @param request
* @param response
* @param handler
* @param ex
* @throws exception
*/
@override
public void aftercompletion(httpservletrequest request, httpservletresponse response, object handler, exception ex) throws exception {
system.out.println("aftercompletion...");
}
}
/**
* 使用webmvcconfigurer可以来扩展springmvc的功能
*
* 在spring5.0之前可以继承webmvcconfigureradapter此适配器进行配置,但spring5.0以后此适配器就被废弃(已被标注为@deprecated),
* 目前有两种解决方案,一种是直接实现webmvcconfigurer,另一种是直接继承webmvcconfigurationsupport,官方推荐第一种方案。
*/
@configuration
public class webmvcconfig implements webmvcconfigurer {
/**
* 自定义拦截规则
*
* @param registry
*/
@override
public void addinterceptors(interceptorregistry registry) {
// addpathpatterns - 用于添加拦截规则
// excludepathpatterns - 用户排除拦截
registry.addinterceptor(new myinterceptor())
.addpathpatterns("/**")
.excludepathpatterns("/");
}
}
如对本文有疑问, 点击进行留言回复!!
springmvc之ResponseBody响应json数据遇到的错误及解决
uni-app 后台升级 静默升级 uniapp 后台更新 静默更新 在线升级
SpringBoot多Module启动报错Could not transfer metadata
Hibernate项目报错:Cannot call sendError() after the response has been committed
网友评论