整理文档,搜刮出一个spring boot实现过滤器和拦截器demo ,稍微整理精简一下做下分享。

拦截器定义:
@WebServlet
public class ActionInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
// System.out.println(">>>MyInterceptor1>>>>>>>在请求处理之前进行调用(Controller方法调用之前)");
// 获取系统时间
Calendar ca = Calendar.getInstance();
int hour = ca.get(Calendar.HOUR_OF_DAY);
// 设置限制运行时间 0-4点
if (hour < 4) {
return true;
}
return false;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
// System.out.println(">>>MyInterceptor1>>>>>>>请求处理之后进行调用,但是在视图被渲染之前(Controller方法调用之后)");
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
// System.out.println(">>>MyInterceptor1>>>>>>>在整个请求结束之后被调用,也就是在DispatcherServlet
// 渲染了对应的视图之后执行(主要是用于进行资源清理工作)");
}
}
拦截器使用: 关于注解 我使用的是@Component 其实也可能声明成配置
@Component
public class ApplicationConfig {extends WebMvcConfigurerAdapter
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 多个拦截器组成一个拦截器链
// addPathPatterns 用于添加拦截规则
// excludePathPatterns 用户排除拦截
registry.addInterceptor(new ActionInterceptor()).addPathPatterns("/service/extract/json/**");
super.addInterceptors(registry);
}
}
过滤器:
定义:
public class ActionFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// 获取系统时间
Calendar ca = Calendar.getInstance();
int hour = ca.get(Calendar.HOUR_OF_DAY);
// 设置限制运行时间 0-4点
if (hour < 4) {
HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setCharacterEncoding("UTF-8");
httpResponse.setContentType("application/json; charset=utf-8");
// 消息
Map<String, Object> messageMap = new HashMap<>();
messageMap.put("status", "1");
messageMap.put("message", "此接口可以请求时间为:0-4点");
ObjectMapper objectMapper=new ObjectMapper();
String writeValueAsString = objectMapper.writeValueAsString(messageMap);
response.getWriter().write(writeValueAsString);
} else {
chain.doFilter(request, response);
}
}
@Override
public void destroy() {
}
}
使用:
@Component
public class ApplicationConfig {
@Bean
public FilterRegistrationBean filterRegistrationBean() {
FilterRegistrationBean registrationBean = new FilterRegistrationBean();
ActionFilter actionFilter = new ActionFilter();
registrationBean.setFilter(actionFilter);
List<String> urlPatterns = new ArrayList<String>();
urlPatterns.add("/service/extract/json/*");
registrationBean.setUrlPatterns(urlPatterns);
return registrationBean;
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# spring
# boot
# 过滤器
# springboot
# 拦截器
# springboot配置过滤器
# SpringBoot 过滤器、拦截器、监听器对比及使用场景分析
# 浅谈SpringMVC的拦截器(Interceptor)和Servlet 的过滤器(Filter)的
# Spring Boot拦截器和过滤器实例解析
# SpringBoot实现拦截器、过滤器、监听器过程解析
# spring boot设置过滤器、监听器及拦截器的方法
# 详谈springboot过滤器和拦截器的实现及区别
# Spring Boot使用过滤器和拦截器分别实现REST接口简易安全认证示例代码详解
# Spring Boot项目实战之拦截器与过滤器
# SpringBoot定义过滤器、监听器、拦截器的方法
# Spring拦截器和过滤器的区别在哪?
# 的是
# 是在
# 也就
# 多个
# 时间为
# 大家多多
# 结束之后
# 主要是
# 文档
# 但是在
# 在整个
# getInstance
# ca
# lt
# HOUR_OF_DAY
# hour
# int
# gt
# println
相关文章:
宝塔建站无法访问?如何排查配置与端口问题?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
股票网站制作软件,网上股票怎么开户?
黑客如何通过漏洞一步步攻陷网站服务器?
如何选择域名并搭建高效网站?
如何在西部数码注册域名并快速搭建网站?
全景视频制作网站有哪些,全景图怎么做成网页?
焦点电影公司作品,电影焦点结局是什么?
如何用美橙互联一键搭建多站合一网站?
建站之星会员如何解锁更多建站功能?
如何快速搭建FTP站点实现文件共享?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
网站制作公司广州有几家,广州尚艺美发学校网站是多少?
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
免费公司网站制作软件,如何申请免费主页空间做自己的网站?
网站插件制作软件免费下载,网页视频怎么下到本地插件?
如何通过主机屋免费建站教程十分钟搭建网站?
网站制作说明怎么写,简述网页设计的流程并说明原因?
,有什么在线背英语单词效率比较高的网站?
如何用IIS7快速搭建并优化网站站点?
淘宝制作网站有哪些,淘宝网官网主页?
建站主机核心功能解析:服务器选择与网站搭建流程指南
制作网站怎么制作,*游戏网站怎么搭建?
如何通过商城免费建站系统源码自定义网站主题?
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
大同网页,大同瑞慈医院官网?
建站之星免费模板:自助建站系统与智能响应式一键生成
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
深圳网站制作平台,深圳市做网站好的公司有哪些?
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
如何在阿里云香港服务器快速搭建网站?
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
如何在云主机上快速搭建多站点网站?
如何在云主机上快速搭建网站?
如何快速搭建二级域名独立网站?
制作销售网站教学视频,销售网站有哪些?
红河网站制作公司,红河事业单位身份证如何上传?
ppt制作免费网站有哪些,ppt模板免费下载网站?
如何零基础开发自助建站系统?完整教程解析
如何选择可靠的免备案建站服务器?
小型网站制作HTML,*游戏网站怎么搭建?
宝塔面板创建网站无法访问?如何快速排查修复?
如何用腾讯建站主机快速创建免费网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。