spring-mvc 详解

本文详细介绍了Spring MVC框架中请求的处理流程,包括DispatcherServlet如何根据HandlerMapping找到合适的Controller进行处理,以及Controller如何将处理结果返回给视图进行展示的过程。

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





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

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

[html]  view plain copy
  1. <servlet>   
  2. <servlet-name>roadrantz</servlet-name>   
  3. <servlet-class>org.springframework.web.servlet.DispatcherServlet   
  4. </servlet-class>   
  5. <load-on-startup>1</load-on-startup>   
  6. </servlet>   

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

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

[html]  view plain copy
  1. <servlet-mapping>   
  2. <servlet-name>roadrantz</servlet-name>   
  3. <url-pattern>*.htm</url-pattern>   
  4. </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、付费专栏及课程。

余额充值