自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(226)
  • 问答 (2)
  • 收藏
  • 关注

原创 Spring 的依赖注入

1. 依赖注入依赖注入实现了控制反转的思想:依赖注入:依赖注入常见的实现方式包括两种:**准备工作:通过 maven 导入对应 spring6 的相关jar **1.1 构造注入所谓的构造注入:核心就是:调用了对应的构造方法,进行一个类/对象的属性赋值。既然要调用构造方法,进行一个属性的赋值的话,那么我们的对应属性的赋值的,构造方法必须存在才行。构造注入:是在对象创建的时刻进行注入的。重点:构造注入的使用的标签是:1.1.1 通过参数名进行构造注入格式:spring.xml运行测试:测试

2023-07-19 12:27:25 392

原创 Spring6 初始

/// 初始化Spring容器上下文(解析beans.xml文件,创建所有的bean对象) ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml" , "spring.xml");// 根据id获取bean对象 Object userBean = applicationContext . getBean("userBean");} }

2023-07-19 11:26:38 371

转载 在 Maven 工程中编写代码,打包jar

在Maven 工程中编写代码,并打包为 jar包

2023-05-25 14:01:05 329

转载 Maven 的生命周期,插件和目标,仓库核心概念说明

Maven 的生命周期,插件和目标,仓库核心概念说明

2023-05-25 14:00:39 186

转载 在IDEA 当中使用 Maven详细说明

在IDEA当中使用Maven 的详细说明

2023-05-25 14:00:19 3371

转载 Maven 当中的聚合

Maven 当中的聚合信息

2023-05-24 14:12:01 265

转载 Maven 测试依赖的传递性

Maven 测试依赖的传递性

2023-05-24 14:05:03 179

转载 Maven 当中实现:依赖的排除

如下是关于Maven依赖的排除

2023-05-24 12:28:32 5200

转载 Maven 当对于依赖的范围测试

对于 Maven 工具当中依赖的概念的测试

2023-05-24 12:03:30 101

转载 Maven 工程之间的继承

我们可以通过父工程当中声明自定义属性:真正实现“一处修改,处处生效”。就是将父工程的当的各个版本信息配置为一个变量:使用:在标签当中,配置自定义标签。自定义的标签,没有特别的要求:不要使用中文,尽量与你配置的哪个 jar 有所关联,做到见明知其是依赖的是哪个 jar包的版本信息。如下:自定义标签,维护Spring版本数据-- 通过自定义属性,统一指定Spring的版本 -->-- 自定义标签,维护Spring版本数据 -->使用到该版本信息的的地方使用${}真正实现“一处修改,处处生效”。

2023-05-24 11:59:04 2186

转载 创建 Maven 版的 Web 工程,打包war包

Maven 版的 Web 工程,打包为 war包

2023-05-24 11:41:24 387

转载 Maven 当中 进行一个让 Web 工程依赖 Java 工程

让Web工程依赖Jave工程

2023-05-24 11:27:19 224

转载 Maven的核心解压与配置

Maven核心解压和配置

2023-05-24 11:08:02 132 1

转载 Maven :根据坐标创建 Maven 工程

该文章参考了,如下博主的分享。兵器|代码重工。

2023-05-24 10:55:59 76

转载 Maven的概述

该文章参考了,如下博主的分享。兵器|代码重工。

2023-05-24 10:46:08 54

原创 ThreadLocal 的原理讲述 + 基于ThreadLocal实现MVC中的M层的事务控制

ThreadLocal叫做线程变量,意思是ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的,也就是说该变量是当前线程独有的变量。ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。ThreadLoal 变量,线程局部变量,同一个 ThreadLocal 所包含的对象,在不同的 Thread 中有不同的副本。因为每个 Thread 内有自己的实例副本,且该副本只能由当前 Thread 使用。

2023-05-17 16:22:58 616

原创 MVC 三层架构案例详细讲解

MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。[1-2]模型-视图-控制器(MVC)是[Xerox PARC](https://baike.baidu.com/item/Xerox PARC/10693263?fromModule=lemma_inlink)在二十世纪八十年代为编程语言。

2023-05-17 16:03:54 4073

转载 收藏!最全Linux思维导图

Linux 学习总结

2023-05-10 16:26:20 975

原创 Listener监听器,实现一个显示在线用户人数

Listener 监听器是Servlet规范中的一员。就像Filter一样。Filter也是Servlet规范中的一员。在Servlet中,所有的监听器接口都是以Listener结尾。监听器实际上是Servlet规范留给我们javaweb程序员的特殊时机。特殊的时刻如果想执行这段代码,你需要想到使用对应的监听器。简单的说就是,当你的程序执行过程中满足的了/触发了某个事件,则该Listener 监听器中的方法就会被调用,并执行。比如:我们的Java中的静态代码块。

2023-05-09 11:28:17 957

原创 JavaWeb 中 Filter过滤器

在一个比较复杂的Web应用程序中,通常都有很多URL映射,对应的,也会有多个Servlet来处理URL。IndexServlet:浏览帖子;SignInServlet:登录;SignOutServlet:登出;ProfileServlet:修改用户资料;PostServlet:发帖;ReplyServlet:回复。其中,ProfileServlet、PostServlet和ReplyServlet都需要用户登录后才能操作,否则,应当直接跳转到登录页面。

2023-05-09 10:38:36 322

原创 B/S 结构系统的 缓存机制(Cookie) 以及基于 cookie 机制实现 oa 十天免登录的功能

Cookie 并不是它的原意“甜饼”的意思, 而是一个保存在客户机中的简单的文本文件, 这个文件与特定的Web文档关联在一起, 保存了该客户机访问这个Web 文档时的信息, 当客户机再次访问这个 Web 文档时这些信息可供该文档使用。由于“Cookie”具有可以保存在客户机上的神奇特性, 因此它可以帮助我们实现记录用户个人信息的功能, 而这一切都不必使用复杂的CGI等程序。举例来说, 一个 Web 站点可能会为每一个访问者产生一个唯一的ID, 然后以 Cookie 文件的形式保存在每个用户的机器上。

2023-04-29 23:16:18 867 1

原创 JSP 的本质原理解析:“编写的时候是JSP,心里想解读的是 java 源码“

1. JSP 概述JSP(全称JavaServer Pages),sun公司主导的一种动态网页技术,JSP在服务端运行,可以响应客户端的请求,根据请求内容动态的生成HTML、XML或其他格式文档的Web网页然后返回请求者。在JSP页面可以嵌入Java代码,JSP文件在运行时会被其编译器转换成更原始的Servlet代码,然后再由Java编译器来编译成能快速执行的二进制机器码。2.特点:3.JSP页面组成:在 HTML 页面文件中加入 Java 程序段和 JSP 标签,即可构成一个 JSP 页文件,JSP

2023-04-29 22:34:38 655

原创 B/S结构系统的会话机制(session)

在Web应用程序中,我们经常要跟踪用户身份。当一个用户登录成功后,如果他继续访问其他页面,Web程序如何才能识别出该用户身份?因为HTTP协议是一个无状态协议,即Web应用程序无法区分收到的两个HTTP请求是否是同一个浏览器发出的。为了跟踪用户状态,服务器可以向浏览器分配一个唯一ID,并以Cookie的形式发送到浏览器,浏览器在后续访问时总是附带此Cookie,这样,服务器就可以识别用户身份。我们把这种基于唯一ID识别用户身份的机制称为Session。

2023-04-29 21:54:59 1031

原创 Servlet注解的使用,简化配置 以及,使用模板方法设计模式优化oa项目

WebServlet 注解,提高开发效率高,不需要编写大量的配置信息。直接在 java 类上使用注解进行标注。web.xml文件体积变小了。@WebServlet 注解当中的value和的作用都是一样的,表示 映射的url路径,注意: 设置赋值的url要以开始。不要忘记了,不要漏掉了。@WebServlet 常用的属性的作用和使用。模板方法的核心思想:父类定义骨架,子类实现某些细节。也可以一个方法为骨架,多个方法实现某些细节。注解可以使用模糊查询。

2023-04-10 17:26:11 751

原创 使用“纯”Servlet做一个单表的CRUD操作

- 查看部门列表--> < servlet > < servlet-name > list < servlet-class > com.RainbowSea.servlet.DeptListServlet < servlet-mapping > < servlet-name > list

2023-04-10 17:13:09 446

原创 JavaWeb 中 “转发”与 “重定向”的区别

转发:指内部转发。当一个Servlet处理请求的时候,它可以决定自己不继续处理,而是转发给另一个Servlet处理。转发是由WEB服务器来控制的。A资源跳转到B资源,这个跳转动作是Tomcat服务器内部完成的而我们前端也就是浏览器端是不知道我们服务器端对这个请求内部转发处理了多少次。并且无论我们服务器内部转发了多少次,前端浏览器都仅仅只会认为仅仅只转发了一次,也就是仅仅发送了一次请求。因为我们服务器端虽然进行了转发但是,浏览器的地址栏上的请求路径的地址是没有改变的(还是初始的请求路径)编写的转发路径是。

2023-04-10 16:51:46 441

转载 600 条最强 Linux 命令总结

有关 Linxu 系统常用的 600 条命令总结

2023-04-10 16:31:50 1605 5

原创 Sevlet规范:HttpServlet类 和 HttpServletRequest接口 源码解析

HTTP协议:是W3C制定的一种超文本传输协议。(通信协议:发送消息的模板提前被制定好。万维网联盟组织等规范都是W3C制定的。万维网之父:蒂姆·伯纳斯·李什么是超文本?超文本说的就是:不是普通文本,比如流媒体:声音、视频、图片等。HTTP协议支持:不但可以传送普通字符串,同样支持传递声音、视频、图片等流媒体信息。这种协议游走在B (浏览器)和S (服务器)之间。B向S发数据要遵循HTTP协议。S向B发数据同样需要遵循HTTP协议。这样B和S才能解耦合。什么是解耦合?

2023-04-04 09:10:59 444

原创 关于Web的欢迎页面的开发设置

对于一个webapp来说,我们是可以设置它的欢迎页面的。设置了欢迎页面之后,当你访问这个webapp的时候,或者访问这个web站点的时候,没有指定任何“资源路径”,这个时候会默认访问你的欢迎页面。我们一般的访问方式是:在浏览器地址栏上直接输入该我们项目当中配置的资源信息的路径:这种方式是指定了要访问的就是start.html资源比如:http://127.0.0.1:8080/servlet08/start.html。如果我们访问的方式直接就是一个项目配置的路径,没有指定具体的资源路径。

2023-03-29 16:06:55 1344

原创 23种设计模式之 : 模板方法设计模式

设计模式,即,是指在软件设计中,被反复使用的一种代码设计经验。使用设计模式的目的是为了可重用代码,提高代码的可扩展性和可维护性。设计模式这个术语是上个世纪90年代由Erich Gamma、Richard Helm、Raplh Johnson和Jonhn Vlissides四个人总结提炼出来的,并且写了一本的书。这四人也被称为四人帮(GoF)。为什么要使用设计模式?根本原因还是软件开发要实现可维护、可扩展,就必须尽量复用代码,并且降低代码的耦合度。设计模式主要是基于OOP编程。

2023-03-29 11:49:45 458

原创 解读 Servlet 源码:GenericServlet,ServletConfig,ServletContext

/ init 被翻译为初始化 // init 方法只会被执行一次,基本上和 Servlet构造器的调用同时执行,在Servlet 对象第一次被创建只会执行 // init 方法通常是完成初始化操作的。");

2023-03-20 16:08:27 352

原创 javaEE Web(Tomcat)深度理解 和 Servlet的本质

角色: 浏览器开发团体,Web Serve服务器开发团队,webapps 开发团队,DB数据库开发团队。浏览器页面 与 web Serve 服务器之间的协议是 :HTTP 超文本传输协议web Server 服务器与 webapps 之间的协议是:Java EE 的 中 规范,比如 Servlet 等等等webapps 与 DB 数据库之间的协议是:JDBCServle 规范包括什么呢?规范了哪些接口,规范了哪些类。

2023-03-15 12:03:58 534

原创 IDEA: 如何导入项目模块 以及 将 Java程序打包 JAR 详细步骤

IDEA: 如何导入项目模块 以及 将 Java程序打包 JAR 详细步骤

2023-03-13 16:11:14 4077

原创 函数编程:强大的 Stream API

Java8中有两大最为重要的改变。第一个便是Lambda表达式,想要进一步了解的大家可以移步至 🔜🔜🔜函数式编程:Lambda 表达式_ChinaRainbowSea的博客-CSDN博客;Stream API了。Stream API是在包下的,Stream 是把真正的函数式编程风格引入到Java中,这时目前为止对java类库最好的补充了,因为Stream API可以极大的提供 Java程序员的生产力,让程序员写出更高效率,干净,简洁的代码。Stream。

2023-03-06 17:12:29 347

原创 函数式编程:Lambda 表达式

相信大家一定在相关的框架的源码中看到不少 使用了lambda表达式的内容吧。如果我们想要阅读框架的源码上的逻辑,则必须了解,明白Lambda表达式的格式,语法了。表达式是Java8的新特性。Java lambda 表达式是 Java进入函数式编程的第一步。因此,表达式时可以单独创建的,而无需属于任何类。这一点很重要。Java Lambda 表达式可以像对象一样传递并按需执行。表达式通常用于实现 简单的事件监听/回调,或在API 函数式编程时使用。Lambda是一个匿名函数,我们可以把Lambda。

2023-03-06 16:49:30 466

原创 Java 文本检索神器 “正则表达式”

我相信,作为一名程序员或者准程序员,你肯定是知道正则表达式的。作为计算机领域最伟大的发明之一,正则表达式简单、强大,它可以极大地提高我们工作中的文本处理效率。现在,各大操作系统、编程语言、文本编辑器都已经支持正则表达式,甚至我还和极客时间的编辑开玩笑说,他们也应该好好学学正则这门手艺。正则,就是正则表达式,英文是 Regular Expression,简称 RE。 顾名思义,正则其实就是一种 描述文本内容组成规律的表示方式。在编程语言中,正则常常用来简化文本处理的逻辑。在 Linux 命令中,它也可以帮助我

2023-02-28 09:08:16 630

原创 Java “框架 = 注解 + 反射 + 设计模式” 之 反射详解

反射的作用:通过 Java语言中的反射机制可以操作字节码文件,优点类似于黑客。(可以读和修改字节码文件),可以调用私有的构造器,set/get 属性,调用私有的方法。获取 Class 类实例的三种方式,重点掌握方式三:该方式会自动调用该类中的静态代码块,因为静态代码块,而不会实例化类的,可以应用于 JDBC 加载数据库驱动,执行其中的静态代码块,而不实例化。类加载的过程。类加载器的作用: 负责将对应类生成的.class文件(可能在磁盘上,也可能在网络上)加载到内存中,并为之在堆区中生成对应的。

2023-02-23 14:27:36 372

原创 Java “框架 = 注解 + 反射 + 设计模式” 之 注解详解

Annotaion注解其实也是一种引用数据类型,编译之后也是生成xxx.class字节码文件的。定义新的Annotation 注解类型使用@interface关键字自定义注解自动实现了接口} // [ 修饰列表 ] @interface 注解名 /(注解类名) {使用IDEA创建一个 注解类型: 鼠标右键 ——> new 一个选择 :如下查看该 我们该自定义的注解的 UML 图:可以清楚的看到该 注解类型是自动继承了该接口的但是事实上却是自动实现了接口。在Java 8。

2023-02-22 11:30:17 2831 2

原创 Java 优化:读取配置文件 “万能方式“ 跨平台,动态获取文件的绝对路径

原始的方式:写相对路径的话,无法跨编译器;因为不同的编译器默认相对的路径是不同的。写绝对路径的话,无法跨平台,因为不同操作系统的文件规则是不一样的,比如 Windows系统中的绝对路径是带盘符(D盘,C盘),Linux 系统中的文件规则是不带盘符的。当在J Windows 操作系统中编写的绝对路径的Java程序,移植到到 Linux 操作系统中就会报错。静态获取的绝对路径 和 动态获取绝对路径。上述的三种优化方式,都是动态获取绝对路径的,但是都是基于类路径下。

2023-02-22 10:46:19 718 2

原创 “万字“ Java I/O流讲解

类:文件和文件目录路径的抽象表示形式,与平台无关。File 能新建,删除,重命名文件和目录,但File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用 输入/输出 流。想要在Java 程序中表示一个真实存在的文件或目录,那么必须有一个 File 对象,但是 Java 程序中的一个 File 对象,可能没有一个真实存在的文件或目录。File 对象可以作为参数传递给流的构造器。**绝对路径:**是一个固定的路径,从盘符开始。**相对路径:**是相对于某个位置开始。IDEA中默认相对路径是从项目

2023-02-11 17:39:57 641

空空如也

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

TA关注的人

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