- 博客(66)
- 收藏
- 关注
原创 JavaWeb笔记15
token令牌的登录方式,访问认证速度快,session共享,安全性redis做了令牌和用户信息的对应管理,1.进一步增加了安全性 2.登录用户做了缓存 3.灵活控制用户的过期(续期,踢掉线等)2.threadLocal使用了保存用户信息,请求的线程之内,可以随时获取登录的用户,做了线程隔离3.在使用完ThreadLocal之后,做了value的删除,防止了内存泄漏。
2025-07-30 21:48:21
561
原创 JavaWeb笔记14
3. 阅读数和评论数,考虑把阅读数和评论数增加的时候 放入 redis incr 自增,使用定时任务 定时把数据固化到数据库当中。4. 为了加快访问速度,部署的时候,可以把图片,js,css 等放入七牛云存储中,加快网站访问速度。2. 评论数据,可以考虑放入 mongodb 当中 电商系统当中评论数据放入 mongo 中。启动项目访问http://localhost:8889/pages/main.html。在需要的地方加上@Cache注解使用缓存。还要配置密钥 但是要钱我没搞。year不能接收毫秒值。
2025-07-30 17:52:36
362
原创 集训总结2
已有的注解不能满足所有的校验需求,特殊的情况需要自定义校验 (自定义校验注解)1.自定义注解 State2.创建自定义校验数据的类 StateValidation实现 ConstraintValidator 接口3.在需要校验的地方使用自定义注解String message() default "文章状态只能是:已发布或者草稿";Class<?@Override。
2025-07-25 13:52:59
688
原创 集训Demo6
之前不知道请求头的字段是可以添加的,我添加了另一个字段Authorization2用于传入第二个令牌。登录成功时把两个token存储到redis中并设置过期时间15秒。只传入一个令牌不能访问数据。传入两个令牌后成功访问数据。等15秒使用令牌访问数据。验证token是否失效。
2025-07-24 19:50:55
189
原创 JavaWeb笔记12
登录的问题:用户两次登录后会生成新旧两个令牌,此时旧的不应该生效要使旧的失效:令牌主动失效机制登录成功后,给浏览器响应令牌的同时,把该令牌存储到redis中LoginInterceptor拦截器中,需要验证浏览器携带的令牌,并同时需要获取到redis中存储的与之相同的令牌当用户修改密码成功后,删除redis中存储的旧令牌。
2025-07-23 21:29:06
575
原创 JavaWeb笔记11
自定义校验已有的注解不能满足所有的校验需求,特殊的情况需要自定义校验 (自定义校验注解)1.自定义注解 State2.自定义校验数据的类 StateValidation实现 ConstraintValidator 接口3.在需要校验的地方使用自定义注解创建anno包用于存放自定义注解 State创建validation包用于存放自定义校验数据的类 StateValidation添加自定义注解@State测试校验成功。
2025-07-22 00:21:25
517
原创 JavaWeb笔记10
例如: {"id":"1","username":"Tom"}让springmvc把当前对象转换成json字符串的时候,忽略password,最终的json字符串中就没有password这个属性了。例如: {"alg":"HS256","type":"JWT"}在LoginInterceptor中重写afterCompletion用于释放请求处理过程中占用的资源,关闭线程。定义了一种简洁的、自包含的格式,用于通信双方以 json 数据格式安全的传输信息。有数据返回,这是不合理的,应该需要先登录才能访问。
2025-07-18 01:49:38
795
原创 集训Demo3
创建数据库创建项目springboot便捷配置起步依赖和提供启动类application.yml配置数据源信息创建实体类,和mapper接口(持久层)创建service(业务层)创建controller(控制层)整体逻辑:控制层监测到访问/vip/findById时,到业务层,再到持久层读取数据监测到访问/findById时,到业务层,返回字符串“无权限”另:springboot简化引入依赖与配置数据源信息。
2025-07-17 05:23:30
326
原创 JavaWeb笔记09
自定义 starter场景在实际开发中,经常会定义一些公共组件,提供给各个项目团队使用。而在 SpringBoot 的项目中,一般会将这些公共组件封装为 SpringBoot 的 starter。需求:自定义 mybatis 的 starter步骤1.创建 dmybatis-spring-boot-autoconfigure 模块,提供自动配置功能,并自定义配置文件 META-INF/spring/xxx.imports。
2025-07-17 00:15:36
1032
原创 JavaWeb笔记08
MyBatis 是一款优秀的 持久层 框架,用于简化 JDBC 的开发。MyBatis 本是 Apache 的一个开源项目 iBatis, 2010 年这个项目由 apache 迁移到了 google code,并且改名为 MyBatis。2013 年 11 月迁移到 Github。官网:https://mybatis.org/mybatis-3/zh/index.html。
2025-07-15 04:54:39
604
原创 集训Demo1
创建数据库创建项目注意:mysql-connector-j-9.3.0.jar 包必须放在WEB-INF下的lib里才能生效,并且别忘了Add as Librarylogin.html把表单发送给LoginServletLoginServlet验证用户是否存在,存在保存username并跳转到welcome.html,不存在转发回login,htmlwelcome.html接收username,若直接访问welcome.html,2秒后返回login.html。
2025-07-12 22:27:00
237
原创 集训总结1
ServletContextAttributeListener 对 ServletContext 对象中属性的监听(增删改属性)StringBuffer getRequestURL():获取 URL (统一资源定位符):http://localhost:8080/request-demo/req1。Session 监听 HttpSessionListener 对 Session 对象的整体状态的监听(创建、销毁)
2025-07-08 22:13:17
870
原创 JavaWeb笔记07
Listener概念:Listener 表示监听器,是 JavaWeb 三大组件 (Servlet、Filter、Listener) 之一。监听器可以监听就是在 application,session,request 三个对象创建、销毁或者往其中添加修改删除属性时自动执行代码的功能组件Listener 分类:JavaWeb 中提供了 8 个监听器监听器分类 监听器名称 作用。
2025-07-07 18:46:04
881
原创 JavaWeb笔记06
会话跟踪技术会话:用户打开浏览器,访问 web 服务器的资源,会话建立,直到有一方断开连接,会话结束。在一次会话中可以包含多次请求和响应会话跟踪:一种维护浏览器状态的方法,服务器需要识别多次请求是否来自于同一浏览器,以便在同一次会话的多次请求间共享数据HTTP 协议是无状态的,每次浏览器向服务器请求时,服务器都会将该请求视为新的请求,因此我们需要会话跟踪技术来实现会话内数据共享实现方式:1.客户端会话跟踪技术:Cookie2.服务端会话跟踪技术:Session。
2025-07-05 15:15:45
928
原创 JavaWeb笔记04
Tomcat概念:Tomcat 是 Apache 软件基金会一个核心项目,是一个开源免费的轻量级 Web 服务器,支持 Servlet/JSP 少量 JavaEE 规范。JavaEE:Java Enterprise Edition,Java 企业版。指 Java 企业级开发的技术规范总和。包含 13 项技术规范:JDBC 、JNDI、EJB、RMI、JSP、Servlet、XML、JMS、Java IDL、JTS、JTA、JavaMail、JAF。
2025-07-04 06:39:37
772
原创 JavaWeb笔记03
Maven 简介Apache Maven 是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档官网: http://maven.apache.org/Maven 作用:标准化的项目结构标准化的构建流程方便的依赖管理Maven 模型:项目对象模型 (Project Object Model)依赖管理模型 (Dependency)插件 (Plugin)仓库分类:本地仓库:自己计算机上的一个目录。
2025-07-02 18:20:51
567
原创 JavaWeb笔记02
多表查询笛卡尔积:取 A,B 集合所有组合情况多表查询:从多张表查询数据连接查询内连接:相当于查询 A B 交集数据外连接:左外连接:相当于查询 A 表所有数据和交集部分数据右外连接:相当于查询 B 表所有数据和交集部分数据子查询事务简介数据库的事务(Transaction)是一种机制、一个操作序列,包含了一组数据库操作命令事务把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么同时成功,要么同时失败事务是一个不可分割的工作逻辑单元。
2025-07-01 19:21:41
487
原创 JavaWeb笔记01
1.查询2.创建创建数据库CREATE DATABASE 数据库名称;创建数据库 (判断,如果不存在则创建)CREATE DATABASE IF NOT EXISTS 数据库名称;3.删除删除数据库DROP DATABASE 数据库名称;删除数据库 (判断,如果存在则删除)DROP DATABASE IF EXISTS 数据库名称;4.使用数据库查看当前使用的数据库使用数据库USE 数据库名称;
2025-06-30 14:47:16
611
原创 java笔记08
System.out.println("ip为:" + ip + ",主机名为:" + name + "的人,发送了数据:" + new String(data, 0,len));System.out.println("ip为:" + ip + ",主机名为:" + name + "的人,发送了数据:" + new String(data, 0,len));有一个抽奖池,该抽奖池中存放了奖励的金额,该抽奖池中的奖项为 {10,5,20,50,100,200,500,800,2,80,300,700};
2025-06-02 15:31:55
375
原创 java笔记07
9.异常综合练习package a09_综合练习;/*需求:键盘录入自己心仪的女朋友姓名和年龄。姓名的长度在 3 - 10之间,年龄的范围为 18 - 40岁,超出这个范围是异常数据不能赋值,需要重新录入,一直录到正确为止。提示:需要考虑用户在键盘录入时的所有情况。比如:录入年龄时超出范围,录入年龄时录入了abc等情况*///1.创建键盘录入的对象//2.创建女朋友的对象try {//3.接收女朋友的姓名。
2025-05-19 20:37:11
401
原创 java笔记06
TreeMap的基本使用TreeMapTreeMap 跟 TreeSet 底层原理一样,都是红黑树结构的。由键决定特性:不重复、无索引、可排序可排序:对键进行排序。注意:默认按照键的从小到大进行排序,也可以自己规定键的排序规则代码书写两种排序规则实现 Comparable 接口,指定比较规则。创建集合时传递 Comparator 比较器对象,指定比较规则。Test1package a02_双列集合Map.a07_TreeMap的基本使用;/*
2025-05-11 19:19:14
1006
原创 java练习4
System.out.println("生孩子");package a01_第一次练习.a04_创建类对象;可用ALT + INSERT快速创建JavaBean。函数:年龄++,姓名修改,家庭身份修改,生孩子。值:年龄,姓名,家庭身份。
2025-04-29 22:19:07
185
原创 java练习3
随机生成20个数字(随机种子)分别使用冒泡排序、二叉树排序、插入排序进行排序并输出最终结果以及三种排序使用的时间package a01_第一次练习.a03_排序;i < 20;i++) {//冒泡排序i++) {j++) {System.out.println("冒泡排序耗时:"+ Duration.between(now1, now2).toNanos() +"纳秒");//二叉树排序i++) {
2025-04-29 21:32:43
1044
2
原创 java练习2
System.out.println("相差的天数:" + Duration.between(scDate, Today).toDays());System.out.println("请输入年份");System.out.println("请输入月份");System.out.println("请输入日期");package a01_第一次练习.a02_计算输入天数;sc.nextInt()获取年月日。
2025-04-29 19:35:53
253
2
原创 java练习1
System.out.println("相差的天数:" + Duration.between(birthDate,Today).toDays());Duration.between(birthDate,Today) 返回一个Duration对象,表示相差的时间间隔对象。LocalDateTime.of(2006,3,2,0,0) 获取指定时间的对象。LocalDateTime.now() 获取当前时间的对象。package a01_第一次练习.a01_计算天数;.toDays() 获取该时间差对应的天数。
2025-04-27 17:29:22
173
3
原创 java笔记05
7.BigInteger基本使用和原理解析构造方法和静态方法BigInteger 构造方法方法名 说明public BigInteger(int num, Random rnd) 获取随机大整数,范围: [0 ~ 2的num次方-1]public BigInteger(String val) 获取指定的大整数。
2025-04-27 16:39:24
884
原创 java笔记04
/ System.out.println("年龄为" + age + "岁的" + name + "养了一只" + dog.getColor() + "颜色的" + dog.getAge() + "岁的狗");// System.out.println("年龄为" + age + "岁的" + name + "养了一只" + cat.getColor() + "颜色的" + cat.getAge() + "岁的猫");
2025-04-19 00:01:20
640
原创 java笔记03
String[] girlfaces = {"美奂绝伦", "沉鱼落雁", "婷婷玉立", "身材娇好", "相貌平平", "相貌简陋", "惨不忍睹"};String[] boyfaces = {"风流俊雅", "气宇轩昂", "相貌英俊", "五官端正", "相貌平平", "一塌糊涂", "面目狰狞"};System.out.println("--------------欢迎来到黑马学生管理系统--------------");例如,若 A = 'abcde',在移动一次之后结果就是 'bcdea'。
2025-04-10 22:29:48
557
原创 java笔记02
III. 如果所有的 case 后面的值和表达式的值都不匹配,就会执行 default 里面的语句体,然后结束整个 switch 语句。II. 依次和 case 后面的值进行比较,如果有对应的值,就会执行相应的语句,在执行的过程中,遇到 break 就会结束。while 循环中,控制循环的变量,对于 while 循环来说不归属其语法结构中,在 while 循环结束后,该变量还可以继续使用。for 循环中,控制循环的变量,因为归属 for 循环的语法结构中,在 for 循环结束后,就不能再次被访问到了。
2025-03-30 23:17:46
819
原创 java笔记01
字符类型 用 单引号 括起来的,内容只能有一个 'A', '0', '我'编译:javac 是 JDK 提供的编译工具,我们可以通过这个工具,把当前路径下的 HelloWorld.java 文件编译成 class 文件。// 在打印的时候,把前面字符串的长度补齐到 8,或者 8 的整数倍。// class:用于(创建 / 定义)一个类 后接类名 ***类名必须与文件名相同***在运行的时候是不加后缀名的。
2025-03-25 16:39:21
525
原创 【前端开发学习笔记16】Vue_9
文章分类架子文章分类渲染1. 封装API:请求获取表格数据2. el - table表格动态渲染3. 表格静态样式添加分类用dialogVisible 控制显示隐藏输入规范// 添加文章分类// 编辑文章分类2.页面中校验,判断,提交请求?' 编辑成功 ' : ' 添加成功 '})3.通知父组件进行回显删除分类配置中文封装API接口,请求渲染4.导入使用分页渲染1.添加el-pagination组件2.提供分页修改逻辑。
2025-02-13 22:49:12
973
原创 【前端开发学习笔记15】Vue_8
https://typicode.github.io/husky/path: '/login', component: () => import('@/views/login/LoginPage.vue') // 登录页。'vue/no-setup-props-destructure': ['off'], // 关闭props解构的校验(props解构丢失响应式)2. 配置按需导入,官方文档:https://element - plus.org/zh - CN/guide/quickstart.html。
2025-02-13 21:17:05
1105
原创 【前端开发学习笔记14】Vue_7
Pinia 是 Vue 的最新状态管理工具,是 Vuex 的替代品。提供更简单的 API(去掉了 mutation)提供符合组合式风格的 API(和 Vue3 新语法统一)去掉了 modules 的概念,每个 store 都是独立的模块配合 TypeScript 更友好,提供可靠的类型推断。
2025-02-12 19:12:33
723
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅