SpringMVC的流程

SpringMVC使我们在做java web开发的常用框架,类似的还有strust2等,这里我详细讲解一下SpringMVC的流程.

SpringMVC在web应用中帮我们分装了对于用户请求的处理,他会自动帮我们将用户的一次请求封装成request和response两个对象,因为我们一般用dispatcherServlet这个类用来处理访问到web应用的请求,所以我们通常会在web.xml中配置dispatcherServlet的拦截路径为/.

下面是请求处理的具体步骤

1.让用户的请求时访问到dispatcherServlet时,dispatcherServlet会先将请求交给处理器映射器(Handler Mapping)来处理

2.处理器映射器根据请求的uri来查找到对应的handler chain,

3.处理器映射器将找到的handler chain返回给dispatcherServlet

4.dispatcherServlet再将handler chain交给处理器适配器(Handler Adapter)处理

5.处理器适配器通过handler chain找到对应的handler

6.由handler处理请求返回modelAndView给处理器适配器

7.处理器适配器再讲拿到的modelAndView返回给dispatcherServlet

8.dispatcherServlet最后将modelAndview交给视图解析器来处理

9.视图解析器将modelAndView处理成最后的view返回给dispatcherServlet

10.最后由dispatcherServlet将处理的view封装进response响应给用户

 

下面是我画的流程图:

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
springMVC是一种基于MVC架构模式的Web框架,其流程如下: 1. 客户端发送请求到DispatcherServlet(前端控制器)。 2. DispatcherServlet根据请求信息调用HandlerMapping(处理器映射器)。 3. HandlerMapping根据请求URL找到对应的Handler(处理器)。 4. Handler执行业务逻辑并返回一个ModelAndView对象给DispatcherServlet。 5. DispatcherServlet根据返回的ModelAndView对象调用ViewResolver(视图解析器)。 6. ViewResolver解析ModelAndView中的View(视图)。 7. 最终将渲染后的视图返回给客户端。 以下是一个简单的示例代码: ```java // 定义Controller @Controller @RequestMapping("/hello") public class HelloController { @RequestMapping("/world") public ModelAndView helloWorld() { String message = "Hello World, Spring MVC!"; return new ModelAndView("hello", "message", message); } } // 定义视图解析器 @Bean public ViewResolver viewResolver() { InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); viewResolver.setPrefix("/WEB-INF/views/"); viewResolver.setSuffix(".jsp"); return viewResolver; } // 定义web.xml中的DispatcherServlet <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/dispatcher-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> // 定义dispatcher-servlet.xml中的HandlerMapping和ViewResolver <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"/> <property name="suffix" value=".jsp"/> </bean> ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值