当前位置: 首页 > news >正文

销售平台网站建设方案建设外贸网站公司简介

销售平台网站建设方案,建设外贸网站公司简介,高新网站建设多少钱,免费微商城平台官网【Spring Boot系列】-Spring Boot过滤器Filter 文章目录 【Spring Boot系列】-Spring Boot过滤器Filter一、概述二、Filter#xff08;过滤器#xff09;数据流程三、Spring Boot 过滤器生命周期四、使用注解方式实现过滤器(WebFilter)4.1. 在springboot 启动类添加该注解Ser…【Spring Boot系列】-Spring Boot过滤器Filter 文章目录 【Spring Boot系列】-Spring Boot过滤器Filter一、概述二、Filter过滤器数据流程三、Spring Boot 过滤器生命周期四、使用注解方式实现过滤器(WebFilter)4.1. 在springboot 启动类添加该注解ServletComponentScan4.2. 写个过滤器类实现Filter接口4.3 WebFilter作用总结 五、Component注解实现过滤器六、Java Config 配置类七、FilterChain 的作用七、总结 一、概述 **Filter过滤器可以理解为经过一层次的过滤处理才达到使用的要求而其实Filter过滤器就是服务器与客户端请求与响应的中间层组件在实际项目开发中Filter过滤器**主要用于对浏览器的请求进行过滤处理将过滤后的请求再转给下一个资源。 **Filter过滤器**是一个小型web组件它们通过拦截请求和响应以便查看、提取或以某种方式操作客户端和服务器之间交换的数据实现“过滤”的功能。Filter通常封装了一些功能的web组件过滤器提供了一种面向对象的模块化机制将任务封装到一个可插入的组件中 Filter组件通过配置文件来声明并动态的代理。 二、Filter过滤器数据流程 接收用户请求处理用户请求Filter:拦截用户请求Listener:监听器 三、Spring Boot 过滤器生命周期 使用过滤器很简单只需要实现Filter类然后重写它的3个方法即可。 init方法程序启动调用Filter的init()方法(永远只调用一次)在容器中创建当前过滤器的时候自动调用这个方法。destory方法程序停止调用Filter的destroy()方法(永远只调用一次)在容器中销毁当前过滤器的时候自动调用这个方法。doFilter方法doFilter()方法每次的访问请求如果符合拦截条件都会调用(程序第一次运行会在servlet调用init()方法以后调用不管第几次都在调用doGet(),doPost()方法之前)。这个方法有3个参数分别是ServletRequest、ServletResponse和FilterChain可以从参数中获取HttpServletReguest和HttpServletResponse对象进行相应的处理操作。 四、使用注解方式实现过滤器(WebFilter) 4.1. 在springboot 启动类添加该注解ServletComponentScan SpringBootApplication ServletComponentScan // 过滤器 public class SpringbootFilterApplication {SpringApplication.run(SpringbootFilterApplication.class, args); }4.2. 写个过滤器类实现Filter接口 Component WebFilter(urlPatterns /filter/*, filterName myTestFilter) Slf4 public class MyTestFilter implements Filter {Overridepublic void init(FilterConfig filterConfig) throws ServletException {log.info([ {} ] 创建啦..., this.getClass().getSimpleName());}Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {log.info([ {} ] 执行啦..., this.getClass().getSimpleName());chain.doFilter(request, response);}Overridepublic void destroy() {log.info([ {} ] 被摧毁啦..., this.getClass().getSimpleName());} }4.3 WebFilter作用总结 Tomcat 的 servlet 包下的注解通过 WebFilter 注解可以将指定类声明为过滤器。 WebFilter 属性中没有配置顺序的其执行顺序和 Filter 类名称字符排序有关如果需要设置执行顺序可以在命名的时候注意一下。 五、Component注解实现过滤器 使用 Component 将类声明为 Bean 配合使用 Order 注解可以设置过滤器执行顺序。 Order(1) Component public class WebVisitFilter implements Filter {Overridepublic void init(FilterConfig filterConfig) throws ServletException {//初始化配置}/*** 输出访问*/Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {// 业务处理}Overridepublic void destroy() {//业务注销} } 六、Java Config 配置类 使用 Configuration Bean 配置类注解声明Bean交由 Spring 容器管理。 Java Config 的方式可以通过 Bean 配置顺序或 FilterRegistrationBean.setOrder() 决定 Filter 执行顺序。 public class MyFilter implements Filter {Overridepublic void init(FilterConfig filterConfig) throws ServletException {}Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {// 业务处理}Overridepublic void destroy() {} }Configuration public class MyFilterConfig {/*** 注册 过滤器 Filter*/Beanpublic FilterRegistrationBeanFilter webVisitFilterConfigRegistration() {//匹配拦截 URLString urlPatterns /admin/*,/system/*;FilterRegistrationBeanFilter registration new FilterRegistrationBeanFilter();registration.setDispatcherTypes(DispatcherType.REQUEST);registration.setFilter(new WebVisitFilter());registration.addUrlPatterns(StringUtils.split(urlPatterns, ,));//设置名称registration.setName(MyFilter);//设置过滤器链执行顺序registration.setOrder(3);//启动标识registration.setEnabled(true);//添加初始化参数registration.addInitParameter(enabel, true);return registration;} } 七、FilterChain 的作用 过滤器链是一种责任链模式的设计实现在一个Filter 处理完成业务后通过 FilterChain 调用过滤器链中的下一个过滤器。 流程如下 FilterChain 接口定义了 doFilter 方法 public interface FilterChain { public void doFilter(ServletRequest request, ServletResponse response)throws IOException, ServletException; }ApplicationFilterChain类实现了 FilterChain 接口管理所有的 Filter 的执行与调用 public final class ApplicationFilterChain implements FilterChain {// 数组存储所有的过滤器链private ApplicationFilterConfig[] filters new ApplicationFilterConfig[0];// 类中实现 doFilter() 方法 调用 调用 internalDoFilter(req,res) 方法public void doFilter(ServletRequest request, ServletResponse response)throws IOException, ServletException {// ...//调用 internalDoFilterinternalDoFilter(request,response);} }internalDoFilter(req,res) 方法中实现 Filter 调用的具体的操作 //取得数组中下一个过滤器实例 ApplicationFilterConfig filterConfig filters[pos]; Filter filter filterConfig.getFilter(); // ... //调用下一个过滤器的 doFilter() 方法 filter.doFilter(request, response, this); 七、总结 创建过滤器有三种方法分别 Component Order WebFilter ServlertComponentScan JavaConfig - FilterRegistrationBean 过滤器Filter作用场景 1.防止未登录就进入界面 2. 控制应用编码 3) . 过滤敏感词汇等场景
http://www.hkea.cn/news/14517471/

相关文章:

  • 网站服务器怎么搭建怎样提升网站关键词
  • 重庆手机网站建设建设银行信用卡去网站
  • 汕头企业网站推广方法自己买个服务器做代挂网站
  • 为企业做网站要向谁索要资料抚州的电子商务网站建设公司
  • 三网合一网站 东莞装修设计的网站
  • 湖北网址大全yoast seo教程
  • 荣成市信用建设网站免飞网站
  • 网站制作加教程视频网络平台推广具体是干啥
  • asp网站开发技术背景介绍然后制作网页
  • 公司网站模板怎么做wordpress 偷网页
  • sz住房和城乡建设部网站定西模板型网站建设
  • 小程序游戏源码wordpressseo网站设计外包
  • 专业做ea的网站菜鸟教程网站怎么做
  • 建设一个游戏网站需要多少钱世纪佳缘网站开发公司
  • 肯德基网站建设的目标装潢公司网站模板
  • 国外移动网站设计网站彩票投注员做啥的
  • c 网站开发视频教程 高清wordpress搜索代码
  • 廊坊文安建设局网站学ui设计网站
  • 北京企业官网建站招聘网站预算怎么做
  • 景区微网站建设费用免费空间 上传网站
  • 广东网站建设制作网站开发职业资格证书
  • 网站制作工具推荐iis网站发布默认首页
  • 百度公司网站推广怎么做周口市住房和城市建设局网站
  • 至少保存十个以上域名网站做网站怎么连数据库
  • 中山网站建设公司排名wordpress文章段落背景颜色代码
  • 打开网址资料网站国外用的网站
  • 网站建设哪里好翰诺科技咖啡厅网站开发目标
  • 网站制作公司的流程网页游戏新游戏
  • 建站行业的利润济南做网站企业
  • 优化网站找哪家做物流网站模块