使用SpringBoot请求方式和访问静态页面

 更新时间:2025年01月06日 16:15:36   作者:鸵鸟七号~~  
SpringBoot支持多种请求方式,包括GET、RESTful、分页列表等,常用框架如阿里fastjson、谷歌gson用于JavaBean序列化为Json,性能上Jackson最快,SpringBoot目录结构包括src/main/java、src/main/resources等

SpringBoot请求方式

1.get请求

@RequestMapping(value = "/findUser",method = RequestMethod.GET)
    public UserInfo findUser(){
        return new UserInfo("1","张三","123","男","22");
    }

2.restful风格

@GetMapping(value = "/rest/{id}/{name}")
    public Map findObject(@PathVariable(value = "id") String id, @PathVariable(value = "name") String name){
        map.clear();
        map.put("id",id);
        map.put("name",name);
        return map;
    }

3.分页列表

    @GetMapping(value = "/page")
    public Map pages(@RequestParam(name = "page",defaultValue = "1")Integer page,Integer limit){
        map.clear();
        map.put("page",page);
        map.put("limit",limit);
        return map;
    }

4.添加数据

    @PostMapping(value = "/add")
    public Map addUser(UserInfo ui){
        map.clear();
        map.put("ui",ui);
        return map;
    }

5.token形式

    @GetMapping(value = "/findheader")
    public Map findHeader(@RequestHeader("token")String token,String id){
        map.clear();
        map.put("token",token);
        map.put("id",id);
        return map;
    }

6.查找信息

    @GetMapping(value = "/find")
    public Map findHeader(HttpServletRequest request){
        map.clear();
        String id = request.getParameter("id");
        map.put("id",id);
        return map;
    }

7.登录

    @PostMapping(value = "/login")
    public Map login(String name ,String pwd){
        map.clear();
        map.put("name",name);
        map.put("pwd",pwd);
        return map;
    }

8.修改信息

    @PutMapping(value = "/update")
    public Map update(String name){
        map.clear();
        map.put("name",name);
        return map;
    }

9.删除信息

    @DeleteMapping(value = "/delete")
    public Map delete(String id){
        map.clear();
        map.put("id",id);
        return map;
    }

常用框架阿里fastjson, 谷歌gson

JavaBean序列化为Json,性能: Jackson > FastJson > Gson > Json-lib 同个结构

Jackson、FastJson、 Gson类库各有优点,各有自己的专长

空间换时间,时间换空间

Jackson处理相关自动

  • 指定字段不返回:@JsonIgnore
  • 指定日期格式:@JsonFormat (pattern="yyy-MM-dd hh:mm:ss" , locale=" zh" , timezone="GMT+8" )
  • 空字段不返回:@JsonInclude(Include . NON_NULL)
  • 指定别名:@JsonProperty

SpringBoot目录文件结构

1、目录讲解

  • src/main/java:存放代码
  • src/main/resources
  • static:存放静态文件,比如css、 js、 image, (访问方式 http://localhost:8080/js/xxx.js)
  • templates:存放静态页面jsp, html,tpl
  • config:存放配置文件, application. properties

resources:

2、引入依赖 Thymelesf

       <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-thymeleaf</artifactId>
       </dependency>

如果不引人这个依赖包,html文件应该放在默认加载文件夹里面,比如resources、static. public这个几个文件夹,才可以访问。

3、同个文件的加载顺序,静态资源文件

Spring Boot 默认会挨个从META/resources > resources > static > public里面找是 否存在相应的资

源,如果有则直接返回。

4、默认配置

1)官网地址: https ://docs.spring.io/spring-boot/docs/current/reference/html/

boot-features -developing-web- applications . html#boot - features- spring-mvc-static-content

2)spring.resources. static-locations = classpath: /META- INF/resources/ , classpath: /resources/ ,classpath:/static/ , classpath:/public/

Spring Boot访问静态资源

在浏览器中直接输入 localhost:8080/a.html 会去访问 static 文件夹下的静态资源

如果想要访问到 templates 下的静态资源有两种方式,但是都要在pom.xml里面去引入Thymelesf依赖。

1)在application.properties里面添加以下配置定死

spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html

2)在application.properties里面添加以下配置进行灵活访问

spring.resources.static-locations = classpath:classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/page/

最后在Controller控制层中进行访问

package org.zhx.bootdemo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class TestController {

    @GetMapping("/finds")
    public String find(){
        return "a";
    }

    @GetMapping("/findss")
    public String finds(){
        return "ab.html";
    }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MAVEN_HOME、M2_HOME,maven环境变量设置方式

    MAVEN_HOME、M2_HOME,maven环境变量设置方式

    这篇文章主要介绍了MAVEN_HOME、M2_HOME,maven环境变量设置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • java 用itext设置pdf纸张大小操作

    java 用itext设置pdf纸张大小操作

    这篇文章主要介绍了java 用itext设置pdf纸张大小操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • Spring Boot2.0 @ConfigurationProperties使用详解

    Spring Boot2.0 @ConfigurationProperties使用详解

    这篇文章主要介绍了Spring Boot2.0 @ConfigurationProperties使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • Springboot整合mybatis开启二级缓存的实现示例

    Springboot整合mybatis开启二级缓存的实现示例

    在一级缓存中,是查询两次数据库的,显然这是一种浪费,既然SQL查询相同,就没有必要再次查库了,直接利用缓存数据即可,这种思想就是MyBatis二级缓存的初衷,本文就详细的介绍了Springboot整合mybatis开启二级缓存,感兴趣的可以了解一下
    2022-05-05
  • 详解Java并发包中线程池ThreadPoolExecutor

    详解Java并发包中线程池ThreadPoolExecutor

    ThreadPoolExecutor是Java语言对于线程池的实现。线程池技术使线程在使用完毕后不回收而是重复利用。如果线程能够复用,那么我们就可以使用固定数量的线程来解决并发问题,这样一来不仅节约了系统资源,而且也会减少线程上下文切换的开销
    2021-06-06
  • 半小时实现Java手撸网络爬虫框架(附完整源码)

    半小时实现Java手撸网络爬虫框架(附完整源码)

    最近在做一个搜索相关的项目,需要爬取网络上的一些链接存储到索引库中,自己写了一个简单的网络爬虫,感兴趣的可以了解一下
    2021-06-06
  • Java定时清理过期文件的实例代码

    Java定时清理过期文件的实例代码

    这篇文章主要介绍了Java定时清理过期文件的实例代码,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2018-12-12
  • Java中sort排序函数实例详解

    Java中sort排序函数实例详解

    我们经常使用java中的sort排序,确实好用,但是其中原理大多数人都是不了解的,下面这篇文章主要给大家介绍了关于Java中sort排序函数的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • JavaWeb中请求转发和请求重定向的区别以及使用

    JavaWeb中请求转发和请求重定向的区别以及使用

    今天带大家学习JavaWeb的相关知识,文章围绕着JavaWeb中请求转发和请求重定向的区别以及使用展开,文中有非常详细的介绍,需要的朋友可以参考下
    2021-06-06
  • Java中设置session超时(失效)的三种方法

    Java中设置session超时(失效)的三种方法

    这篇文章主要介绍了Java中设置session超时(失效)的三种方法,本文讲解了在web容器中设置、在工程的web.xml中设置、通过java代码设置3种方法,需要的朋友可以参考下
    2015-07-07

最新评论