请求映射路径的配置

image-20250202173636604

请求数据的接收

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
@Controller
public class ParamController {

@GetMapping("/param1")
public String param1(String username, int age) {
System.out.println(username + " : " + age);
return "/index.jsp";
}

@GetMapping("/param2")
public String param2(@RequestParam("username") String name, int age) {
System.out.println(name + " : " + age);
return "/index.jsp";
}

@GetMapping("/param3")
public String param3(String[] hobby) {
for (String s : hobby) {
System.out.println(s);
}
return "/index.jsp";
}

@GetMapping("/param4")
public String param4(@RequestParam List<String> hobby) {
for (String s : hobby) {
System.out.println(s);
}
return "/index.jsp";
}

@GetMapping("/param5")
public String param5(User user) {
System.out.println(user);
return "/index.jsp";
}

@PostMapping("/param6")
public String param6(@RequestBody String body) {
System.out.println(body);
return "/index.jsp";
}

@PostMapping("/param7")
public String param7(@RequestBody String body) throws JsonProcessingException {
ObjectMapper objectMapper = new ObjectMapper();
User user = objectMapper.readValue(body, User.class);
System.out.println(user);
return "/index.jsp";
}

@PostMapping("/param8")
public String param8(@RequestBody User user) {
System.out.println(user);
return "/index.jsp";
}

@GetMapping("/user/{id}")
public String findUserById(@PathVariable("id") int id) {
System.out.println("id => " + id);
return "/index.jsp";
}

}

Restful风格数据

  • Restful风格的请求, 常见的规则有如下三点

    • 用URI表示某个模块资源, 资源名称为名词

      image-20250203215454556

    • 用请求方式表示模块具体业务动作

      image-20250203215426451

    • 用HTTP相应状态码表示结构, 国内常用的响应包括三部分: 状态码, 状态信息, 响应数据

      image-20250203215517408

请求静态资源

  • 三种方案

    1. 再次激活Tomcat的DefaultServlet

      1
      2
      3
      4
      5
      6
      7
      8
      <servlet-mapping>
      <servlet-name>dafault</servlet-name>
      <url-pattern>/img/*</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
      <servlet-name>default</servlet-name>
      <url-pattern>*.html</url-pattern>
      </servlet-mapping>
    2. 在spring-mvc.xml中去配置静态资源映射, 匹配映射路径的请求到指定的位置去匹配资源

      1
      <mvc:resources mapping="/img/*" location="/img/"/>
    3. 在spring-mvc.xml中去配置<mvc:default-servlet-handler>, 注册一个DefaultsServletHttpRequestHandler处理器, 静态资源的访问都由该处理器去处理

      1
      <mvc:default-servlet-handler/>