SpringBoot静态资源访问及参数处理

静态资源访问:

资源访问:

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;
    }

效果展示: 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奋斗着,享受着

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值