自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 【学习笔记】手写一个简单的 Spring MVC

1. 用户发送HTTP请求2. 请求到达服务器后,Spring MVC 的中央分发器拦截请求3. 中央分发器根据 请求的路径找到对应的 HandlerMapping,确定由哪个 Controller 控制器处理4. HandlerMaping 根据请求信息映射到对应的 Controller ,然后返回给中央分发器5. 中央分发器把请求交给对应的Controller 控制器,Controller 是Spring MVC的一个组件,它负责处理请求以及响应结果

2024-10-06 00:51:20 1095

原创 【学习笔记】手写一个简单的 Spring IOC

Spring 的核心之一是 IOC,全称 Inversion Of Control ,控制反转,用来统一管理 Bean

2024-10-03 21:41:35 1241

原创 【学习笔记】手写 Tomcat 八

Non-Blocking I/O,非阻塞IO。我们之前使用的是 BIO 阻塞IO。NIO 是同步非阻塞的,服务器的实现模式是一个线程处理多个连接。因为获取的用户数据需要封装,需要一个类和数据库的字段一一对应,这就是 对象关系映射(ORM)

2024-10-01 23:55:06 690

原创 【学习笔记】手写 Tomcat 七

现在的情况是当 Tomcat 接收一个请求后,会先判断是请求的静态资源还是动态资源,如果是动态资源,还要继续判断请求的是哪个功能,然后调用相应的 Servlet 执行。这样有些缺点,当功能很多时,一个个判断请求的是哪个功能,效率不高,而且代码不够优雅,并且来一个请求就会创建一下 Servlet 对象,比较消耗资源,那如何解决呢?

2024-09-27 01:12:55 1449

原创 【学习笔记】手写 Tomcat 六

昨天使用了数据库连接池,我们了解了连接池的优点,那么也可以使用线程池来管理线程,java自带的线程池的参数有 核心线程数,最大线程数,线程活跃时间,时间单位,任务队列,线程工厂,拒绝策略。为了学习了解线程池,我们先手写一个简单的线程池,只需要做到核心线程可重复利用就行。

2024-09-26 00:51:59 1445

原创 【学习笔记】手写 Tomcat 五

我们把功能都写在了 Servlet,这样有几个缺点,一是不够低耦合 高内聚,二是不方便协同开发等。我们可以使用三层架构来解决这个问题。三层架构区分层次的目的是为了 “高内聚,低耦合”。

2024-09-23 02:05:34 962

原创 【学习笔记】手写 Tomcat 四

在上次的基础上,我们需要解决一下 read 读取到 -1 导致报错的问题,我们需要知道,为什么会读取到 -1?什么情况下会读取到 -11. 客户端 Socket 关闭(Socket.close)2. 客户端关闭输出流,客户端在关流的时候,还多了一个往服务器写结束标记的动作,结束标记 -1 3. 读取超时抛出异常,java 中的 Socket 默认没有超时限制 4. 读取文件时,到了文件的末尾,表示没有数据可读,也会返回 -1

2024-09-22 01:45:13 1836

原创 【学习笔记】手写 Tomcat 三

响应动态资源不需要写文件名了,只需要写功能的名称即可。比如登录功能,可以定义名称为 doLogin

2024-09-12 23:58:52 1261

原创 【学习笔记】手写 Tomcat 二

在昨天的基础上,再进一步优化,能够响应HTML文件,图片等静态资源。

2024-09-11 21:45:27 1222

原创 【学习笔记】手写 Tomcat 一

现在的问题,只能访问一次服务端,服务端响应之后就关闭了。这显然不是我们想要的,服务器是当用户访问的时候都会响应数据。我们知道,服务端不是只为一个客户端服务的,所以,当新的用户发送连接后,就需要创建一个新的通信通道。

2024-09-10 18:33:02 894

原创 【学习笔记】手写 Tomcat -- 预备知识

I 是 Input,O 是Output,也就是输入输出流。当我们操作数据时,以内存为基准,把数据读取到内存中是输入,把数据从内存写入到硬盘是输出。

2024-09-09 21:58:43 1427

原创 Spring-MVC 结合 Swagger2

打开接口详情,可以看到有很多类型的请求方法,这是因为 我们使用的是 @RequestMapping() 注解 ,改成具体的对应的 注解 就可以了。POST 请求方法 改成 @PostMapping () 注解。

2024-08-18 21:24:22 609

原创 学习笔记-MYSQL 事务

事务是访问并可能更新数据库中数据的一个执行单元,这个单元是由一条或多条语句组成,单元里的语句是相互依赖的。这个单元里的SQL语句一起向系统提交,提交后要么都执行成功,要么都失败。

2024-08-05 23:41:24 1253

原创 学习笔记-JWT 保持登录状态

接上次的问题,使用 vuex 保存用户信息,页面一刷新数据就没了解决方案是刷新后再请求一下数据,获取一下用户信息。本次结合 JWT 来实现刷新页面后再次请求用户信息,这次是基于 token 来获取用户信息,我们知道 token 里包含了用户信息,那么我们只需要解析一下token就可以获取到数据了,就不需要再次请求数据库获取数据了如果对 token 不是很了解的同学,可以看一下这篇文章,本篇文章是基于这个文章。

2024-08-03 18:14:23 1021

原创 学习笔记-Cookie、Session、JWT

会话开始:当一个用户首次访问一个网站,服务器会创建一个新的HttpSession对象,并生成一个唯一的会话ID(通常称为JSESSIONID)。会话ID存储在Cookie中:服务器会在响应中包含一个Set-Cookie头,将这个会话ID作为cookie的一部分发送给浏览器。浏览器会存储这个cookie。后续请求:当用户继续与网站交互时,浏览器会自动在每个后续请求中包含这个会话ID的cookie。这使得服务器能够识别出请求来自于哪个具体的会话。

2024-08-02 01:37:39 1175

原创 学习笔记-Vuex

state 是一个对象,用来存放所有组件的共用的数据

2024-07-31 18:35:04 1242

原创 学习笔记-优化问题

优化 axios 一些问题,使用 vue 解决跨域问题,添加路由守卫

2024-07-31 08:47:22 929

原创 学习笔记-Vue脚手架开发

在前端开发当中,有的项目使用的 Node 版本不一样,总不能使用哪个版本就重新安装一下吧,这样就比较麻烦,所以,可以使用 nvm来管理这些 Node 版本

2024-07-26 23:35:56 761

原创 学习笔记-Vue 的 slot 和router

vue实例能不能嵌套一个vue实例可以,但是不建议,因为用不了嵌套的实例,vue 执行的SAP 技术,如果需要一个页面多个实例,可以把其他的实例作为组件使用。

2024-07-25 18:11:12 594

原创 学习笔记-Vue 基础使用

Vue.js的核心特性之一是它的响应式系统。当你修改Vue实例的数据时,视图会自动更新以反映这些变化。这种双向数据绑定减少了手动操作DOM的需要。

2024-07-24 20:01:33 228

原创 学习笔记-Vue 组件的运用(模板技术)

自定义组件

2024-07-24 20:00:11 899

原创 学习笔记- MyBatis 动态 SQL

在进行增删改的数据库操作时,涉及到数据的变动,需要开启提交事务,MyBatis默认开启事务,但没有开启提交事务

2024-07-19 22:16:02 699

原创 学习笔记-MyBatis 的使用

MyBatis 是一个优秀的基于 Java 的持久层框架,也就是我们说的Dao层,它内部封装了 JDBC,使开发者只需要关注 SQL 语句本身,而不需要花费精力,去处理加载驱动、创建连接、创建statement等繁杂的过程。

2024-07-17 22:43:19 1371

原创 学习笔记-Spring常用注解

1. 添加依赖2. 修改配置文件3. 使用

2024-07-16 01:58:05 844

原创 MAVEN 如何使用

当我们有许多模块或者项目的时候,要使用这些 jar 包就需要复制到文件夹里才能使用,这样不同的项目使用的 jar 包可能是一样的,这样就不太方便,那么有没有一种可以配置一次,下次可以直接使用的方式呢?配置MAVEN 后每个 jar 包本身只在本地仓库中保存一份即可,项目中使用 jar 包只需要以坐标的形式引用一下就行了。jar 包也依赖另一个jar包,所以当我们自己添加的话,需要确保 jar 包需要的依赖都有,而MAVEN 可以帮我们自动添加 jar 包所需要的依赖。然后就可以在本地仓库看到了。

2024-07-11 18:32:58 924

原创 Tomcat 中 lib 文件夹和配置文件夹应该放在哪?

我们会发现 src 下的源代码文件 在编译后都被放到了 WEB-INF (Tomcat的安全目录)下的 classes 文件夹里。那我们还有其他的文件夹,比如配置文件夹,放数据库连接的配置文件,和其他的自定义配置文件。当 lib 文件夹放在 模块的根目录下,在编译过后,并没有出现在 out 文件夹里的 WEB-INF 文件夹下。其实,WEB-INF 文件夹下的文件在编译后都会拷贝一份到 out 目录下的 WEB-INF 文件夹。在构建过程中,资源文件夹的所有内容都复制到 out 输出文件夹中。

2024-07-11 16:02:07 405

原创 Tomcat 如何配置

显示没有这个类,这是因为还没有导包。

2024-07-10 17:45:08 1172

手写一个简单的 Spring MVC

在手写Spring IOC 的基础上进行扩展

2024-10-06

手写一个简单的 Spring IOC

手写一个简单的 Spring IOC

2024-10-03

手写 Tomcat 源代码

手写 Tomcat 源代码

2024-10-02

聊天室,手写Tomcat 预备知识的作业

聊天室,手写Tomcat 预备知识的作业

2024-09-10

vue.js 相关的资源

vue.js 相关的资源

2024-07-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除