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。运行观察效果。

SpringBoot静态资源访问及参数处理_第1张图片

 




    
    首页

    
    


我爱唱跳rap篮球

SpringBoot静态资源访问及参数处理_第2张图片

 参数接收:

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

 效果展示:

SpringBoot静态资源访问及参数处理_第3张图片

3:请求头信息

要能够接收请求头中的参数,我们需要使用 @RequestHeader 注解来实现。

代码示例:

    @GetMapping("user/get")
    public String getHeaderParameter(@RequestHeader("Accept") String accept,
                                     @RequestHeader Map headers) {

        Map 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:对象接收参数

使用记录类或者普通实体类来接收对象

代码示例:




  
  用户




    //对象接收参数
    @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;
    }

效果展示: 

SpringBoot静态资源访问及参数处理_第4张图片

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

效果展示: 

 

你可能感兴趣的:(SpringBoot,spring,boot,后端,java)