中间件,拦截器,过滤器有什么区别

区别:中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务,达到资源共享、功能共享的目的。拦截器主要完成请求参数的解析,将页面表单参数赋给值栈中相应属性。过滤器使用 FilterChain 调用链中的下一个过滤器。

中间件,拦截器,过滤器有什么区别-Worktile社区

中间件

中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。它并没有很严格的定义,但是普遍接受IDC的定义:中间件是一种独立的系统软件服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。从这个意义上可以用一个等式来表示中间件:中间件=平台+通信,这也就限定了只有用于分布式系统中才能叫中间件,同时也把它与支撑软件和实用软件区分开来。

拦截器

拦截器(Interceptor),主要完成请求参数的解析、将页面表单参数赋给值栈中相应属性、执行功能检验、程序异常调试等工作。

拦截器(Interceptor)是Struts2框架的核心功能之一,Struts 2是一个基于MVC设计模式的开源框架,主要完成请求参数的解析、将页面表单参数赋给值栈中相应属性、执行功能检验、程序异常调试等工作。Struts2拦截器是一种可插拔策略,实现了面向切面的组件开发,当需要扩展功能时,只需要提供对应拦截器,并将它配置在Struts2容器中即可,如果不需要该功能时,也只需要在配置文件取消该拦截器的设置,整个过程不需要用户添加额外的代码。拦截器中更为重要的概念即拦截器栈(Interceptor Stack),拦截器栈就是Struts2中的拦截器按一定的顺序组成的一个线性链,页面发出请求,访问Action对象或方法时,栈中被设置好的拦截器就会根据堆栈的原理顺序的被调用。

过滤器

Filter是过滤器,过滤一些你不想要的东西,Listener是Servlet的监听器,可以监听客户端的请求、服务端的操作等。通过监听器,可以自动激发一些操作。

Filter可以实现对请求的过滤和重定向等,也就是说可以操作request和response,session等对象,listner只能监听到以上对象的属性的修改。

Filter 技术是servlet 2.3 新增加的功能。servlet2.3是sun公司于2000年10月发布的,它的开发者包括许多个人和公司团体,充分体现了sun公司所倡导的代码开放性原则。在众多参与者的共同努力下,servlet2.3比以往功能都强大了许多,而且性能也有了大幅提高。

FilterChain 是 servlet 容器为开发人员提供的对象,它提供了对某一资源的已过滤请求调用链的视图。

过滤器使用 FilterChain 调用链中的下一个过滤器,如果调用的过滤器是链中的最后一个过滤器,则调用链末尾的资源。只要多个Filter对同一个资源进行拦截就可以形成Filter链,由<filter-mapping>来确定。Interceptor是struts的核心控制器,负责拦截所有用户请求。

延伸阅读:

中间件的局限

中间件能够屏蔽操作系统和网络协议的差异,为应用程序提供多种通讯机制;并提供相应的平台以满足不同领域的需要。因此,中间件为应用程序提供了一个相对稳定的高层应用环境。然而,中间件服务也并非“使用广泛药”。中间件所应遵循的一些原则离实际还有很大距离。多数流行的中间件服务使用专有的API和专有的协议,使得应用建立于单一厂家的产品,来自不同厂家的实现很难互操作。有些中间件服务只提供一些平台的实现,从而限制了应用在异构系统之间的移植。应用开发者在这些中间件服务之上建立自己的应用还要承担相当大的风险,随着技术的发展他们往往还需重写他们的系统。尽管中间件服务提高了分布计算的抽象化程度,但应用开发者还需面临许多艰难的设计选择,例如,开发者还需决定分布应用在client方和server方的功能分配。通常将表示服务放在client以方便使用显示设备,将数据服务放在server以靠近数据库,但也并非总是如此,何况其它应用功能如何分配也是不容易确定的。

文章标题:中间件,拦截器,过滤器有什么区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38081

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编站长
上一篇 2023年2月13日 下午11:15
下一篇 2023年2月13日 下午11:17

相关推荐

  • 软件开发要求有哪些条件

    软件开发要求的条件:1、清晰的需求;2、合适的工具和技术;3、良好的团队合作;4、有效的管理方式;5、充分的测试和调试;6、良好的文档和支持;7、灵活的设计;8、关注安全等,清晰的需求是指应该对软件的目标、功能和用户有一个明确的认识。 一、软件开发要求具备的条件 二、软件开发的阶段 延伸阅读 软件开…

    2023年1月13日
    77400
  • 中小企业使用的 IT 项目管理软件有哪些

    中小企业使用的 IT 项目管理软件有:1、PingCode;2、Worktile;3、Asana;4、 禅道;5、Redmine。其中,PingCod是国内国内的一款知名研发项目管理软件,曾在2021年被知名媒体36氪评为2021年国内研发项目管理榜单名列前茅的研发项目管理系统。 一、 IT 项目管…

    2023年2月1日
    18700
  • project如何管理项目集

    project管理项目集的步骤:一、创建一个项目集;二、添加项目和子项目;三、创建项目集活动;四、分配资源;五、跟踪项目集进度。首先,我们需要创建一个项目集。在Microsoft Project中创建项目集有两种方法:一是从头开始创建,二是从现有的项目中创建。 一、创建一个项目集 首先,我们需要创建…

    2023年3月31日
    35100
  • scala的akka和go的goroutine有什么区别

    区别:goroutine实现的是csp,通过独立的channel传递信息。akka实现的是actor,消息通过actor拥有mailbox接收。akka是通过线程池实现的actor,线程是有限的,而goroutine运行在用户态线程上,受go运行时抢占式调度。二者都是通过消息通信的机制来避免竞态条件…

    2023年2月17日
    16000
  • 功能需求中 System Feature 的优先级是什么意思

    功能需求中 System Feature 的优先级是指功能需求中系统特性的优先级,系统特性是指一组逻辑上相关的功能需求,它们为用户提供某项功能,满足业务目标,所以系统特性的优先级是指一组逻辑上相关的功能需求的优先级,优先级高的先做,优先级低的后做。 一、功能需求 功能需求(functional re…

    2023年1月2日
    28100
  • 路线图用什么软件做

    路线图制作软件有:1、Microsoft PowerPoint;2、MindManager;3、Lucidchart;4、Canva;5、Draw.io。PowerPoint 具有功能强大、易学易用等特点,可以用来制作各种类型的路线图。 1、Microsoft PowerPoint PowerPoi…

    2023年3月3日
    1.1K00
  • 云真机的作用是什么

    云真机的作用是:1、解决企业移动设备匮乏;2、提升研发测试工作效率;3、节省资金降低折损率;4、解决测试报告问题;5、提升产品竞争力。云真机平台基本上可以提供市面所有移动设备机型、品牌、系统、分辨率等设备,很好的解决了企业移动设备困乏的问题。 一、解决企业移动设备匮乏 云真机平台基本上可以提供市面所…

    2023年5月9日
    6900
  • 需求管理平台有哪些

    需求管理平台平台有:1. PingCode;2. Jira;3. Asana;4. Trello;5. Microsoft Project;6. Aha!。PingCode提供了强大的协作和定制工具,以及深度集成开发环境,支持敏捷开发流程,有助于团队快速响应市场变化,适用于软件开发团队和敏捷开发实践…

    2023年7月10日
    25900
  • 进度网络图用什么软件做

    做进度网络图的软件有:1、Worktile;2、PingCode;3、Microsoft Project;4、Primavera Project Planner;5、Smartsheet;6、MindManager;7、OmniPlan;8、OpenProj。Worktile是指国内的一款通用型的任…

    2023年4月14日
    52700
  • 客户关系管理(CRM)在市场营销中有何作用

    客户关系管理(CRM)是指企业运用技术和策略为其市场营销活动打造、管理以及优化与客户的长期关系的综合过程。CRM在市场营销中的主要作用体现于以下核心观点:1、提升客户满意度和忠诚度,2、优化营销活动,3、增强销售效率,4、促进产品和服务改进,5、提供个性化服务。CRM通过对客户信息进行整合与分析,使…

    2023年11月27日
    2200

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部