自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 session会话技术

4、当客户端关闭,服务器端不关闭,两次获取的session不是同一个,但可以通过设置cookie存活时间的方式保留session,即使是浏览器关闭,cookie在存活时间内仍然会存储在浏览器中,cookie中的session信息也不会丢失。5、客户端不关闭,服务器关闭后,两次获取的session不是同一个对象,内存的地址值不一样,因为服务器重启后,内存也会跟着释放,但是需要保证session数据不丢失,否则比如某购物网站服务器重启,用户将无法获取之前加入购物车的数据。tomcat可以自动实现上面两个过程。

2025-12-21 14:43:55 206

原创 linux学习

1、虚拟机:虚拟的电脑,用软件模拟的电脑、

2025-12-20 19:39:53 86

原创 会话技术cookie

1)同一个服务器中多个项目,默认不能访问同一个cookie,因为默认情况下,cookie发送时会默认获取当前项目的虚拟目录,只能在当前项目中访问,如果需要共享,可以用cookie对象的setpath方法,设置路径为“/”基于响应头set-cookie和请求头cookie实现的,服务器将创建的cookie设置到响应头set-cookie中,浏览器再次访问服务器时,会在请求头的cookie字段中设置同样的值发送给服务器。1)默认情况下,当浏览器关闭后,cookie数据被销毁,cookie存在浏览器的内存中。

2025-12-06 13:45:39 412

原创 servletContext对象

格式:大类型/小类型—text/html,在tomcat的web.xml中保存了文件扩展名对应的mime类型。1、概念:servletContext对象代表整个web工程,可以和程序的容器(服务器)通信。3)使用响应头设置资源的打开方式,使用附件打开。作用范围:可以共享所有用户、所有请求的数据。2)资源不能被浏览器解析,则会弹出下载提示。1)资源如果能被浏览器解析,则会直接展示。1)通过request对象获取。2)是域对象,可以共享数据。3)获取文件的真实路径。1)获取mime类型。

2025-11-22 15:47:34 145

原创 http响应消息

1xx:服务器接收客户端消息,但没有接收完成,等待一段时间后,发送1xx的状态码,询问客户端是否还有数据发送。3xx:302重定向,浏览器访问A资源,A资源返回了B资源的路径,然后浏览器会去将请求重新发送给B。Content-Type: 服务器告诉客户端浏览器,当前的响应消息体数据格式,以及编码格式。304访问缓存:浏览器会将静态资源如图片、js资源,缓存到本地。响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态。1、响应消息:服务器给客户端的消息。2)重定向可以访问其他服务器的资源。

2025-11-16 20:46:35 374

原创 java简单登录功能实现

5、编写servlet处理类LoginServlet接收页面参数,并将登录成功和登录失败的请求分别转发给failServlet和SuccessServlet。2)属性:指的是getter和setter方法名截取后得到的值,一般和成员变量同名。4)必须提供public修饰的getter和setter方法。5)一般放在domain包里,一般用于封装数据库表。6、使用Beanutils工具类,完成对象封装。1、javabean是标准的java类。4、编写dao,封装底层sql操作。2)必须提供空参的构造器。

2025-11-15 20:40:43 147

原创 创建web项目踩坑记录

4、查看modules,发现里面是空的,手动导入当前项目,导入的时候导入了lib和项目,但是后面提示报错lib已经存在,再次导入,只导入项目,不导入lib,成功,此时上图的位置不再标红。1、tomcat无法启动,报错Error: TomEE required to support EAR/EJB deployment。2、删除war包重新导入仍然报错,war包有问题。7,再次把war包部署到tomcat,启动成功。3、查看war包页面,发现下图框框位置标红。6、重新build项目war包。

2025-11-10 22:11:39 217

原创 Request对象学习

5)服务器在给浏览器做出响应之前,会从response对象中取得响应消息数据,并将该数据放到响应结果中返回给浏览器。4)可以在service方法中,通过request对象获取请求数据,并使用response对象设置响应消息。2)tomcat服务器会创建request和response对象,并将请求封装到request对象中。request域:代表一次请求,一般用于请求转发的多个资源中去共享数据。通过request对象获取请求转发器对象,然后通过该对象进行请求转发。请求转发:在服务器内部的资源跳转方式。

2025-11-09 21:21:16 191

原创 http协议

user-agent:告诉服务器请求的浏览器的版本,可以在服务器端获取该头信息,解决浏览器的兼容问题:Mozilla/5.0 (Windows NT 10.0;get:参数在请求行中,请求url的长度有限制,浏览器限制2083到190000字符之间,服务器限制为8192和16384字符之间。post:请求参数在请求体中,url请求无限制。4、基于请求响应模型,一次请求对应一次响应。请求方式、请求url、请求协议/版本。空行:用于分割post请求头和请求体。封装post请求的请求体。请求头名称、请求头值。

2025-11-09 12:59:47 146

原创 servlet体系结构

判断是什么方法:req.getMethod,判断是get请求还是post请求,HttpServlet的service方法将getMethod判断请求方式封装了,可以直接复写doget和dopost。GenericServlet实现了servlet接口:servlet儿子,其他方法空实现,只有service方法是抽象方法,需要继承他的子类实现。HttpServlet继承了GenericServlet:servlet孙子,是对http协议的封装和实现。3、servlet的配置。2、service方法。

2025-11-08 21:02:01 178

原创 servlet入门

1、http://localhost:8080/demo2_war_exploded/hello-aaaaa,通过该网址访问时,首先通过/localhost:8080找到主机和应用程序,通过demo2_war_exploded找到项目的资源目录,通过hello-aaaaa找到具体的提供资源的类,并将其字节码文件加载进内存,通过反射使用使用newinstance创建对象,并依次invoke该对象的方法:init和doGet。webinfo目录下的资源,不能直接被浏览器访问。3、idea和tomcat。

2025-11-08 18:08:38 161

原创 web服务器软件tomcat

C.apache-tomcat-8.5.100\conf\Catalina\localhost目录下创建任意xml文件,写入上面的配置即可,访问时,虚拟目录为新创建的xml文件名称。或者在conf目录下server.xml中修改端口号,一般将默认端口号修改为80,因为http协议的默认端口号为80,通过http协议访问web服务时,不需要输入端口号。3、服务器软件:接收用户请求,处理数据,返回响应,在web服务器软件中,可以部署web项目,让用户通过浏览器去访问这个项目。webapps:存放web项目。

2025-11-08 14:25:43 212

原创 javascript学习

5、java是强类型的语言,javascript是弱类型的语言,比如一个存储int的内存空间,可以存储字符串,定义变量用var关键字定义。3、功能:可以来增强用户和html的交互过程,可以来控制html元素,实现让页面有动态效果,可以进行客户端表单校验,可以增强用户体验。1、客户端脚本语言,运行在客户端浏览器中,每个浏览器都有javascript的解析引擎。2、脚本语言:无需编译,直接被浏览器解析执行。4、与html的结合方式:内部js,外部js。//定义null和undefined。

2025-11-02 19:12:36 367

原创 css样式学习

1、概念:层叠样式表,多个样式可以同时作用在一个html元素上,同时生效2、好处:功能强大,将内容元素和样式控制分离,一套css可以作用于多套页面3、css的使用:css与html的结合方式内联样式内部样式外部样式4、选择器:分类1、基本选择器:id选择器(建议一个页面中id唯一)、元素选择器、类选择器2、扩展选择器:选择所有元素的选择器、并集选择器、子选择器、父选择器,属性选择器、伪类选择器3、属性3、盒子模型:外边距:margin、内边距:padding(默认情况下,内边距会影响盒

2025-11-01 23:01:50 817

原创 html表单标签

表单标签:用于采集用户输入的数据,用于和服务器交互。

2025-10-29 21:53:47 366

原创 html基本标签

1、文件标签:组成html文件的基本标签。2、文本标签:和文字有关的标签。7、语义化标签:提高程序可读性。

2025-10-26 19:19:13 416

原创 网页资源分类

2、静态网页开发技术:html(用于搭建基础网页,展示网页内容)、css(用于页面的美化和布局)、javascript(控制页面的元素,让页面有动态效果)3、如果用户请求的是静态资源,那么服务器会直接将静态资源发送给浏览器,浏览器中内置了静态资源的解析引擎,可以来展示静态资源。6、如果用户请求的是动态资源,服务器会执行动态资源,转换你为静态资源,再发送给浏览器。1、静态资源:所有用户访问,的到的结果是一致的,如果图片,文字。4、动态资源:不同的用户访问,得到的结果可能不同。

2025-10-25 19:03:56 118

原创 spring对jdbc的简单封装

【代码】spring对jdbc的简单封装。

2025-10-19 18:05:24 90

原创 数据库连接池druid

定义:存放数据库连接的容器(集合),当系统初始化好后,容器被创建,容器会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。数据库连接池:由java的api定义,数据库驱动厂商实现。配置文件在resource目录下。实现技术:C3P0,Druid。接口:DateSource。优点:节约资源、高效。

2025-10-19 16:29:40 187

原创 jdbc简单事务例子

【代码】jdbc简单事务例子。

2025-10-12 20:48:09 80

原创 jdbc简单登录

【代码】jdbc简单登录。

2025-10-12 18:33:51 107

原创 抽取jdbcutils简单例子

【代码】抽取jdbcutils简单例子。

2025-10-12 14:36:55 226

原创 jdbc简单封装

数据库读取数据并封装。

2025-10-08 16:14:38 241

原创 jdbc简单连接

1、java官方定义的一套操作所有关系型数据库的规则,即接口;各个数据库厂商去实现这套接口,提供数据库驱动的jar包,使用这套接口编程时,实际执行会调用对应数据库厂商提供的实现类中提供的实现方法。1)导入驱动jar包,下载地址。5)获取执行sql的对象。6)执行sql,获取结果。3)获取数据库连接对象。

2025-10-07 11:00:35 243

原创 mysql学习--DCL

5、忘记root密码。

2025-10-06 10:25:47 623

原创 mysql学习---事务

提交,mysql事务会默认提交dml语句,实现数据持久化更新,如果写了开启事务,则需要手动提交,否则会默认回滚。3)幻读:一个事务去操作数据表中所有的记录,另一个事务添加了一条数据,则第一个事务查询不到自己的修改。多个事务操作同一批数据,可能会产生问题,设置不同的数据隔离级别,可以解决这些问题。1、的业务操作,被事务管理,那么这些步骤要么全部成功,要么全部失败。2)不可重复读:在同一个事务中,两次读取的数据不一样,也成虚读。2)持久性:事务被提交或回滚后,数据库会持久化的保存数据。

2025-10-06 09:42:02 229

原创 mysql多表查询

3、子查询返回结果为多行多列,结果可以作为一个虚拟表,作为一个表查询。1、子查询返回结果为单行单列。2、子查询结果为多行单列。

2025-10-05 20:00:44 161

原创 mysql学习

3、第一范式:每一列都是不可分割的原子列。2、多对多关系使用中间表实现。1、一对多关系使用外键实现。

2025-10-05 10:21:33 111

原创 mysql学习

1、where和having的区别是,不满足where条件的不会进入分组阶段,不满足having条件的分组结果不会返回,一个是分组前的条件,一个是分组后的条件,且where后不能跟聚合函数。主键约束:非空且唯一。

2025-10-04 10:48:51 220

原创 mysql学习--日志查询

查看通用日志的数据,此时sql语句展示为十六进制数。设置通用日志记录历史的sql语句。修改阈值,修改后需要重启才能生效。使用utf6编码查看通用日志。设置通用日志输出到文件。查看慢查询日志是否开启。设置通用日志输出到表。

2025-10-04 09:11:44 181

原创 注解学习,简单测试框架

【代码】注解学习,简单测试框架。

2025-09-20 17:51:04 200

原创 注解学习-注解解析

【代码】注解学习-注解解析。

2025-09-14 21:01:43 133

原创 leetcode-加油站

给定两个整数数组 gas 和 cost ,如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。如果存在解,则 保证 它是 唯一 的。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。

2025-09-13 20:10:56 292

原创 学习:反射,创建配置文件中的指定类并执行指定方法(无参)

【代码】学习:反射,创建配置文件中的指定类并执行指定方法(无参)

2025-08-03 20:42:06 110

原创 26. 删除有序数组中的重复项

给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致。然后返回 nums 中唯一元素的个数。更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。26. 删除有序数组中的重复项。

2025-03-16 15:05:25 161

原创 27.移除元素

【代码】27.移除元素。

2025-03-15 16:59:36 107

原创 合并两个有序数组

【代码】合并两个有序数组。

2025-03-15 14:45:32 125

原创 offer26

思路:先序遍历A的每个节点N:isSubStructure(A,B) 判断以N为根节点的子树是否包含树B:recur(A,B) 对于函数isSubStructure(A,B)当A为空或者B为空时,返回false当B为A的子树时,瞒住以下条件中的一个以节点A为根节点的子树包含树B,对应recur(A,B) 以A节点的左孩子为根节点的子树包含树B:对应isSubStructure(A.left,B) 以A节点的右孩子为根节点的子树包含树B,对应isSubStructure(A.ri...

2020-09-04 17:39:11 162

原创 offer31

public class Main { public static void main(String[] args) { int[] pushed = {1,2,3,4,5}; int[] popped = {4,3,5,1,2}; Stack<Integer> st = new Stack(); int i = 0,j = 0,n = pushed.length; boolean f = true; while(j &l...

2020-09-04 17:13:52 171

原创 leetcode433

深度优先模板/* * dfs * 终止条件 * 访问当前节点 * 下探到下一层 * visted = set() * * def(node,visited): * if node in visited: * return * * visited.add(node) * * for next_node in node.children(): * if not next_node in visited: * dfs(next.node,visited) */.

2020-09-03 22:20:28 173

空空如也

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

TA关注的人

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