项目小结二()
一.个人信息的界面

这里可以进行用户信息的修改,并渲染数据上去
二.这两天,出现的问题:
1.mybatis中 字段取别名 (还没验证,是否正确)
问题描述:由于实体类中的变量名,与数据库中的字段名不相同,导致mybatis框架执行错误。

2.在前端js代码出现问题
问题描述:因为方式如果不是异步的,就会出现问题,这个原理还不是很了解

这里的异步函数,如果不使用这个异步就会出现问题
3.在样式方面

有时候这个样式 active不同成功加上去,目前也还没发现哪里出现了问题。后面有时间再回来解决。
三. 后端过滤器(检测token是否过期)
package com.csdn.controller;import com.csdn.util.TokenUtil;import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;// 过滤器,过滤掉accessToke过期的
@WebFilter("/token/*")
public class AuthFilter implements Filter {private static final List<String> WHITE_LIST_URLS = Arrays.asList(// 可以根据需要添加更多URL);@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;HttpServletResponse httpResponse = (HttpServletResponse) servletResponse;httpResponse.setContentType("application/json;charset=utf-8");httpRequest.setCharacterEncoding("utf-8");String accessToken = httpRequest.getHeader("Authorization");String requestURI = httpRequest.getRequestURI();if (WHITE_LIST_URLS.contains(requestURI)) {// 如果在白名单中,则不进行Token验证,直接放行filterChain.doFilter(servletRequest, servletResponse);return;}if (accessToken != null && accessToken.startsWith("Bearer ")) {accessToken = accessToken.substring(7); // 提取Token值try {// 验证Tokenif (TokenUtil.verifyToken(accessToken)) {// Token验证通过,继续执行System.out.println("\n\nToken验证通过,继续执行\n|||||||||||||||||||||||||||||||\n");filterChain.doFilter(servletRequest, servletResponse);} else {// Token验证失败,返回401httpResponse.setStatus(HttpServletResponse.SC_UNAUTHORIZED);httpResponse.getWriter().write("Unauthorized");}} catch (Exception e) {// Token验证异常处理e.printStackTrace();httpResponse.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);httpResponse.getWriter().write("Internal Server Error");}} else {// 如果没有Token或者格式不正确,返回401httpResponse.setStatus(HttpServletResponse.SC_UNAUTHORIZED);httpResponse.getWriter().write("没有被允许访问!");}}
}
相关文章:
项目小结二()
一.个人信息的界面 这里可以进行用户信息的修改,并渲染数据上去 二.这两天,出现的问题: 1.mybatis中 字段取别名 (还没验证,是否正确) 问题描述:由于实体类中的变量名,与数据库中…...
《论层次架构及其在软件系统中的应用》写作框架,软考高级系统架构设计师
论文真题 层次架构作为软件系统设计的一种基本模式,对于实现系统的模块化、可维护性和可扩展性具有至关重要的作用。在软件系统的构建过程中,采用层次架构不仅可以使系统结构更加清晰,还有助于提高开发效率和质量。因此,对层次架构的理解和应用是软件工程师必备的技能之一…...
校篮球联赛系统小程序的设计
管理员账户功能包括:系统首页,个人中心,管理员管理,公告管理,基础数据管理,球队管理,球员管理,赛事信息管理,用户管理,轮播图信息 微信端账号功能包括&#…...
在 HKCR 新增项和值
HKEY_CLASSES_ROOT HKEY_CURRENT_USER\Software\Classes ∪ HKEY_LOCAL_MACHINE\Software\Classes ; 1. Win11 HKCR 根键默认是 System 所有, Win10 HKCR 根键默认是 Administrators 所有。 ; 2. 以 System、管理员 还是 普通用户 登录系统? ; 在注册表里&#x…...
Spring Boot 注解探秘:JSON 处理的魔法世界
在 Spring Boot 应用开发中,高效处理 JSON 数据同样至关重要。Spring Boot 不仅在 Bean 管理方面表现出色,提供强大的注解系统以助力开发者轻松管理 Bean 的生命周期和依赖注入,在 JSON 数据处理上也毫不逊色。本文将深入探讨 Spring Boot 中…...
利用AI驱动智能BI数据可视化-深度评测Amazon Quicksight(一)
项目简介 随着生成式人工智能的兴起,传统的 BI 报表功能已经无法满足用户对于自动化和智能化的需求,今天我们将介绍亚马逊云科技平台上的AI驱动数据可视化神器 – Quicksight,利用生成式AI的能力来加速业务决策,从而提高业务生产…...
Linux常见指令、ls、pwd、cd、touch、mkdir、rmdir、rm等的介绍
文章目录 前言一、ls二、pwd三、cd四、touch五、 mkdir六、rmdir七、rm总结 前言 Linux常见指令、ls、pwd、cd、touch、mkdir、rmdir、rm等的介绍 一、ls 列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息 -a 列出目录下的所有文件,…...
【Kubernetes】常见面试题汇总(八)
目录 22.简述 Kubernetes 中 Pod 的健康检查方式? 23.简述 Kubernetes Pod 的 LivenessProbe 探针的常见方式? 24.简述 Kubernetes Pod 的常见调度方式? 22.简述 Kubernetes 中 Pod 的健康检查方式? 对 Pod 的健康检查可以通过…...
CentOS 7系统双网卡配置动态链路聚合(bond4)
一、应用场景 在机房建设时,服务器的网卡需要配置成bond4,可以使用我下面的配置文件和脚本来进行配置,简化配置流程。 bond4,即动态链路聚合,它可以将服务器上的两个物理网卡聚合为一个,两个网口逻辑成一…...
ubuntu 20.04 一直卡在登录界面,即使密码正确也无法登录(失败记录)
ubuntu 20.04 一直卡在登录界面,即使密码正确也无法登录 这次是装实体机,一次失败的尝试。。。 名称型号CPUIntel Xeon E5-2673 V3GPURTX 3060 mobile 安装的时候不要选install third-party software for graphics and Wi-fi hardware and additional …...
【深度学习】神经网络-怎么理解DNN、CNN、RNN?
怎么分清DNN、RNN、CNN? 最“大”的概念是人工神经网络(Artificial Neural Network, ANN),它是较为广泛的术语,通常指的是一类模拟生物神经网络的数学模型,其中包括神经元、权重和连接。在这个术语下&#…...
组织应在其网络安全策略中考虑MLSecOps吗?
随着越来越多的组织拥抱人工智能 (AI) 和机器学习 (ML) 来优化操作并获得竞争优势,关于如何最好地保障这一强大技术的安全性的问题也日益受到关注。其中的核心是用于训练ML模型的数据,这对模型的行为和性能有着根本影响。因此,组织需要密切关…...
Windows安装HeidiSQL教程(图文)
一、软件简介 HeidiSQL是一款开源的数据库管理工具,主要用于管理MySQL、MariaDB、SQL Server、PostgreSQL和SQLite等数据库系统。它提供了直观的用户界面,使用户可以轻松地连接到数据库服务器、执行SQL查询、浏览和编辑数据、管理数据库结构等操作。 跨…...
存储课程学习笔记5_iouring的练习(io_uring,rust_echo_bench,fio)
我们知道,在处理大量高并发网络时,一般考虑并发,以及设计对应的方案(比如select,poll,epoll)等。 那么如果频繁进行文件或者磁盘的操作,如何考虑性能和并发,这里就可以考虑用到io_uring。 0&a…...
前端HTML+CSS+JS的入门学习
一.HTML HTML(HyperText Markup Language)即超文本标记语言,是用于创建网页和网页应用程序的标准标记语言。它不是一种编程语言,而是一种标记语言,通过一系列的元素(elements)来告诉浏览器如何…...
通信电路和信道的区别与联系
通信电路和信道的区别 区分通信电路和信道主要在于理解它们的功能范围与作用机制。通信电路侧重于信息的处理和信号的调整,而信道更侧重于信号的实际传输。电路可以视为信道的接入点,但它们的设计和优化考量各不相同。例如,电路设计重视的传…...
基于深度学习的蛋白质结构预测
基于深度学习的蛋白质结构预测是利用深度学习模型来预测蛋白质的三维结构,这在生物学和药物研发领域具有重要意义。蛋白质的功能在很大程度上取决于其三维结构,准确预测蛋白质结构可以帮助科学家理解蛋白质的功能和相互作用,并加速药物发现的…...
基于 Redis 的分布式锁实现原理及步骤
实现分布式锁的目的是在分布式系统中,保证多个节点之间对共享资源的并发访问是互斥的。常用的分布式锁实现方式有以下几种:基于数据库、基于 Redis、基于 Zookeeper。下面详细介绍基于 Redis 的分布式锁实现原理及步骤。 一、Redis 分布式锁原理 唯一性…...
21_动态规划与数据结构结合
菜鸟:老鸟,我最近在处理一个数据操作时遇到了性能问题。我需要计算一个数组中某些子数组的和,但直接计算太慢了,有没有什么更高效的方法? 老鸟:你提到的这个问题其实可以通过动态规划结合数据结构来解决。…...
React与Vue的对比
异同总结 相同点: 都有组件化思想 都支持服务器端渲染 都有Virtual DOM(虚拟dom) 数据驱动视图 都有支持native的方案:Vue的weex、React的React native 都有自己的构建工具:Vue的vue-cli、React的Create React A…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...
用 Rust 重写 Linux 内核模块实战:迈向安全内核的新篇章
用 Rust 重写 Linux 内核模块实战:迈向安全内核的新篇章 摘要: 操作系统内核的安全性、稳定性至关重要。传统 Linux 内核模块开发长期依赖于 C 语言,受限于 C 语言本身的内存安全和并发安全问题,开发复杂模块极易引入难以…...
Redis上篇--知识点总结
Redis上篇–解析 本文大部分知识整理自网上,在正文结束后都会附上参考地址。如果想要深入或者详细学习可以通过文末链接跳转学习。 1. 基本介绍 Redis 是一个开源的、高性能的 内存键值数据库,Redis 的键值对中的 key 就是字符串对象,而 val…...
