卷我没对象、
码龄3年
关注
提问 私信
  • 博客:43,708
    43,708
    总访问量
  • 78
    原创
  • 1,850,135
    排名
  • 35
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:重庆市
  • 加入CSDN时间: 2021-11-15
博客简介:

qq_64317046的博客

查看详细资料
个人成就
  • 获得43次点赞
  • 内容获得10次评论
  • 获得47次收藏
  • 代码片获得191次分享
创作历程
  • 53篇
    2023年
  • 25篇
    2022年
成就勋章
TA的专栏
  • JavaEE 进阶(框架内容)
    21篇
  • 数据结构
    13篇
  • 个人项目总结
    2篇
  • 扩展知识点
    1篇
  • tomcat,maven,servlet
    5篇
  • HTTP 协议
    5篇
  • 网络编程
    4篇
  • 文件操作和IO
    2篇
  • 多线程
    10篇
  • MySQL
    5篇
  • Java SE
    9篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

351人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

【 WebSocket 框架 】

WebSocket 是从 HTML5 开始支持的一种网页端和服务端保持长连接的 消息推送机制理解消息推送:传统的 web 程序, 都是属于 “一问一答” 的形式. 客户端给服务器发送了一个 HTTP 请求, 服务器给客户端返回一个 HTTP 响应.这种情况下, 服务器是属于被动的一方. 如果客户端不主动发起请求, 服务器就无法主动给客户端响应.像五子棋这样的程序, 或者聊天这样的程序, 都是非常依赖 “消息推送” 的. 如果只是使用原生的 HTTP 协议, 要想实现消息推送一般需要通过 “轮询。
原创
发布博客 2023.05.16 ·
1640 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

【 五子棋对战平台(java_gobang) 】

核心功能:核心技术:注意: WebSocket 和 canvas API 是实现本项目的两个核心技术,前者我们后续会稍许讲解,后者涉及到前端知识,我们就不多赘述,大家可参考以下链接去了解更多关于 canvas 的知识点!https://developer.mozilla.org/zh-CN/docs/Web/API/Canvas_API登录注册游戏大厅游戏房间,及分出胜负后的效果创建一个springboot项目,具体步骤与前面的博客记录一样,这里就不再重复赘述,大家自行参考以下博客:1.spring
原创
发布博客 2023.05.15 ·
897 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

【 在线音乐平台(onlinemusic) 】

彩虹表:彩虹表就是一个庞大的、针对各种可能的字母组合预先计算好的哈希值的集合,不一定是针对MD5算法的,各种算法的都有,有了它可以快速的破解各类密码。更安全的做法是加盐或者长密码等做法,盐是在每个密码中加入一些单词来变成一个新的密码,存入数据库当中,让整个加密的字符串变的更长,破解时间变慢。相对来说,BCrypt比MD5更安全,但加密更慢。MD5加密: 是不加盐的单向Hash,不可逆的加密算法,同一个密码经过hash的时候生成的是同一个hash值,在大多数的情况下,有些经过md5加密的方法将会被破解。
原创
发布博客 2023.05.11 ·
1272 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

【 Spring 事务传播机制 】

而 controller 中的添加方法我们设置了事务的,该添加方法调用了用户添加和日志添加方法,所以他们两的事务直接加入到了外部方法事务中,成为了一个整体!即外部方法事务是否存在已经不重要了,两个添加方法都创建了各自的事务,且互不干扰。catch 将添加日志中的异常捕获是使用 NESTED 的前提,如果不这样做的话日志添加中的回滚操作会持续往上找调⽤它的⽅法和事务进行回滚,最终我们的外部方法事务也会被回滚,所以即使用户添加操作没有异常出现,该操作也会被回滚,最终的结果是⽤户表和⽇志表都没有添加任何数据!
原创
发布博客 2023.04.26 ·
826 阅读 ·
1 点赞 ·
2 评论 ·
1 收藏

【 Spring 事务 】

如果我仅仅只是开启了事务,而不进行提交事务或回滚事务,这时我的操作也会达到回滚的效果。因为当你没有使用 commit 提交事务时,系统会认为没有提交事务,业务操作会自动回滚,因此数据不会持久化,这是一种保护机制,避免误提交!● 脏读:⼀个事务读取到了另⼀个事务修改的数据之后,后⼀个事务⼜进⾏了回滚操作,从⽽导致第⼀个事务读取的数据是错误的。设置事务的隔离级别是⽤来保障多个并发事务执⾏更可控,更符合操作者预期的,为了防⽌其他的事务影响当前事务执⾏的⼀种策略。将事务提交的代码注释掉,添加事务回滚代码。
原创
发布博客 2023.04.26 ·
1115 阅读 ·
1 点赞 ·
1 评论 ·
5 收藏

【 SpringBoot 统⼀功能处理 】

我们发现这个⽅法在执⾏时会查找所有使⽤ @ControllerAdvice 的类,这些类会被保存在容器中,一但发⽣某个事件时,调⽤相应的 Advice ⽅法,⽐如返回数据前调⽤统⼀数据封装,⽐如发⽣异常是调⽤异常的Advice ⽅法实现。前面我们了解到被@ControllerAdvice修饰的类为 controller 通知类,当 controller 中的方法发生了相应的事件,就会进入该通知类中执行对应的方法,就比如前面的统一异常处理和统一返回格式处理。并没有通过 Exception!
原创
发布博客 2023.04.26 ·
673 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

【 Spring AOP 】

AOP(Aspect Oriented Programming):⾯向切⾯编程,它是⼀种思想,它是对某⼀类事情的集中处理。⽐如⽤户登录权限的效验,没学 AOP 之前,我们所有需要判断⽤户登录的⻚⾯(中的⽅法),都要各⾃实现或调⽤⽤户验证的⽅法,然⽽有了 AOP 之后,我们只需要在某⼀处配置⼀下,所有需要判断⽤户登录⻚⾯(中的⽅法)就全部可以实现⽤户登录验证了,不再需要每个⽅法中都写相同的⽤户登录验证了。
原创
发布博客 2023.04.25 ·
469 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【 动态SQL 的使⽤ 】

答案是肯定的,我们可以思考将所有id 放在一个集合里面,然后直接遍历集合就行了,此时就可以考虑到 < foreach >标签了。注册分为两种字段:必填字段和⾮必填字段,那如果在添加⽤户的时候有不确定的字段传⼊,程序应该如何实现呢?传⼊的⽤户对象,根据属性做where条件查询,⽤户对象中属性不为 null 的,都为查询条件。那是否有更简便的做法呢。之前的插⼊⽤户功能,只是有⼀个 photo 字段可能是选填项,如果有多个字段,⼀般考虑使⽤。由此可见,我们的 if 标签起到了作用,那它的语法到底是什么意思呢?
原创
发布博客 2023.04.24 ·
376 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

【 Spring Mybatis 复杂的查询操作 】

进行多表联查时,如果两个表有相同的字段,前面表的该字段会将后面表的该字段覆盖,如两个表都存在id字段,当修改userinfo中admin的id=2时,运行结果还是此id=1,确实被articleinfo中的id=1给覆盖 所以可以采用加前缀方法 columnPrefix=“u_” 解决。但是直接替换参数又会产生严重的弊端,如果传来的参数不合法可能会对数据库中的数据造成严重的威胁,如 SQL 注入问题!我们发现,虽然输入了不正确的密码,但还是得到了该用户正确的信息,这就是一个非常恐怖的事情了!
原创
发布博客 2023.04.24 ·
806 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

【 SpringBoot单元测试 和 Mybatis 增,删,改 操作 】

如果使用的是科学版IDEA,在Test测试代码中使用 @Autowired 注入注解会报错因为:@Mapper来自mybatis框架,而@Autowired 来自 spring,没有兼容性。单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。下面示例为了方便,我们就不依次完成各层书写,只需要把接口层补充完整,并完成 xml 文件的代码,再通过单元测试来验证结果!显而易见,我们成功的删除了 id=42 的用户信息!显而易见,我们成功的添加了一个用户!
原创
发布博客 2023.04.23 ·
1940 阅读 ·
4 点赞 ·
1 评论 ·
9 收藏

【 初识 Spring MyBatis 查询数据库 】

对于 JDBC 来说,整个操作⾮常的繁琐,我们不但要拼接每⼀个参数,⽽且还要按照模板代码的⽅式,⼀步步的操作数据库,并且在每次操作完,还要⼿动关闭连接等,⽽所有的这些操作步骤都需要在每个⽅法中重复书写。添加 MyBatis 框架⽀持分为两种情况:⼀种情况是对⾃⼰之前的 Spring 项⽬进⾏升级,另⼀种情况是创建⼀个全新的 MyBatis 和 Spring Boot 的项⽬,下⾯我们分别来演示这两种情况的具体实现。因此这两个都是需要添加的。由此可见,成功的查询到了 数据库中的用户信息!
原创
发布博客 2023.04.23 ·
1175 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

【 Spring MVC 核心功能(三) - 输出数据】

以上就是他两的本质区别,通俗的讲,如果是请求转发,你向服务器发送了一个页面跳转的请求,而该服务器直接将你要跳转的页面返回给你。如果是请求重定向,你向服务器发送了一个页面跳转的请求,该服务器没有直接发送该页面,而是将这个页面的地址返回给你,让你自己主动对跳转页面发起请求。此时我们发现,当使用 http://127.0.0.1:8080/p/redirect 发送请求时,是先得到了该请求的响应,其中返回了一个重要信息 Location,就是我们要跳转的页面。一定不要点击Restore Defaults!
原创
发布博客 2023.04.11 ·
1053 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

【 Spring MVC 核心功能(二) - 获取参数(下)】

之前我们讲过,Spring MVC 是基于 Servlet API 构建的原始 Web 框架,所以在 MVC项目中,我们可以直接使用 HttpServletRequest 以及 HttpServletResponse 等Servlet API。在实际开发中,我们经常会涉及多个平台共同开发!有时客户端会通过 post 方式发送 json 格式的请求,那后端就可以通过 @RequestBody 注解来获取到 json 格式的请求。当你想使用注解获取多个 Cookie 时,就多添加几个注解!
原创
发布博客 2023.04.11 ·
587 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

【 Spring MVC 核心功能(二) - 获取参数(上)】

某些特殊的情况下,前端传递的参数 key 和我们后端接收的 key 不⼀致,⽐如前端传递了⼀个time 给后端,⽽后端⼜是用 createtime 字段来接收的,这样就会出现参数接收不到的情况,如果出现这种情况,我们就可以使⽤。这显然不现实,这时我们就可以通过传入对象来解决!当有多个参数时,前后端进⾏参数匹配时,是以参数的名称进⾏匹配的,因此参数的位置是不影响后端获取参数的结果。如果我们的实际业务前端的参数是⼀个⾮必传的参数,我们可以通过设置 @RequestParam 中的。来重命名后端的参数值。
原创
发布博客 2023.04.11 ·
531 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

【 Spring MVC 核心功能(一) - 使用注解实现 URL 路由映射】

RequestMapping 是 Spring Web 应⽤程序中最常被⽤到的注解之⼀,它是⽤来注册接⼝的路由映射的路由映射:所谓的路由映射指的是,当⽤户访问⼀个 url 时,将⽤户的请求对应到程序中某个类的某个⽅法的过程就叫路由映射。
原创
发布博客 2023.04.11 ·
1006 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【 初识 Spring MVC 程序开发 】

Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从⼀开始就包含在 Spring 框架中。它的正式名称“Spring Web MVC”来⾃其源模块的名称(Spring-webmvc),它常被称“SpringMVC”。Spring MVC 是⼀个 Web 框架。Spring MVC 是基于 Servlet API 构建的。然⽽要真正的理解什么是 Spring MVC?我们⾸先要搞清楚什么是 MVC?
原创
发布博客 2023.04.11 ·
496 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【 SpringBoot ⽇志⽂件 】

在程序中得到⽇志对象使⽤⽇志对象的相关语法输出要打印的内容⽇志是程序中的重要组成部分,使⽤⽇志可以快速的发现和定位问题,Spring Boot 内容了⽇志框架,默认情况下使⽤的是 info ⽇志级别将⽇志输出到控制台的,我们可以通过 lombok 提供的 @Slf4j 注解和 log 对象快速的打印⾃定义⽇志,⽇志包含 6 个级别。⽇志级别依次提升,⽽⽇志界别越⾼,收到的⽇志信息也就越少,我们可以通过配置⽇志的保存名称或保存⽬录来将⽇志永久地保存下来。
原创
发布博客 2023.04.10 ·
602 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【 SpringBoot 配置⽂件 】

properties 是以 key=value 的形式配置的键值类型的配置⽂件,⽽ yml 使⽤的是类似 json 格式的树形配置⽅式进⾏配置的,yml 层级之间使⽤换⾏缩进的⽅式配置,key 和 value 之间使⽤“: ”英⽂冒号加空格的⽅式设置,并且空格不可省略properties 为早期并且默认的配置⽂件格式,但其配置存在⼀定的冗余数据,使⽤ yml 可以很好的解决数据冗余的问题。
原创
发布博客 2023.04.10 ·
846 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

【 SpringBoot概念、创建和运⾏ 】

新建的 Spring Boot 项⽬⽬录如下:详细介绍如下:src/main/java 为 Java 源代码。src/main/resources 为静态资源或配置⽂件:/static:静态资源⽂件夹;/templates:模版资源⽂件夹其中的 DemoApplication 为启动类,而 application.yml 为项目配置文件,后续会介绍快速集成框架,Spring Boot 提供了启动添加依赖的功能,⽤于秒级集成各种框架。
原创
发布博客 2023.04.09 ·
481 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

【 Bean 作⽤域和⽣命周期 】

限定程序中变量的可⽤范围叫做作⽤域,或者说在源代码中定义变量的某个区域就叫做作⽤域⽽ Bean 的作⽤域是指 Bean 在 Spring 整个框架中的某种⾏为模式,⽐如 singleton 单例作⽤域,就表示 Bean 在整个 Spring 中只有⼀份,它是全局共享的,那么当其他⼈修改了这个值之后,那么另⼀个⼈读取到的就是被修改的值。
原创
发布博客 2023.04.03 ·
464 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏
加载更多