点击关注公众号,实用技术文章及时了解

来源:blog.csdn.net/wsdfym/article/details/91354997

是一个MVC架构,用来简化基于MVC架构的Web应用开发。SpringMVC最重要的就是五大组件

  • DispatcherServlet

  • HandleMapping

  • Controller

  • ModeAndView

  • ViewResolver

下面一一介绍这五大控件

1.DispatcherServlet

这个控件是SpringMVC 最核心的一个控件,顾名思义其实他就是一个Servlet,是Spring写好的一个Servlet

2.HandleMapping

控件标明了路径与Controller的对应关系,不同的路径访问不同的Controller

3. Controller

用来处理业务逻辑的Java类

4. ModeAndView

Mode用来绑定处理后所得的数据,View视图名

5. ViewResolver

视图解析器明确了视图名与视图对象的关系,是调用demo.jsp还是调用demo.html,以及明确视图的位置

五大组件的关系

点击放大

五大组件的位置关系

DispatcherServlet属于servlet所以位于Tomcat等服务器容器中,而、HandleMapping ViewResolver 属于Spring所以位于SpringMVC配置文件中,Contrlloer以及ModeView位于src文件中处理具体逻辑业务

点击放大

下面说说五大组件的使用以及配置

配置DispatcherServlet

DispatcherServlet属于Servlet所以配置在web.xml文件中。init-param为该Servlet启动所需参数。DispatcherServlet会读取初始化contextConfigLocation参数里面的值从而获取spring的配置位置,然后自启动容器

<!-- 配置前端控制器,配置Servlet -->
<servlet><servlet-name>springMvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param><load-on-startup>1</load-on-startup>
</servlet>
<!--配置请求路径-->
<servlet-mapping><servlet-name>springMvc</servlet-name><url-pattern>*.form</url-pattern>
</servlet-mapping>

点击放大
2. HandleMapping

mvc:annotation-driven 配置mvc注解扫描 可以用注解@RequestMapping(“url”)加在方法上简化配置prop标明路径和XXController的关系

<!--开启mvc注解扫描-->
<mvc:annotation-driven/>
<!--创建Controller  bean-->
<bean id="loginController" class="包名+类名"/><bean class="org.springframework.web.servlrt.handler.SimpleUrlHandlerMapping"><property name="mappings"><props><prop key="/login.form">loginController</prop></props></property>
</bean>
3.Controller

处理getData.form该路径的业务逻辑

@Controller
public class DataController {@RequestMapping("getData.form")public ModeAndView hello(String stationId) {System.out.println("hello");return new ModeAndView("hello")}
}
4. ModeAndView

两种ModeAndView的构造方法,第一个视图名,第二个需要绑定的数据

ModeAndView(String viewName)
ModeAndView(String viewName ,Map data)
5. ViewResolver

前缀+视图名+后缀=映射到页面

<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResour    ceViewResolver"><property name="prefix" value="/WEB-INF/"/><property name="suffix" value=".html"></property>
</bean>

SpringMVC的部分知识图:

点击放大

推荐

主流Java进阶技术(学习资料分享)

Java面试题宝典

加入Spring技术开发社区

PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。点“在看”支持我们吧!

图解 SpringMVC 五大组件相关推荐

  1. Spring MVC 五大组件

    欢迎关注方志朋的博客,回复"666"获面试宝典 是一个MVC架构,用来简化基于MVC架构的Web应用开发.SpringMVC最重要的就是五大组件 1. DispatcherServ ...

  2. 低代码缺少的五大组件

    [CSDN 编者按]前段时间有个很有趣的话题,说程序员太难了,前有 AI 自动编程掀餐桌,后有 6 岁小孩抢饭碗.低代码让没有任何技术背景的普通人也能参与到编程中来,这无疑是对程序员行业的一个冲击!但 ...

  3. SpringCloud之五大组件

    一.SpringCloud微服务架构 1.流程:客户端请求→Zuul→Eureka 获取服务→Feign 通信→Ribbon 负载均衡→Hystrix 熔断. 2.五大组件   1)Eureka:服务 ...

  4. CV:传统视觉知识—机器视觉系统的基础知识(机器视觉三要素+典型的工业机器视觉系统五大组件)

    CV:传统视觉知识-机器视觉系统的基础知识(机器视觉三要素+典型的工业机器视觉系统五大组件) 目录 机器视觉三要素 1.what-测量.判断 2.why-灵活性.自动化

  5. 聊一聊SpringCloudNetflix的五大组件(神兽)

    SpringCloud开发五大组件 服务发现--Netflix Eureka 客服端负载均衡--Netflix Ribbon 断路器--Netflix Hystrix 服务网关--Netflix Zu ...

  6. SpringCloud分布式开发五大组件详解

    SpringCloud分布式开发五大组件详解 https://blog.csdn.net/weixin_40910372/article/details/89466955 服务发现--Netflix ...

  7. 学习 SpringCloud 五大组件后的总结 一

    学习 SpringCloud 五大组件后的总结 一 1.什么是微服务? 把某一功能独立出来单独作为一个进程类似的微小的服务.独立做某件事,与其他的服务直接不影响. 微服务之间的优缺点? 优点:每个服务 ...

  8. Spring Cloud 五大组件

    Spring Cloud 五大组件 1. 简介 2. Eureka 3. Ribbon 4. Feign 5. Zuul 6. Hystrix 1. 简介 Spring Cloud全家桶是Pivota ...

  9. springcloud简介与五大组件及相关配置

    一.spring cloud版本对应 SpringCloud版本 SPringBoot版本 2021.0.x aka Jubilee 2.6.x 2020.0.x aka Ilford 2.4.x, ...

最新文章

  1. 听说做前后端的都是这个体会? | 每日趣闻
  2. 面试官:说说一条查询SQL的执行过程?
  3. java数据库视频教程下载,【No147】最新oracle11g DBA 开发和应用数据库视频教程下载...
  4. partition oracle用法,Oracle partition by 使用说明
  5. 飞鸽传书为什么传书?
  6. 系统协调服务器,协调网络系统 Collaboration network system
  7. 一步一步写算法(之哈希二叉树)
  8. python append函数_Python程序性能分析
  9. 杂谈异常处理try-catch-finally
  10. MFC连接MySQL数据库实例
  11. linux打开文件程序,linux – 获取打开特定文件的应用程序列表
  12. TeamViewer 如何注册账户?
  13. 小新pro16独显版安装NVIDIA驱动
  14. 网络模型(ISO,TCP/IP)
  15. android h5富文本编辑器,H5富文本编辑器的详细介绍
  16. 水上运动装备的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  17. 在Java中实现 点击返回按钮返回上一个页面
  18. 盲信号分离的实际应用
  19. 数据可视化:世界银行数据(1960-2017)
  20. 今年嵌入式行业研究生应届生毕业大概薪资多少,大数据告诉你

热门文章

  1. 小屏旗舰新王者: 三星Galaxy S11e曝光
  2. 14岁女孩模仿视频中易拉罐做爆米花意外身亡 博主办公室小野回应...
  3. 探探被安卓市场下架 官方回应:深入开展整改
  4. 小米9正在争取首月供货超百万台 雷军:请大家帮我一起催货
  5. 为2440搭建NFS开发环境【ZT】
  6. 饭后什么事情正谋杀你的健康
  7. vscode如何添加头部注释、作者注释
  8. 路强 java 百度云,解决 Tried to download(403): 。。。zopfli-v2.0.2
  9. 被尘封的故事技能点bug_王者荣耀体验服更新,多名英雄技能优化,瑶妹玩家却坐不住了...
  10. php中调用go代码,php中的goto的用法实例(代码)