mvc五大组件有哪些

mvc五大组件有:1、DispatcherServlet;2、HandleMapping;3、Controller;4、ModeAndView;5、ViewResolver。DispatcherServlet是前置控制器,配置在web.xml文件中的。拦截匹配的请求,Servlet拦截匹配规则要自己定义。

mvc五大组件有哪些-Worktile社区

1、DispatcherServlet

这个控件是SpringMVC 最核心的一个控件,顾名思义其实他就是一个Servlet,是Spring写好的一个 Servlet。DispatcherServlet是前置控制器,配置在web.xml文件中的。拦截匹配的请求,Servlet拦截匹配规则要自己定义,把拦截下来的请求,依据相应的规则分发到目标Controller来处理,是配置spring MVC的名列前茅步。

DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,而且负责职责的分派,而且与Spring IoC容器无缝集成,从而可以获得Spring的所有好处。

2、HandleMapping

控件标明了路径与Controller的对应关系,不同的路径访问不同的Controller。从HandlerMapping接口继承结构体系图中,我们可以发现HandlerMapping家族可以分为两支,一支继承AbstractUrlHandlerMapping,一支继承AbstractHandlerMethodMapping,这两支都继承自AbstractHandlerMapping。其中AbstractUrlHandlerMapping在目前大部分的项目使用中,已经很少使用到

3、Controller

用来处理业务逻辑的Java类。controller早期的作用(典型如spring),一是接受用户请求,二是处理业务逻辑。但是接收请求可以用mapping代替,比如rails中用一个配置文件routes.rb就能实现mapping。业务逻辑也可以交给service,例如:后端只开一个接口,前端一律请求json,后端根据json中的信息来判断,具体交给某个service处理。

Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了RequestMapping 注解。

4、ModeAndView

Mode用来绑定处理后所得的数据,View视图名。ModelAndView中包含了一个model属性和一个view属性,model其实是一个ModelMap类型,它是一个LinkedHashMap的子类,view包含了一些视图信息。ModelAndView以org.springframework.ui.ModelMap的形式来保持模型数据,通过构造方bai法传入的或者通过实例方法添加的模型数据都将添加到这个ModelMap中。至于ModelMap中保持的模型数据将会在视图渲染阶段,由具体的View实现类来获取并使用。

5、ViewResolver

视图解析器明确了视图名与视图对象的关系,是调用demo.jsp还是调用demo.html,以及明确视图的位置。SpringMVC 用于处理视图最重要的两个接口是 ViewResolver 和 View ,ViewResolver 的主要作用是把一个逻辑上的视图名称解析为一个真正的视图(View )。SpringMVC 中用于把 View 对象呈现给客户端的是 View 对象本身,而 ViewResolver 只是把逻辑视图名称解析为对象的View对象。 View 接口的主要作用是用于处理视图,然后返回给客户端

延伸阅读:

什么是MVC框架?

经典MVC模式中,M是指模型,V是视图,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。其中,View的定义比较清晰,就是用户界面。

MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。

模型-视图-控制器(MVC)是Xerox PARC在二十世纪八十年代为编程语言Smalltalk-80发明的一种软件设计模式,已被广泛使用。后来被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。

文章标题:mvc五大组件有哪些,发布者:小编,转载请注明出处:https://worktile.com/kb/p/35301

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年1月11日 下午10:23
下一篇 2023年1月11日 下午10:25

相关推荐

  • 为什么DW2020中没有数据库和服务器行为

    这是因为DW2020是一个纯粹的前端开发工具,它的主要目的是为开发人员提供一个设计和开发网站的环境,而不是作为一个完整的Web应用程序开发平台。DW2020的主要功能是为网站开发提供一个完整的开发环境。它提供了一个强大的代码编辑器,可以轻松地创建和编辑HTML、CSS和JavaScript代码。 D…

    2023年5月31日
    4800
  • 计算和存储分离,是什么意思

    计算和存储分离是一种分布式计算架构,指的是将计算和存储分别部署在不同的设备上,以提高系统的性能、可扩展性和可靠性。该架构通常用于大规模数据处理、分析和存储场景,如云计算、数据中心、大数据分析等。 计算和存储分离是一种分布式计算架构,指的是将计算和存储分别部署在不同的设备上,以提高系统的性能、可扩展性…

    2023年5月29日
    15100
  • 数据库管理员的主要职责包括什么

    数据库管理员的主要职责包括:1、维护数据库系统的稳定性和可用性;2、进行数据库设计和优化;3、进行数据库设计和优化;4、数据库升级与迁移。数据库管理员(DBA)的首要职责是保证数据库系统的稳定运行。这包括监控数据库系统的运行状态,以保证数据库服务的高可用性。 一、维护数据库系统的稳定性和可用性 数据…

    2023年7月31日
    7000
  • 什么是kpi管理

    kpi管理是:是通过对组织内部流程的输入端、输出端的关键参数进行设置、取样、计算、分析,衡量流程绩效的一种目标式量化管理指标,是把企业的战略目标分解为可操作的工作目标的工具,是企业绩效管理的基础。 一、什么是kpi管理 关键绩效指标(Key Performance Indicator,简称KPI)是…

    2023年5月6日
    9000
  • 上位机编程软件有哪些

    上位机编程软件有:1、InTouch;2、iFix;3、Citech;4、WinCC;5、组态王;6、Controx(开物);7、ForceControl(力控)。InTouch软件是较早进入我国的组态软件,基于Windows3.1的InTouch软件曾让我们耳目一新,并且InTouch提供了丰富的…

    2023年1月10日
    3.4K00
  • 项目助理和项目经理的区别在哪里

    项目助理与项目经理的区别有:1、岗位职责;2、资格与技能;3、工作范围;4、决策权限;5、与团队的关系;6、职业发展路径。项目助理和项目经理都是项目管理团队中的重要角色,但它们在职责、技能和职位水平上存在明显差异。 1、岗位职责 项目助理:主要负责协助项目经理完成日常的管理工作,如整理文档、安排会议…

    2023年7月30日
    12100
  • 需求管理工具的优势

    需求管理工具的优势有:一、提高效率;二、降低风险;三、明确目标;四、提高透明度。需求管理工具可以帮助项目管理者更快、更准确地收集、分析和审批需求,从而提高项目的效率和质量。 一、提高效率 需求管理工具可以帮助项目管理者更快、更准确地收集、分析和审批需求,从而提高项目的效率和质量。 二、降低风险 需求…

    2023年4月30日
    7800
  • confluence如何固定表头

    confluence固定表头的方法是:先选中表格,插入宏“Tableenhancer”,在“Tableenhancer”宏编辑界面,找到“Number of rows to keep visible”,设置固定的行数就可以了。Confluence是一个专业的企业知识管理与协同软件,也可以用于构建企业…

    2023年3月30日
    59900
  • 项目管理工具软件有哪些

    项目管理工具软件有:一、PingCode;二、Worktile;三、Asana;四、Trello;五、Wrike。PingCode是国内软件研发项目管理软件。功能以及解决的问题有:能够支持看板、敏捷等多种项目的管理;管理团队目标,监控单/多项目的进度、管理计划分配资源。 一、PingCode Pin…

    2023年4月27日
    9200
  • git版本管理工具有哪些

    git版本管理工具有以下几个:1、SVN;2、Git;3、HG;4、CVS。SVN全称为:Apache Subversion,是一款开源的且非常易于使用的跨平台的 版本控制/版本控制/源代码控制软件,它的设计目标就是取代CVS。 1、SVN SVN全称为:Apache Subversion,是一款开…

    2022年11月30日
    98400

发表回复

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

400-800-1024

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

分享本页
返回顶部