当前位置: 首页 > article >正文

【Web应用】 Java + Vue 前后端开发中的Cookie、Token 和 Swagger介绍

文章目录

  • 前言
  • 一、Cookie
  • 二、Token
  • 三、Swagger
  • 总结

前言

在现代的 web 开发中,前后端分离的架构越来越受到欢迎,Java 和 Vue 是这一架构中常用的技术栈。在这个过程中,Cookie、Token 和 Swagger 是三个非常重要的概念。本文将对这三个词进行详细介绍,并探讨它们在前后端开发中的应用。

一、Cookie

1. 什么是 Cookie?

Cookie 是一种在用户的浏览器中存储小块数据的机制。它通常用于存储用户的会话信息,以便在用户访问网站时能够保持状态。例如,当用户登录后,服务器可能会向用户的浏览器发送一个 Cookie,以便在后续请求中识别用户。

2. Cookie 的特点:

  • 存储位置:存储在客户端的浏览器中。
  • 生命周期:可以设置过期时间,过期后自动删除。
  • 安全性:可以设置为 HttpOnly 和 Secure,以提高安全性。

3. 在 Java + Vue 中的应用:

在 Java 后端开发中,通常使用 Spring Security 等框架来管理用户的身份验证,并通过 Cookie 存储用户的登录状态。前端 Vue 应用在每次请求时,会自动携带 Cookie,从而实现用户的状态保持。

Java后端设置Cookie:

@GetMapping("/setCookie")
public ResponseEntity<String> setCookie(HttpServletResponse response) {Cookie cookie = new Cookie("username", "user123");cookie.setMaxAge(7 * 24 * 60 * 60); // 过期时间(秒)cookie.setPath("/"); // 作用路径cookie.setHttpOnly(true); // 仅HTTP访问,防止XSSresponse.addCookie(cookie);return ResponseEntity.ok("Cookie已设置");
}

Vue前端读取Cookie:

// 使用js-cookie库
import Cookies from 'js-cookie';// 设置Cookie
Cookies.set('username', 'user123', { expires: 7 });// 读取Cookie
const username = Cookies.get('username');

二、Token

1. 什么是 Token?

Token 是一种用于身份验证的字符串,通常是在用户登录后由服务器生成并返回给客户端。与 Cookie 不同,Token 通常以 JSON Web Token (JWT) 的形式存在,包含了用户的信息和签名,用于验证其合法性。

2. Token 的特点:

  • 无状态:Token 不需要在服务器端存储,所有信息都包含在 Token 中。
  • 跨域支持:Token 可以在不同的域之间使用,适合微服务架构。
  • 安全性:可以通过签名验证 Token 的有效性,防止伪造。

3. 在 Java + Vue 中的应用:

在 Java 后端中,使用 JWT 生成 Token,前端 Vue 应用在用户登录后接收到 Token,并将其存储在本地存储(localStorage)中。后续的 API 请求中,Vue 应用会在请求头中携带 Token,从而实现身份验证。

Java后端生成JWT:

public String generateToken(String username) {return Jwts.builder().setSubject(username).setIssuedAt(new Date()).setExpiration(new Date(System.currentTimeMillis() + 3600000)) // 1小时过期.signWith(SignatureAlgorithm.HS512, "yourSecretKey").compact();
}

Vue前端处理Token:

// 登录后保存token
localStorage.setItem('token', response.data.token);// 在axios拦截器中添加token
axios.interceptors.request.use(config => {const token = localStorage.getItem('token');if (token) {config.headers.Authorization = `Bearer ${token}`;}return config;
});

三、Swagger

1. 什么是 Swagger?

Swagger 是一个用于 API 文档生成的工具,可以帮助开发者设计、构建和文档化 RESTful API。通过 Swagger,开发者可以轻松地创建 API 文档,并提供交互式的 API 调试界面。

2. Swagger 的特点:

  • 自动生成文档:通过注解和配置,可以自动生成 API 文档。
  • 交互式界面:提供用户友好的界面,方便开发者和测试人员进行接口测试。
  • 支持多种语言:支持多种编程语言和框架,易于集成。

3. 在 Java + Vue 中的应用:

在 Java 后端开发中,通常使用 Springfox 或 Springdoc 等库来集成 Swagger。通过在控制器中添加注解,开发者可以生成 API 文档。在 Vue 前端中,开发者可以根据 Swagger 文档了解后端提供的接口,方便进行前端开发和调试。

Java集成Swagger:

@Configuration
@EnableSwagger2
public class SwaggerConfig {@Beanpublic Docket api() {return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.basePackage("com.your.package")).paths(PathSelectors.any()).build().apiInfo(apiInfo());}private ApiInfo apiInfo() {return new ApiInfoBuilder().title("API文档").description("Java+Vue项目API文档").version("1.0").build();}
}

访问地址:http://localhost:8080/swagger-ui.html

总结

在 Java + Vue 前后端开发中,Cookie 和 Token 是实现用户身份验证和状态管理的重要机制,而 Swagger 则是帮助开发者生成和维护 API 文档的有力工具。理解这三个概念及其应用,可以帮助开发者更高效地进行前后端分离的开发工作。希望本文能为您在前后端开发中提供一些有用的参考!

http://www.lryc.cn/news/2393168.html

相关文章:

  • 本地部署AI工作流
  • 什么是VR全景相机?如何选择VR全景相机?
  • 如何创建和使用汇编语言,以及下载编译汇编软件(Notepad++,NASM的安装)
  • c++设计模式-单例模式
  • Ubuntu开机自动运行Docker容器中的Qt UI程序
  • Python训练营打卡Day40(2025.5.30)
  • SpringBoot+vue+SSE+Nginx实现消息实时推送
  • python中使用高并发分布式队列库celery的那些坑
  • 哈工大计算机系统大作业 程序人生-Hello’s P2P
  • 计算机一次取数过程分析
  • Halcon联合QT ROI绘制
  • 力扣面试150题--二叉树的右视图
  • 数据绑定页面的完整的原理、逻辑关系、实现路径是什么?页面、表格、字段、属性、值、按钮、事件、模型、脚本、服务编排、连接器等之间的关系又是什么?
  • 江西某石灰石矿边坡自动化监测
  • 《Python 应用中的蓝绿部署与滚动更新:持续集成中的实践与优化》
  • C# 类和继承(所有类都派生自object类)
  • 02业务流程的定义
  • cursor rules设置:让cursor按执行步骤处理(分析需求和上下文、方案对比、确定方案、执行、总结)
  • Linux操作系统之进程(四):命令行参数与环境变量
  • Typora-macOS 风格代码块
  • 如何迁移SOS数据库和修改sos服务的端口号
  • ansible自动化playbook简单实践
  • 20250526惠普HP锐14 AMD锐龙 14英寸轻薄笔记本电脑(八核R7-7730U)的显卡驱动下载
  • WIN11使用vscode搭建c语言开发环境
  • 2025年5月蓝桥杯stema省赛真题——象棋移动
  • AI重构SEO关键词精准定位
  • C++ 模板元编程语法大全
  • SPSS跨域分类:自监督知识+软模板优化
  • 【术语扫盲】BSP与MSP
  • vscode的Embedded IDE创建keil项目找不到源函数或者无法跳转