Filter和Interceptor的区别是什么?有哪些?-创新互联

不懂Filter和Interceptor的区别是什么?有哪些??其实想解决这个问题也不难,下面让小编带着大家一起学习怎么去解决,希望大家阅读完这篇文章后大所收获。

10年的南县网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整南县建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“南县网站设计”,“南县网站推广”以来,每个客户项目都认真落实执行。

结合实践,更直观的来感受一下两者到底有什么不同?

准备环境

我们在项目中同时配置拦截器过滤器

1、过滤器 (Filter)

过滤器的配置比较简单,直接实现Filter接口即可,也可以通过@WebFilter注解实现对特定URL拦截,看到Filter接口中定义了三个方法。

  • init():该方法在容器启动初始化过滤器时被调用,它在Filter的整个生命周期只会被调用一次。注意:这个方法必须执行成功,否则过滤器会不起作用。
  • doFilter():容器中的每一次请求都会调用该方法,FilterChain用来调用下一个过滤器Filter
  • destroy(): 当容器销毁 过滤器实例时调用该方法,一般在方法中销毁或关闭资源,在过滤器Filter的整个生命周期也只会被调用一次
@Component
public class MyFilter implements Filter {
 
 @Override
 public void init(FilterConfig filterConfig) throws ServletException {

  System.out.println("Filter 前置");
 }

 @Override
 public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {

  System.out.println("Filter 处理中");
  filterChain.doFilter(servletRequest, servletResponse);
 }

 @Override
 public void destroy() {

  System.out.println("Filter 后置");
 }
}

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:Filter和Interceptor的区别是什么?有哪些?-创新互联
本文来源:http://scyanting.com/article/dsggcd.html