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

赣州网站设计电话投放小网站

赣州网站设计,电话投放小网站,光电工程东莞网站建设,网站开发属于【SpringBoot中实现过滤器和拦截器】 1.过滤器和拦截器简述 过滤器Filter和拦截器Interceptor,在功能方面很类似,但在具体实现方面差距还是比较大的。 2.过滤器的配置 2.1 自定义过滤器,实现Filter接口(SpringBoot 3.0 开始,jak…

【SpringBoot中实现过滤器和拦截器】

1.过滤器和拦截器简述
过滤器Filter和拦截器Interceptor,在功能方面很类似,但在具体实现方面差距还是比较大的。

2.过滤器的配置
2.1 自定义过滤器,实现Filter接口(SpringBoot 3.0 开始,jakarta.servlet.Filter,jdk需要升级到17)
2.2 重写doFilter,实现过滤逻辑,酌情放行
2.3 创建注解,实现过滤的范围配置

3.拦截器的配置

3.1 自定义拦截器,实现HandlerInterceptor接口
3.2 实现接口中的拦截方法(preHandle-请求执行前、postHandler-请求执行后、aftercompletion-视图渲染后)
3.3 创建配置类,实现WebMvcConfigurer接口,重写addInterceptors方法

4.总结
4.1 Filter依赖于Servlet容器,属于Servlet规范的一部分,而Interceptor依赖于SpringMVC框架;【所依赖框架】
4.2 Filter的生命周期由servlet容器管理,而Interceptor通过IOC容器来管理,可通过注入等方式来获取其Bean的实例;【管理的容器】
4.3 Filter可拦截所有web资源(包括]sp,Servlet,静态资源),而Interceptor则只拦截controller。【拦截范围】

代码

1、过滤器:

@RestController
public class MyController {@GetMapping("/filter")public String filter() {return "filter";}
}
package com.example.demos.web.filter;
import org.springframework.stereotype.Component;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.Objects;
/*** @date 2025/1/5 18:06* @description ip 请求的次数*/
@Component
//所有请求都会经过这个过滤器
@WebFilter(urlPatterns = "/*")
public class MyFilter implements Filter {@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {HttpServletRequest request = (HttpServletRequest) servletRequest;// 获取请求的ipString ip = request.getRemoteAddr();HttpSession session = request.getSession();Integer count = (Integer) session.getAttribute("count");count=Objects.isNull(count)?1:++count;System.out.println("ip:"+ip+" count:"+count);session.setAttribute("count", count);//放行filterChain.doFilter(servletRequest, servletResponse);}
}

结果:
在这里插入图片描述
在这里插入图片描述

2、拦截器

@RestController
public class MyController {@GetMapping("/interceptor")public String filter() {return "interceptor";}
}

进行拦截处理

public class MyHandlerInterceptor  implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {// 获取请求的ipString ip = request.getRemoteAddr();HttpSession session = request.getSession();Integer count = (Integer) session.getAttribute("count");count= Objects.isNull(count)?1:++count;System.out.println("ip:"+ip+" count:"+count);session.setAttribute("count", count);//放行return true;}
}

配置文件需要将自定义拦截器进行注册

@Configuration
public class InterceptorConfiguration implements WebMvcConfigurer {@Overridepublic void addInterceptors(InterceptorRegistry registry) {MyHandlerInterceptor interceptor = new MyHandlerInterceptor();//拦截所有请求registry.addInterceptor(interceptor).addPathPatterns("/**");}
}

结果:
在这里插入图片描述

在这里插入图片描述

http://www.mmbaike.com/news/108218.html

相关文章:

  • java cms做网站sem外包
  • 怎么做网站的访问量石家庄百度推广优化排名
  • 定制版appseo排名助手
  • 网站续费骗局百度seo推广怎么做
  • 环保网页设计代码优化关键词排名哪家好
  • wordpress常用hook网站关键词优化排名怎么做
  • 旅游网站制作网站维护一年一般多少钱?
  • 南宁做网站开发的公司怎么在百度上推广
  • 淘宝引流到微信推广方法西安seo技术培训班
  • 做网站和网站页面设计做网络推广的网站有哪些
  • 张家界做网站找谁重庆电子商务网站seo
  • 网站建设中 模板 下载日本域名注册网站
  • 制作网站需要多少时间新闻联播直播 今天
  • 个人可以注册网站吗hyein seo官网
  • 济南室内设计学校百度快照优化排名推广怎么做
  • 为每个中小学建设网站百度95099如何转人工
  • 网站进入之前动态效果青岛百度快速排名优化
  • 自学做动态网站百度人工电话
  • 做ppt一般在什么网站好杭州seo外包服务
  • 唐山哪个公司可以制作网站在线工具
  • 海尔网站建设情况营业推广促销
  • 个人网站建设 优帮云网站优化推广方法
  • 可以注册邮箱的网站重庆seo网络推广优化
  • 日本做的视频网站有哪些问题吗给我免费的视频在线观看
  • 名字做头诗的网站进一步优化
  • 可用的国外代理ip网站改版seo建议
  • 哪里有网站源文件下载小程序开发公司排行榜
  • 怎么把园林设计网站做的酷炫媒体资源网
  • 三门峡市建设局网站百度客服电话人工服务
  • 网站创建服务公司怎么买域名自己做网站