自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Filter

文章目录Filter实现FilterFilter拦截路径配置过滤器链Filter实现FilterFilter拦截路径配置过滤器链

2023-06-03 21:10:58 77

原创 会话跟踪技术

文章目录会话跟踪技术CookieCookie原理Cookie使用细节SessionSession原理会话跟踪技术CookieCookie原理Cookie使用细节SessionSession原理

2023-06-01 21:53:08 76

原创 JSP~~

这里的域指的是Servlet域,通过setAttribute和getAttribute进行存和取。JSP本质上就是一个Servlet。test属性里面填写逻辑表达式。

2023-05-31 21:33:04 83

原创 Request&Response

若使用的是post请求,可以使用setCharacterEncoding()来设置字符输入流的编码(post请求底层是使用字符输入流的方式来获取请求)如果是字节数据(如图片),就使用字节输入流。写入中文时要先设置留的编码,如下(设置响应的数据格式和字符集)使用commons-io的工具类可以快速完成流的拷贝。解决方法:不管怎么样数据底层的二进制数据都是一样的。获取请求参数要分为是GET请求还是POST请求。通过头的名称可以请求头对应的值。请求行 请求头 请求体。请求体是通过IO流的方式获取。

2023-05-29 14:52:41 527

原创 Servlet

web服务器会自动创建Servlet对象,并执行Servlet方法。在init方法里面接收ServletConfig对象,赋给成员变量。Servlet是java提供的一门动态web资源开发技术。对象的生命周期指一个对象从被创建到被销毁的整个过程。

2023-05-26 21:31:58 636

原创 Tomcat

文章目录TomcatWeb服务器安装基本使用部署项目IDEA中创建Maven Web项目IDEA使用TomcatTomcatWeb服务器安装https://tomcat.apache.org/基本使用部署项目IDEA中创建Maven Web项目Web项目结构(两种):可以通过maven选择使用骨架或者不使用骨架来创建项目IDEA使用Tomcat

2023-05-25 21:39:11 39

原创 HTTP~

如果是GET请求就在请求头里面找请求,如果是POST请求就在请求体里面找。

2023-05-24 21:28:08 40

原创 JavaScript

JS是一种脚本语言,不需要编译,只需要被浏览器解释运行confirm方法会根据点击的是取消还是确定,返回true或者false。

2023-05-23 15:59:11 378

原创 MyBatisX

批量删除时,使用的是动态sql语句,使用foreach标签遍历ids数组里面的传入的参数。就是通过注解的方式,将本该写在配置文件中的sql语句直接写在对应的抽象抽象方法上。当传入多个参数时,Mybatis将多个参数封装成一个map集合。可以使用@Param注解,替换Map集合中默认的arg键名。使用1=1的恒等式来解决where和and连接的问题,主键返回:是主键数据制动添加到传入的对象的属性中去。POJO类型:直接使用,属性名 和 参数占位名一致。Map类型:直接使用,键名 和 参数占位名一致。

2023-05-21 22:42:47 404

原创 MyBatis

【代码】MyBatis。

2023-05-19 22:25:22 53

原创 Maven

仓库中将存放项目所依赖的jar包如果使用的远程仓库,则jar包查找顺序是本地>远程>中央。

2023-05-17 21:32:15 39

原创 数据库连接池

【代码】数据库连接池。

2023-05-16 17:16:56 48

原创 JDBC~

在mysql5之后的驱动jar包中,不需要 Class.forName(“com.mysql.jdbc.Driver”)来注册驱动。SQL注入:SQL注入是通过操作输入来修改事先定义好的SQL语句,用以达到执行代码对服务器进行攻击的方法。ResultSet:结果集对象,封装了DQL查询语句的结果 (就是将查询到的表给封装起来)在mysql提供的Driver的驱动类中,静态代码块里会加载注册驱动。驱动管理类: 注册驱动,获取数据库连接。作用:获取执行SQL的对象,管理事务。

2023-05-15 16:13:36 671

原创 事务~~~

也就是说随便一条sql语句就是一条事务。回滚事务,就是将数据变为初始状态。

2023-05-12 20:32:45 36

原创 多表查询~

笛卡尔积:有A,B两个集合 取A,B所有的组合情况。要想查询某一章表的某个字段,可用 表名.字段名表示。查询嵌套信息,称嵌套查询为子查询。隐式内连接INNER可省略。外连接分左外连接和右外连接。通过中间虚拟表来实现。

2023-05-11 22:01:51 94

原创 数据库设计

一对一一对多多对多。

2023-05-10 21:51:46 45

原创 约束~~~

可以在建表时添加约束,也可以在建表后添加约束,也可以删除约束(每种约束的语法可能不同)

2023-05-10 20:43:02 40

原创 SQL~~

DDL是用来操作数据库和表。

2023-05-09 22:00:32 55

原创 数据库~~

在MySQL中数据库是以文件夹的形式存在的(就是硬盘上的文件夹)

2023-05-08 20:45:05 30

原创 动态代理~

代理主要是对对象行为额外做一些辅助操作。

2023-05-06 15:35:40 34

原创 注解~~~

所有注解都默认实现了Annotation接口。

2023-05-06 14:19:44 28

原创 反射~~~

获得类的构造器对象后可以调用Constructor类的方法进行创建对象。parametTypes为参数的类对象。若权限不够可以暴力反射创建对象。

2023-05-05 15:02:44 34

原创 单元测试~

文章目录单元测试Junit单元测试框架单元测试Junit单元测试框架

2023-05-04 22:08:31 47

原创 网络编程~

首先,要是使用ServerSocket类注册端口号。

2023-05-04 13:52:54 28

原创 线程池~~

*Timer定时器本身就是一个单线程 **

2023-04-30 16:53:46 771

原创 线程通信~

【代码】线程通信~

2023-04-27 19:16:21 42

原创 线程安全~

多个线程同时操作同一个共享资源的时候可以会出现业务安全问题,称为线程安全问题出现原因:1.存在多线程并发 2.同时访问共享资源 3.存在修改共享资源共同账户取钱问题(存在线程安全问题)//共同账户 Account account = new Account();return i;} else {System . out . println("余额不足");

2023-04-27 15:27:12 97

原创 多线程~~

多线程是指从软硬件上实现多条执行流程的技术。

2023-04-26 15:10:59 624

原创 打印流~~

作用:打印流可以实现方便、高效的打印数据到文件中去。打印流一般是指:PrintStream,PrintWriter两个类。可以实现打印什么数据就是什么数据,例如打印整数97写出去就是97,打印boolean的true,写出去就是true。System.SetOu(PrintSream p)把系统打印流改成自己的打印流。System.out的底层就是一个PrintStream。属于打印流的一种应用,可以把输出语句的打印位置改到文件。只能在new低级管道时指定追加操作。

2023-04-25 15:11:07 376

原创 序列化对象

作用: 以内存为基准,把存储到磁盘文件中去的对象数据恢复成内存中的对象,称为对象反序列化。作用:以内存为基准,把内存中的对象存储到磁盘文件中去,称为对象序列化。使用到的流是对象字节输出流:ObjectOutputStream。使用到的流是对象字节输入流: ObjectInputStream。transient修饰符,修饰的成员变量不参与序列化。

2023-04-24 18:17:09 31

原创 转换流~~

如果代码编码和文件编码不一致,使用字符流直接读取会乱码。

2023-04-23 16:25:04 30

原创 缓冲流~~

缓冲流也称为高效流、或者高级流。缓冲流自带缓冲区、可以提高原始字节流、字符流读写数据的性能。

2023-04-22 17:28:41 31

原创 IO流~~

兼容ASCII码表,也包含了几万个汉字,并支持繁体汉字以及部分日韩文字。O表示output,是内存程序 的数据从内存到写出硬盘文件的过程,称之输出,负责写。ASCII使用一个字节存储一个字符,一个字节是8位,共可表示128个字符信息。两种方法:1.让byte数组直接等于文件大小;I表示input,是数据从硬盘文件读入到内存的过程,称为输入,负责读。IO流也称为输入、输出流,就是用来读写数据的。在释放资源之前要进行非空校验,防止空指针异常。因为finally是否出现异常都会被执行。读取中文使用字符流更合适。

2023-04-22 15:18:21 41

原创 递归~~!

方法直接调用自己或者间接调用自己的形式称为方法递归间接递归:就是方法调用其他方法,其他方法又回调方法自己**递归如果没有控制好终止,会出现递归死循环,导致栈内存溢出现象 **一个简简单单的n的阶乘int a = 10;return 1;} }

2023-04-21 10:14:35 25

原创 File类

File类在包java.io.File下 、代表操作系统的文件对象(文件、文件夹)注意:若文件本身就不存在,则isFile和isDirectory都为false。**File创建对象,支持绝对路径也支持相对路径 **同时File也可以创建文件夹对象。浅浅的看一下它的层级。

2023-04-20 16:38:11 34

原创 Logback日志框架

Logback日志系统的特性都是通过核心配置文件logback.xml控制的。

2023-04-20 10:19:25 30

原创 Stream流

中间方法也称为非终结方法,调用完成后返回新的Stream流可以继续使用,支持链式编程。Map集合是本身没有直接获取Stream的方法,只能单独获得键流、值流和键值对流。收集Stream流就是把Stream流操作后的结果数据转回到集合或者数组中去。R代表加工后的返回值类型,T表示Stream创建时的泛型。数组获取Stream流是通过Ararrys中的静态方法。把Stream流想象成一个传送带。或者Stream类中的静态方法。要注意不同类型的流合并的情况。

2023-04-19 15:50:45 36

原创 Map集合

依赖于hashCode方法和equals方法保证键的唯一,如果键要存储自定义对象,需重写equals和hashCode方法。先把Map集合转换成Set集合,Set集合中每个元素都是键值对实体类型。元素按照键是无序,不重复,无索引,值不做要求(与Map体系一致)** Map集合的键:无序,不重复的 值可重复**元素按照键是排序,不重复,无索引的,值不做要求。元素按照键是有序,不重复,无索引,值不做要求。遍历键的Set集合,然后通过键提取对应值。先获取Map集合的全部键的Set集合。

2023-04-19 10:18:52 30

原创 collections工具类

java.utils.Collections:是集合。

2023-04-18 15:22:59 64

原创 HashSet、LinkedHashSet底层原理

结合元素HashSet和equals进行存储。

2023-04-17 16:53:54 34

空空如也

空空如也

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

TA关注的人

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