Spring MVC 五大组件

news/2024/7/3 3:21:59

欢迎关注方志朋的博客,回复”666“获面试宝典

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

1. DispatcherServlet

2. HandleMapping

3. Controller

4. ModeAndView

5. ViewResolver

下面一一介绍这五大控件

1. DispatcherServlet

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

2. HandleMapping

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

3. Controller

用来处理业务逻辑的Java类

4. ModeAndView

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

5. ViewResolver

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

五大组件的关系

15c607017e400b4e0b915cc257fca8ff.png

五大组件的位置关系

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

c5238e2ced6a394189ba0a854872c622.png


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

1. 配置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>

8ca8b527f32d8df37a12d619fcdfbd4f.png

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>

Spring MVC的部分知识图:

99b6183e37bfc328544bca38c07fcabb.png

热门内容:
  • 逃过大厂“开猿节流”,斩获12家offer,最牛笔记曝光!

  • IntelliJ IDEA 居然支持音视频聊天!

  • RedisJson 横空出世,性能碾压ES和Mongo!

  • IDEA牛逼!900行"又臭又长"的类重构,几分钟搞定

06884f6ac80873336a997ce53a875b03.png

最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

明天见(。・ω・。)ノ♡


http://lihuaxi.xjx100.cn/news/257818.html

相关文章

max(min)-device-width和max(min)-width的区别

max-device-width和max-width的区别表现在如下几个方面&#xff1a; 1. max-device-width是设备整个显示区域的宽度&#xff0c;例如&#xff0c;真实的设备屏幕宽度。 2. max-width是目标显示区域的宽度&#xff0c;例如&#xff0c;浏览器宽度。 3. 如果使用max-device-width…

磁盘及文件系统管理详解

2019独角兽企业重金招聘Python工程师标准>>> 大纲 一、硬盘物理结构及相关结构 二、硬盘逻辑结构及相关概念 三、Ext2文件系统逻辑结构 四、读取、创建、删除、复制、剪切过程 五、软链接与硬链接联系与区别 六、虚拟文件系统 六、文件系统管理相关命令 一、硬盘物理…

西瓜书公式推导讲解来了!

↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习&#xff0c;不错过 Datawhale学习 开源贡献&#xff1a;Datawhale团队 组队学习 Datawhale南瓜书是经典机器学习教材《机器学习》&#xff08;西瓜书&#xff09;的公式推导解析指南&#xff0c;旨在让在学…

AI也有健忘症?英国41岁教授专访:解决灾难性遗忘

视学算法报道 编辑&#xff1a;Joey 好困【导读】罗切斯特大学计算机科学家在持续学习领域的开创性研究&#xff0c;有望解决算法一直以来存在的灾难性遗忘问题。如何实现持续学习&#xff0c;让AI不断片&#xff1f;近日&#xff0c;来自罗切斯特大学的41岁计算机科学家Chris…

几个我收藏的经典网站

壁纸酷:[url]http://www.bizhiku.net[/url],XP壁纸,vista壁纸,汽车壁纸,风景壁纸,游戏壁纸,美女桌面壁纸,3d壁纸,日历月历壁纸等等,精美桌面壁纸下载.WAP中国:[url]http://www.wapcn.net[/url],专业的手机资源网站下载,手机铃声,手机游戏,手机壁纸,手机电影,手机软件,手机主题下…

Matlab与线性代数--广义逆矩阵

本微信图文详细介绍了Matlab中求解广义逆矩阵的方法。

有哪些新手程序员不知道的小技巧?

提到新手程序员&#xff0c;大家想到的第一个词可能就是&#xff1a;刷题。尤其是通过LeetCode刷题&#xff0c;想必新手程序员们都经历过这一步&#xff0c;甚至不少人认为只要在LeetCode上刷的题目够多&#xff0c;就一定能够进阶为大神。但是&#xff0c;不难发现&#xff0…

CVPR 2021论文分享会日程公布!

↑↑↑关注后"星标"Datawhale每日干货 & 每月组队学习&#xff0c;不错过Datawhale学术 活动&#xff1a;CVPR 2021论文分享会随着人工智能的火热&#xff0c;AAAI、NeurIPS、CVPR 等顶级学术会议的影响力也愈来越大&#xff0c;每年接收论文、参会人数的数量连创…