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

项目小结二()

一.个人信息的界面  

 这里可以进行用户信息的修改,并渲染数据上去

二.这两天,出现的问题:

        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("没有被允许访问!");}}
}

相关文章:

项目小结二()

一.个人信息的界面 这里可以进行用户信息的修改&#xff0c;并渲染数据上去 二.这两天&#xff0c;出现的问题&#xff1a; 1.mybatis中 字段取别名 &#xff08;还没验证&#xff0c;是否正确&#xff09; 问题描述&#xff1a;由于实体类中的变量名&#xff0c;与数据库中…...

《论层次架构及其在软件系统中的应用》写作框架,软考高级系统架构设计师

论文真题 层次架构作为软件系统设计的一种基本模式,对于实现系统的模块化、可维护性和可扩展性具有至关重要的作用。在软件系统的构建过程中,采用层次架构不仅可以使系统结构更加清晰,还有助于提高开发效率和质量。因此,对层次架构的理解和应用是软件工程师必备的技能之一…...

校篮球联赛系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;公告管理&#xff0c;基础数据管理&#xff0c;球队管理&#xff0c;球员管理&#xff0c;赛事信息管理&#xff0c;用户管理&#xff0c;轮播图信息 微信端账号功能包括&#…...

在 HKCR 新增项和值

HKEY_CLASSES_ROOT HKEY_CURRENT_USER\Software\Classes ∪ HKEY_LOCAL_MACHINE\Software\Classes ; 1. Win11 HKCR 根键默认是 System 所有, Win10 HKCR 根键默认是 Administrators 所有。 ; 2. 以 System、管理员 还是 普通用户 登录系统&#xff1f; ; 在注册表里&#x…...

Spring Boot 注解探秘:JSON 处理的魔法世界

在 Spring Boot 应用开发中&#xff0c;高效处理 JSON 数据同样至关重要。Spring Boot 不仅在 Bean 管理方面表现出色&#xff0c;提供强大的注解系统以助力开发者轻松管理 Bean 的生命周期和依赖注入&#xff0c;在 JSON 数据处理上也毫不逊色。本文将深入探讨 Spring Boot 中…...

利用AI驱动智能BI数据可视化-深度评测Amazon Quicksight(一)

项目简介 随着生成式人工智能的兴起&#xff0c;传统的 BI 报表功能已经无法满足用户对于自动化和智能化的需求&#xff0c;今天我们将介绍亚马逊云科技平台上的AI驱动数据可视化神器 – Quicksight&#xff0c;利用生成式AI的能力来加速业务决策&#xff0c;从而提高业务生产…...

Linux常见指令、ls、pwd、cd、touch、mkdir、rmdir、rm等的介绍

文章目录 前言一、ls二、pwd三、cd四、touch五、 mkdir六、rmdir七、rm总结 前言 Linux常见指令、ls、pwd、cd、touch、mkdir、rmdir、rm等的介绍 一、ls 列出该目录下的所有子目录与文件。对于文件&#xff0c;将列出文件名以及其他信息 -a 列出目录下的所有文件&#xff0c;…...

【Kubernetes】常见面试题汇总(八)

目录 22.简述 Kubernetes 中 Pod 的健康检查方式&#xff1f; 23.简述 Kubernetes Pod 的 LivenessProbe 探针的常见方式&#xff1f; 24.简述 Kubernetes Pod 的常见调度方式&#xff1f; 22.简述 Kubernetes 中 Pod 的健康检查方式&#xff1f; 对 Pod 的健康检查可以通过…...

CentOS 7系统双网卡配置动态链路聚合(bond4)

一、应用场景 在机房建设时&#xff0c;服务器的网卡需要配置成bond4&#xff0c;可以使用我下面的配置文件和脚本来进行配置&#xff0c;简化配置流程。 bond4&#xff0c;即动态链路聚合&#xff0c;它可以将服务器上的两个物理网卡聚合为一个&#xff0c;两个网口逻辑成一…...

ubuntu 20.04 一直卡在登录界面,即使密码正确也无法登录(失败记录)

ubuntu 20.04 一直卡在登录界面&#xff0c;即使密码正确也无法登录 这次是装实体机&#xff0c;一次失败的尝试。。。 名称型号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&#xff1f; 最“大”的概念是人工神经网络&#xff08;Artificial Neural Network, ANN&#xff09;&#xff0c;它是较为广泛的术语&#xff0c;通常指的是一类模拟生物神经网络的数学模型&#xff0c;其中包括神经元、权重和连接。在这个术语下&#…...

组织应在其网络安全策略中考虑MLSecOps吗?

随着越来越多的组织拥抱人工智能 (AI) 和机器学习 (ML) 来优化操作并获得竞争优势&#xff0c;关于如何最好地保障这一强大技术的安全性的问题也日益受到关注。其中的核心是用于训练ML模型的数据&#xff0c;这对模型的行为和性能有着根本影响。因此&#xff0c;组织需要密切关…...

Windows安装HeidiSQL教程(图文)

一、软件简介 HeidiSQL是一款开源的数据库管理工具&#xff0c;主要用于管理MySQL、MariaDB、SQL Server、PostgreSQL和SQLite等数据库系统。它提供了直观的用户界面&#xff0c;使用户可以轻松地连接到数据库服务器、执行SQL查询、浏览和编辑数据、管理数据库结构等操作。 跨…...

存储课程学习笔记5_iouring的练习(io_uring,rust_echo_bench,fio)

我们知道&#xff0c;在处理大量高并发网络时&#xff0c;一般考虑并发&#xff0c;以及设计对应的方案&#xff08;比如select,poll,epoll&#xff09;等。 那么如果频繁进行文件或者磁盘的操作&#xff0c;如何考虑性能和并发&#xff0c;这里就可以考虑用到io_uring。 0&a…...

前端HTML+CSS+JS的入门学习

一.HTML HTML&#xff08;HyperText Markup Language&#xff09;即超文本标记语言&#xff0c;是用于创建网页和网页应用程序的标准标记语言。它不是一种编程语言&#xff0c;而是一种标记语言&#xff0c;通过一系列的元素&#xff08;elements&#xff09;来告诉浏览器如何…...

通信电路和信道的区别与联系

通信电路和信道的区别 区分通信电路和信道主要在于理解它们的功能范围与作用机制。通信电路侧重于信息的处理和信号的调整&#xff0c;而信道更侧重于信号的实际传输。电路可以视为信道的接入点&#xff0c;但它们的设计和优化考量各不相同。例如&#xff0c;电路设计重视的传…...

基于深度学习的蛋白质结构预测

基于深度学习的蛋白质结构预测是利用深度学习模型来预测蛋白质的三维结构&#xff0c;这在生物学和药物研发领域具有重要意义。蛋白质的功能在很大程度上取决于其三维结构&#xff0c;准确预测蛋白质结构可以帮助科学家理解蛋白质的功能和相互作用&#xff0c;并加速药物发现的…...

基于 Redis 的分布式锁实现原理及步骤

实现分布式锁的目的是在分布式系统中&#xff0c;保证多个节点之间对共享资源的并发访问是互斥的。常用的分布式锁实现方式有以下几种&#xff1a;基于数据库、基于 Redis、基于 Zookeeper。下面详细介绍基于 Redis 的分布式锁实现原理及步骤。 一、Redis 分布式锁原理 唯一性…...

21_动态规划与数据结构结合

菜鸟&#xff1a;老鸟&#xff0c;我最近在处理一个数据操作时遇到了性能问题。我需要计算一个数组中某些子数组的和&#xff0c;但直接计算太慢了&#xff0c;有没有什么更高效的方法&#xff1f; 老鸟&#xff1a;你提到的这个问题其实可以通过动态规划结合数据结构来解决。…...

React与Vue的对比

异同总结 相同点&#xff1a; 都有组件化思想 都支持服务器端渲染 都有Virtual DOM&#xff08;虚拟dom&#xff09; 数据驱动视图 都有支持native的方案&#xff1a;Vue的weex、React的React native 都有自己的构建工具&#xff1a;Vue的vue-cli、React的Create React A…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...