静态资源访问:
资源访问:
1:Spring Boot 支持静态和模板化的欢迎页面。它首先在配置的静态内容位置中查找index.html文件。如果未找到,则查找index相关模板。如果找到任一,它将自动用作应用程序的欢迎页面。
2:默认情况下,Spring Boot 从类路径中名为 /static(或 /public 或 /resources 或 /META-INF/resources)的目录或 ServletContext 的根目录中提供静态内容。 它使用来自 Spring MVC 的 ResourceHttpRequestHandler,因此也可以通过添加自己的 WebMvcConfigurer 并覆盖 addResourceHandlers 方法来修改该行为。
3:我们可以在这四个默认目录中添加资源来使用,使用时无需指定根目录。
4:我们也可以在配置文件中自定义资源路径,但这会覆盖原来的默认路径。
操作演示:
我们创建一个SpringBoot项目,在resources目录下创建四个默认目录,并添加相关资源及index.html。运行观察效果。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>首页</title>
<!--引入静态资源,无需指定根目录-->
<link rel="stylesheet" href="css/index.css">
<script src="js/index.js"></script>
</head>
<body>
我爱唱跳rap篮球<br>
<img src="imges/熊猫.jpg"/>
</body>
</html>
参数接收:
1:简单类型
通过 ? 传参。一般用于接收基本数据类型或字符串类型。
代码示例:
@GetMapping("/get")
public String get(String name , int age){
return name+":"+age;
}
效果演示:
2:路径变量
要接收路径变量,我们需要使用 @PathVariable注解来获取路径上的值
代码示例:
@GetMapping("user/{name}/{age}")
public String info(@PathVariable("name") String name, @PathVariable("age") Integer age) {
return name + " : " + age;
}
效果展示:
3:请求头信息
要能够接收请求头中的参数,我们需要使用 @RequestHeader 注解来实现。
代码示例:
@GetMapping("user/get")
public String getHeaderParameter(@RequestHeader("Accept") String accept,
@RequestHeader Map<String, String> headers) {
Map<String, Object> map = new HashMap<>();
map.put("result", headers);
return accept + " , " + map.toString();
}
效果展示:
4:获取cookie
使用 @CookieValue 注解来获取到客户端的 Cookie信息
代码示例:
@GetMapping("/user/getCookie")
public String getCookie(@CookieValue("Idea-eb6c9214") Cookie cookie) {
String name = cookie.getName();
String value = cookie.getValue();
return name + " : " + value;
}
效果展示:
5:对象接收参数
使用记录类或者普通实体类来接收对象
代码示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>用户</title>
</head>
<body>
<form method="post" action="/param/user/save">
<input type="text" name="name" placeholder="name"><br>
<input type="text" name="age" placeholder="age"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
//对象接收参数
@PostMapping("user/save")
public Student getStudent(Student student){
return student;
}
效果展示:
6:获取json字符串
@RequestBody 这个注解是用于获取前端提交的 JSON 字符串
代码示例:
@PostMapping("user/json")
public Student getStudentByJson(@RequestBody Student student) {
System.out.println(student);
return student;
}
效果展示:
7:原生对象接收:
直接使用 HttpServletRequest 对象来接收参数。
代码示例:
@GetMapping("user/getParam")
public String getStudentParam(HttpServletRequest request){
String name = request.getParameter("name");
Integer age = Integer.parseInt(request.getParameter("age"));
return name+ " "+ age;
}
效果展示: