spring-mvc 详解

本文深入探讨了Spring MVC的工作流程,从DispatcherServlet的配置开始,解释了如何通过HandlerMapping找到Controller,Controller执行后的ModelAndView如何被ViewResolver解析为视图。详细介绍了配置过程中的关键元素,包括servlet的初始化、映射规则、bean配置及其作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



如图
请求首先通过DispatcherServlet。servlet根据HandlerMapping,来处理请求,并根据请求,来找到Controller,Controller执行完毕后,发送一个ModelAndView,并告诉需要展示哪个视图。根据这个视图,servlet找到这个视图的ViewResolver,并由这个ViewResolver生成对应的view,并输出。

配置servlet
springmvc是基于servlet的,因此需要在web.xml配置。

<servlet> 
<servlet-name>roadrantz</servlet-name> 
<servlet-class>org.springframework.web.servlet.DispatcherServlet 
</servlet-class> 
<load-on-startup>1</load-on-startup> 
</servlet> 

默认情况下,DispatcherServlet会加载这个servletname-servlet.xml文件,将这个文件作为spring的配置文件(淡然可以和全局的加载器,也就是全局的监听器和监听器加载的配置文件结合使用)。如上面我们定义的servlet-name的名字是roadrantz,因此它会加载roadrantz-servlet.xml。

之后当然是要配置这个servlet对应的映射的了。

<servlet-mapping> 
<servlet-name>roadrantz</servlet-name> 
<url-pattern>*.htm</url-pattern> 
</servlet-mapping> 

事实上,我们应该把配置分成多个文件。这样,基于springmvc的配置只在servletname-servlet.xml中,和其他部分的配置(如事务管理,数据源等配置则在另外一个地方,因为他们是通用的)是分开的。


DispatcherServlet会配置如下的bean


Controller: mvc中的C
Handler mappings :处理器影射器,它会根据请求,查找到实际的请求处理者
View resolvers: 视图解析器
Locale resolver :本地化解析器,提供国际化的支持
Theme resolver :主题解析器
Multipart file :文件上传解析器

Handler exception resolvers :异常处理器


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值