SpringMvc的流程

在这里插入图片描述
每日英文

Forgetting someone doesn’t mean never think of him, but thinking of him with a calm heart.

忘记一个人,并非不再想起,而是偶尔想起,心中却不再有波澜。

每日心话

不要说看破红尘心已寒,红尘本就是清浊合流浪滔天;不要说怀才不遇,才华本就是为人作嫁铺路砖。

学习目标:

提示:这里可以添加学习目标
掌握SpringMVC执行流程


学习内容:

1、 理解什么是SpringMVC
2、 SpringMVC三大组件
3、 理解SpringMVC的执行流程


什么是SpringMVC:

1、- SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架, 属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面。

2、Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用 Spring 进行 WEB 开发时,可以选择使用 Spring的 Spring MVC 框架或集成其他 MVC 开发框架,如 Struts1(现在一般不用), Struts2 等。

3、- SpringMVC 已经成为目前最主流的 MVC 框架之一, 从 Spring3.0 的发布, 就已全面超越 Struts2,成为最优秀的 MVC 框架。它通过一套注解,让一个简单的 Java 类成为处理请求的控制器,而无须实现任何接口。同时它还支持RESTful 编程风格的请求。


SpringMVC三大组件:

1、RequestMappingHandlerMapping 处理器映射器;
作用:根据请求url地址,找到控制器中处理请求的方法。如:HelloController.hello(){}
在这里插入图片描述

2、RequestMappingHandlerAdapter 处理器适配器
作用:根据处理器映射器解析的结果,找到处理请求的方法,执行方法。
在这里插入图片描述

3、InternalResourceViewResolver 视图解析器
作用:根据处理器适配器执行的结果,交给视图解析器处理准备(渲染)页面。
在这里插入图片描述

SpringMVC的执行流程:

1、springMVC的简单流程图
在这里插入图片描述
详解:

  1. tomcat启动
    1.1 %tomcat%/conf/web.xml 先加载tomcat自身的web.xml
    1.2 然后加载所有项目的web.xml: %tomcat%/webapps/我们的项目
    注意:
    我们自己项目的web.xml配置,最好不要覆盖tomcat自身的web.xml配置,否则会覆盖
    1.3 我们项目的web.xml中配置的DispatcherServlet,在项目启动时候就创建
    1.4 加载springMVC.xml

  2. 用户请求
    用户请求:http://localhost:8080/hello.do
    拦截请求:DispatcherServlet拦截.do后缀的请求
    springmvc: 获取请求uri /hello.do
    springmvc:去匹配所有的@RequestMapping注解,匹配上执行控制器方法

  3. 响应
    执行方法后,交给视图解析器,进行转发跳转。

2、 SpringMVC详图
在这里插入图片描述
在这里插入图片描述


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> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值