今日目标

一、SpringMVC简介

1 SpringMVC概述

问题导入

SpringMVC框架有什么优点?

1.1 SpringMVC概述

  1. SpringMVC是一种基于Java实现MVC模型的轻量级Web框架

  2. 优点

    1. 使用简单,开发便捷(相比于Servlet)
    2. 灵活性强

image-20210804185234370

 

2 入门案例【重点】

问题导入

在Controller中如何定义访问路径,如何响应数据?

2.1 实现步骤

2.2 代码实现

【第一步】创建web工程(Maven结构)
【第二步】设置tomcat服务器,加载web工程(tomcat插件)
【第三步】导入坐标(SpringMVC+Servlet)

注意事项:

  1. 课程版本基于Spring主版本5.2.10.RELEASE制作
  2. 导入spring-webmvc坐标自动依赖spring相关坐标
【第四步】定义处理请求的功能类(UserController)

==注意事项:==

对于SpringMVC而言,Controller方法返回值默认表示要跳转的页面,没有对应的页面就会报错。如果不想跳转页面而是响应数据,那么就需要在方法上使用@ResponseBody注解。

【第五步】编写SpringMVC配置类,加载处理请求的Bean。
【第六步】加载SpringMVC配置,并设置SpringMVC请求拦截的路径

2.3 运行结果

image-20210804191218260

2.4 案例注解和类解析

2.4.1 @Controller注解
2.4.2 @RequestMapping注解

注意:其实@RequestMapping注解还可以写到类上面,笔记后面会介绍到。

2.4.3 @ResponseBody注解
2.4.4 AbstractDispatcherServletInitializer类

2.5 入门程序开发总结(1+N)

 

3 入门案例工作流程分析【理解】

3.1 启动服务器初始化过程

  1. 服务器启动,执行ServletContainersInitConfig类,初始化web容器
  2. 执行createServletApplicationContext方法,创建了WebApplicationContext对象
  3. 加载SpringMvcConfig配置类
  4. 执行@ComponentScan加载对应的bean
  5. 加载UserController,每个@RequestMapping的名称对应一个具体的方法
  6. 执行getServletMappings方法,定义所有的请求都通过SpringMVC

image-20210804193122709

3.2 单次请求过程

  1. 发送请求localhost/save
  2. web容器发现所有请求都经过SpringMVC,将请求交给SpringMVC处理
  3. 解析请求路径/save
  4. 由/save匹配执行对应的方法save()
  5. 执行save()
  6. 检测到有@ResponseBody直接将save()方法的返回值作为响应求体返回给请求方

image-20210804193327981

 

4 Controller加载控制

问题导入

因为功能不同,如何避免Spring错误的加载到SpringMVC的bean?

4.1 Controller加载控制与业务bean加载控制

4.2 方式一代码实现

4.3 Bean的加载格式

简化格式

 

5 PostMan【掌握】

5.1 PostMan介绍

5.2 PostMan安装

双击资料中的“Postman-win64-8.3.1-Setup.exe”即可自动按照,打开之后需要注册,如果底部有如下链接,可以点击跳过注册

image-20210804194952058

5.3 PostMan的使用

5.3.1 创建WorkSpace工作空间

image-20210805150044862

5.3.2 发送请求获取json数据

image-20210805150206831

5.3.3 保存当前请求

image-20210805150417692

注意:第一次请求需要创建一个新的目录,后面就不需要创建新目录,直接保存到已经创建好的目录即可。