什么是MVC

  • 软件架构的思想 将软件按照模型,视图,控制器来划分
  • Model 模型层 工程中的javabean 作用是处理数据
    • 实体类Bean 存储业务数据 Student
    • 业务处理Bean Service或Dao对象 处理业务逻辑和数据访问
  • View 视图层 html和jsp等页面,与用户进行交互,展示数据
  • Controller 控制层 servlet 接受请求和响应浏览器

    SpringMVC

  • 为表述层开发提供的一整套完备的解决方案

  • 表述层:前台页面和后台servlet

配置web.xml

注册SpringMVC的前端控制器DispatcherServlet,对浏览器的请求进行统一处理
扩展配置方式

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  5. version="4.0">
  6. <servlet>
  7. <servlet-name>SpringMVC</servlet-name>
  8. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  9. <!-- 配置springMVC配置文件的位置和名称-->
  10. <init-param>
  11. <param-name>contextConfigLocation</param-name>
  12. <param-value>classpath:springMVC.xml</param-value>
  13. </init-param>
  14. <load-on-startup>1</load-on-startup>
  15. </servlet>
  16. <!-- 不能匹配.jsp的请求路径的请求-->
  17. <servlet-mapping>
  18. <servlet-name>SpringMVC</servlet-name>
  19. <url-pattern>/</url-pattern>
  20. </servlet-mapping>
  21. </web-app>

创建请求控制器

创建springmvc的配置文件:springmvc.xml

测试helloworld

RequestMapping注解

@RequestMapping 注解

image.png

作用

  • 类上 初始信息
  • 方法上 具体信息

    value属性

  • value属性通过请求的请求地址匹配请求映射

  • 是一个字符串类型的数据,可以匹配多个请求地址对应的请求
  • value属性必须设置

    method属性的请求方式

  • 满足请求方式(get或post)

  • 不满足浏览器报错405

    派生注解

    1. @GetMapping
    2. @PostMapping
    3. @PutMapping
    4. @DeleteMapping

    params属性

  • 通过请求的请求参数匹配请求映射

    headers属性

  • 通过请求的请求头信息匹配请求映射

    ant风格的路径

  • ?任意的单个字符

    • 任意的0个或多个字符
  • ** 任意的一层或多层目录

    支持路径中的占位符

  • 原始方式:/deleteUser?id=1

  • rest方式:/deleteUser/1
    1. <a th:href="@{/testRest/1/admin}">测试路径中的占位符-->/testRest</a><br>
    ```java @RequestMapping(“/testRest/{id}/{username}”) public String testRest(@PathVariable(“id”) String id, @PathVariable(“username”) String username){ System.out.println(“id:”+id+”,username:”+username); return “success”; }

```

SpringMVC获取请求参数

通过ServletAPI获取

通过控制器方法的形参获取请求参数

RequestParam注解

  • RequestParam(value,required)