产生原因

image.png
image.png

开发步骤

image.png
image.png
接下来就代码实现一下,并完成一个小的需求:
image.png

代码实现

1. 导入依赖

  1. <dependency>
  2. <groupId>org.springframework</groupId>
  3. <artifactId>spring-webmvc</artifactId>
  4. <version>5.0.5.RELEASE</version>
  5. </dependency>

*2. 配置前端控制器 DispathcerServlet

需要在 web.xml 中配置!
image.png
image.png

3. 创建 Controller 类和页面视图

image.png
image.png
image.png

4. 使用注解配置 Controller 类中业务方法的映射地址

  • 首先把 UserController 放到 Spring 容器当中,用到 @Controller 控制层注解;
  • 然后我们发送请求时,请求的地址得和我们的 UserController 类中的 save( ) 方法得有映射关系,我们用 @RequestMapping 请求映射注解。
  • 我们就简单起名叫“/quick”当我们访问 /quick 时,就帮我们映射到 save( ) 方法,执行对应的逻辑,最终跳转到 success.jsp 页面视图。

    1. ![image.png](https://cdn.nlark.com/yuque/0/2021/png/1779007/1625398607129-25d65014-6d80-4b81-8cc2-0b4e6558c450.png#align=left&display=inline&height=223&margin=%5Bobject%20Object%5D&name=image.png&originHeight=446&originWidth=1001&size=63346&status=done&style=none&width=500.5)

    5. 配置 SpringMVC 核心文件 spring-mvc.xml

    前面四步我们都配置好了,但是 SpringMVC 它不知道呀,所以我们得进行配置:
    image.png
    至于基本包的话,我们就设为 controller 这个包就行了,其他的像什么 dao 包 service 包不是 SpringMVC 的范畴,而是 Spring 的范畴,不用管了,他们业务应该要是分开的!
    但配置之后谁来加载呢?仔细想一下,应该由核心控制器 DispathcerServlet 来加载,所以我们返回到 web.xml 中去加载该 SpringMVC 配置文件:
    image.png

    6. 进行相应的测试

    哇擦,牛逼,真就直接搜索 quick 就可以执行对应的方法逻辑,并且他妈的还直接用 return 就可以跳转了?玛德,牛逼!
    image.png
    image.png

    SpringMVC 流程图示

    image.png