- 博客(89)
- 收藏
- 关注
原创 案例开发 - 日程管理系统 - 第二期
搭建项目,先准备数据库,建表,然后可以在 idea 中查看数据库的表格。根据数据库表格创建实体类,在创建实体类,可以使用 lombok 插件在有了实体类之后,可以住呢比 dao 层,在 dao 层中,需要用接口来统一规范方法的名称,参数... 方便上层调用统一dao 层是依据表格,来分为不同的类 user 和 schedule ~Controller 层中,用于接收前端的请求,和返回结果注意理解,利用反射的方法,来做到一个 Servlet 就能接收多种请求,再对应多种解决方法。
2025-07-15 00:21:36
795
2
原创 Javaweb- 11 MVC架构模式
MVC(Model View Controller) 是软件工程中一种软件架构模式,它把软件系统分为模型,视图,控制器,三个基本部分。用一种业务逻辑,数据,界面显示分离的方法组织代码,将业务逻辑集群到一个部件里面。当改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。(1. 高内聚,低耦合 2. 开闭原则(对修改关闭,对拓展开放))
2025-07-12 18:47:37
392
5
原创 Javaweb - 10.7 乱码和路径问题
GET 乱码问题,form 表单提交的参数,会放在 uri 后面,编码受到 charset 的影响。可以通过在 server.xml 中 connector 中添加 URIEncoding=“GBK“来解决请求行:GET URI?请求头请求体POST 乱码问题,form 表单提交的参数会放在请求体中,编码受到 charset 的影响。可以在后端获取参数之前,设置解析请求头使用的字符集。
2025-07-09 23:42:10
930
4
原创 Javaweb - 10.6 请求转发和响应重定向
什么是请求转发和响应重定向?请求转发和响应重定向,是 web 应用中,间接访问项目资源的两种手段,也是 Servlet 控制页面跳转的两种手段请求转发:通过 HTTPServletRequest 实现响应重定向:通过 HttpServletResoponse 实现举个栗子:请求转发:A 找 B 借钱,B 没有,B 找到 C,让 C 直接把钱打到了 A 的账户上,A 只知道自己找到 B 借钱~响应重定向:A 找 B 借钱,B 没有,B 告诉 A,你去找 ,A 又找到 C,C 把钱借给了 A~
2025-07-07 00:26:31
611
6
原创 Javaweb - 10.5 HttpServletRequest 和 HttpServletResponse
HttpServletRequest 是什么?HttpServletRequest 是一个接口,其父接口是 ServletRequestHttpServletRequest 是Tomcat 将请求报文,封装而来的一个对象,在 Tomcat 调用 service 方法时传入。HttpServletRequest 代表客户端发来的请求,请求中的所有信息,都可以通过该对象来获得HttpServletResponse 是什么?
2025-07-06 18:12:33
1027
1
原创 Javaweb - 10.4 ServletConfig 和 ServletContext
在对两个对象说明之前,我们仍需在 web-all 工程下创建一个 demo。
2025-07-06 12:04:45
907
1
原创 Javaweb - 10.3 Servlet 生命周期
什么是生命周期?应用程序中的对象,不仅在空间上有层次结构的关系,在实践上也会因为处于运行过程中的不同阶段,而表现出不同状态和不同行为,这就是对象的生命周期简单的叙述生命周期:就是对象在开始创建,到最后销毁的过程。Servlet 容器:Servlet 对象是 Servlet 容器创建的,生命周期方法都是由容器(我们目前使用 Tomcat)调用的。这一点和我们之前所编写的代码,由很大的不同!在今后的学习中,我们越来越多的对象,都要交给容器或框架来创建,越来越多的方法,都要由容器或框架来调用。
2025-07-05 19:53:48
1177
原创 Javaweb - 10.2 Servlet
其实是:servlet-api,仅是在编码的时候需要,当运行的时候,在服务器的环境中,由服务软件(Tomcta)提供。因此,我们的 Javaweb 项目中,在打包 / 构建的过程中,无需携带 servlet-api 的 jar 包。应该在 WEB-INF 中创建一个 lib 文件夹,然后将需要的 jar 包导入进去即可~ 但我们上篇在这个项目中,并没有导入 jar 包呀~ 为什么还可以正常找到 Servlet 这个接口呢?这个 Servlet 接口,并非是我们下载的基础类库 jdk 中的配置。
2025-07-04 17:21:13
530
原创 Javaweb - 10.1 Servlet
静态资源:无需在程序运行时,通过代码生成的资源,在程序运行之前就写好的资源。例如:html css js img 音频 视频文件动态资源:需要在程序运行时,通过代码生成的资源,在程序运行之前,无法确定的数据,运行时动态生成。例如:Servlet Thymeleaf......动态资源指的不是视图上的动态效果,而是简单的人机交互效果~举个栗子:去蛋糕店买蛋糕:我们直接买柜台上已经做好的:静态资源我们和店员提出要求后现场定制一个:动态资源。
2025-07-03 21:38:19
837
1
原创 Javaweb - 9 HTTP 协议
HTTP 超文本传输协议(Hyper Text transfer protocol),是一个属于应用层的,面对对象的协议,适合于分布式超媒体信息系统。它是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网的数据传送协议。客户端和服务端通信时传输的内容,我们一般称之为报文。HTTP 协议规定了报文的格式。HTTP 就是一个通信规则,既规定了客户端发给服务器的报文格式,也规定了服务器发送给客户端的报文格式。我们主要就是要研究上面的这两种报文格式。
2025-07-02 21:09:01
769
1
原创 Javaweb - 8 Tomcat10
存放 web 项目的目录,其中的每一个文件夹就是一个项目。运行时生成的文件,最终运行的文件都在这里。2. 在 tomcat 的 conf 中的 Catalina 的 localhost 位置中,准备一个 app-test.xml 文件(这个 xml 文件和 我们项目的名字可以不一致,但就需要更多的配置了,此处我们先不更多配置,直接命名一致)但是,我们前面讲了两种 Tomcat 部署项目的方法,检查两种方法的目录,都没有找到我们刚刚成功部署过的那个项目,但我们又实实际际的运行成功了,这是为什么呢?
2025-07-02 18:26:50
1283
3
原创 Javaweb - 7 xml
XML 是EXtensible Markup Language 的缩写,翻译过来就是可扩展标记语言。即,XML 和 HTML 一样,都是标记语言,也就是说,它们的基本语法都是标签。特点:1. 可扩展:即 XML 是允许自定义格式的。但!这并不代表我们就可以随便写。2. 在 XML 基本语法规范的基础上,我们使用的第三方应用程序、框架等,会通过 XML 约束的方式,强制配置文件中可以写什么,和怎么写~
2025-06-29 23:22:45
745
5
原创 Javaweb - 6 BOM 编程 和 DOM 编程
BOM Browser Object Model 的简写,即浏览器对象模型。BOM 由一系列对象组成,是访问,控制,修改浏览器的属性和方法。BOM 没有统一的标准(每种客户端都可以自定标准)BOM 编程是将浏览器窗口的各个组成部分,抽象成各个对象,通过各个对象的 API 操作组件行为,的一种编程。理解 BOM:当我们在浏览器随便搜索一个页面,例如 www.baidu.com,出现的整个浏览器窗口,我们就可以抽象成一个对象,这个对象,就是 window 对象。
2025-06-27 21:42:44
979
原创 Javaweb - 5 事件的绑定
HTML 事件可以是浏览器行为,也可以是用户和行为。当一些行为发生时,可以自动触发对应的 JS 函数的运行。JS 的事件驱动指的就是,行为触发代码运行,这一特点。DOM 编程在本文仅仅只是浅尝即止是使用,后面我们会详细介绍~
2025-06-24 20:19:34
1227
3
原创 jar 包如何下载
在 Javaweb - 2 中,我们导入了三那个 jar 包来进行服务端的 JSON 串格式转换,这个为大家做一个如何下载那三个 jar 包的教程~
2025-06-24 10:06:44
206
1
原创 Javaweb - 4.2 JavaScript
如果是 splice(2,2,"ele1","ele2","ele3"),就是从第 2 个下标开始,删除 2 个元素,再增加 ele1 ele2 ele3 元素~ 如下图,其中,桃子和荔枝就被删除了~语法:var str = '{"属性名":"属性值","属性名":"属性值","属性名":{},"属性名":["","",""],"属性名":[{},{},{}]}'我们在前后端进行代码编写时候,前端用 JS 语言,来将对象的数据进行存储,在后端使用 Java 语言,来将对象的数据进行存储。
2025-06-24 09:51:12
780
原创 Javaweb - 4.1 JavaScript
JavaScript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务端语言遗留的速度问题。比如说,当用户要进行一个注册页面,在没有 Javascript 的时候,用户在填写自己注册的用户名和密码时,是没有相对应的提示,只有当数据发送给服务器,服务端发现接收到的数据不符合要求,才会返回一个信息,告知客户端,大大影响了效率~
2025-06-22 21:53:25
882
4
原创 Javaweb - 3 CSS
CSS 层叠样式表(Cascading Style Sheets),能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。简单来说,HTML 搭建一个毛坯房,CSS 对毛坯房进行装修美化,到了 JS 的时候,就是加入家电智能设备了。
2025-06-22 16:20:10
830
原创 Javaweb - 2 HTML
HTML:即 Hyper Test Markup Language ,超文本标记语言。作用是搭建网页结构,在网页上展示内容。HTML 本质上是文本文件。但是可以通过标签,来把其他网页,音频等资源引入到当前网页中。本身是文本,但最终呈现出来的效果超越了文本。HTML 不像 Java C 等编程语言,它是由一系列标签组成的,没有常量,变量....那些功能。HTML 的每个标签都有它固定的含义和确定的页面显示效果。双标签:例:<p> </p>单标签:例:<br />
2025-06-20 18:14:22
689
原创 JavaWeb-1 概述
用 Java 技术来解决相关 web 互联网领域的技术栈,使用 Javaee 技术体系开发企业级互联网项目。客户端:与用户进行交互,用于接收用户的输入(操作),展示服务端的数据以及向服务器传递数据。如:手机 APP,微信小程序,PC浏览器....服务端:与客户端进行交互,接收客户端的数据,处理具体的业务逻辑,传递给客户端需要的数据。“服务器”是一个很宽泛的概念。从硬件而言:服务器是计算机的一种,但比普通计算机运行的更快,负载更高,价格更贵。
2025-06-19 16:26:55
683
4
原创 继往开来,承上启下~
在学习技术的过程中,也一直在犹豫选择,直到现在,都还是搞不明白,自己最后的方向~ 到底是就业,还是考研,哎呀,其实,我不想考了,学不动了,中考,高考,前段时间的期末考,给我的感觉都是,我是真不适合应试考试,心累累~~ 期末复习周,大家都是学一周,我学两周,但结果,唉,反正,感觉,不是很尽人意~~~考了英语六级,捏妈,作文的 social media 我上去理解成了,社会医疗,全面偏题~~ 一位朋友,也不知道算不算朋友了,同学吧,一位同学,打笑道:你这样能过的话,我把袜子吃了”...
2025-06-19 11:30:44
166
原创 JVM 一文详解
JVM 是 Java Virtual Machine 的简称,意为 Java 虚拟机。虚拟机是指通过软件模拟的,具有完整硬件功能的,运行在一个完全隔离的环境中的完整计算机系统。我们在学习 Java SE 的时候,简单了解过 JVM,还有两个相关的概念,jdk,Java 开发工具包,jre,Java 运行时环境,其中,jvm 虚拟机包括在 jre 其中,而 jre 又包含在 jdk 其中。所以我们在编写 Java 代码中,下载 jdk 即可在记事本中编写代码,然后通过命令行运行进程。
2025-05-03 23:34:14
1649
9
原创 网络原理 - 13(HTTP/HTTPS - 4 - HTTPS)
当点击“下载按钮”,其实就是给服务器发送了一个 HTTP 请求,获取到的 HTTP 响应其实就包含了 APP 的下载连接,但是,如果被运营商劫持了之后,就会发现这个请求是要下载快玩游戏盒,那么就自动的把交给用户的响应的快玩游戏盒的下载连接给篡改成“360 软件宝库”的下载地址了~~非对称加密体系,也不是无懈可击的,只是要破解非对称加密体系,所需要耗费的成本,以目前的计算机算力来说,是非常非常大的,远远超出了截获信息所能获取到的利益,因此我们的数据就是安全的了。他没有第三方公证机构的私钥呀!
2025-05-02 20:22:22
1606
6
原创 网络原理 - 12(HTTP/HTTPS - 3 - 响应)
如果输入正确,就可以正确访问到,但是如果输入错误,比如 www.bilibili.com/index333.html,就会看到 404 这样的响应。但是对方的服务器不一定支持所有的方法,比如:服务器只支持 GET 请求,但是我们发送了一个 POST,就会出现 405 Method Not Allowed。比如我们本来的手机号是 123-4567-7899,后来换了一个新的号码是 999-4567-7891,此时难道是一个一个朋友告诉我们的新号码码?这种情况可能是服务器挂了,也可能是网络挂了~~
2025-04-30 16:40:01
1299
6
原创 网络原理 - 11(HTTP/HTTPS - 2 - 请求)
注意的是,浏览器上运行的网页,理论上也是可以通过浏览器提供的 API 来读写本地的磁盘文件,但是浏览器禁止了这种做法(浏览器并没有给网页提供这样的 API) (不安全~~ 万一黑客通过网页,直接把我们 C 盘中的学习资料删了怎么办?当我们再收银台结账的时候,收银员会扫描我们的会员卡。上古时期,UA 是非常关键的内容,由于计算机发展迅速,不同用户使用的上网设备,差异很大,UA 就可以表明该用户上网的设备具体是什么信息,如何用户使用的是比较老的设备,返回的页面就不含新特性,确保这个页面可以正确的访问出来。
2025-04-29 20:41:19
1456
1
原创 网络原理 - 10(HTTP/HTTPS - 1)
问:为什么 HTTP 报文中要存在“空行”??答:HTTP 协议中,并没有具体规定报头部分的键值对有多少个,空行就相当于是“报头的结束标志”,或者说空行是“报头和正文之间的分隔符”。HTTP 在传输层是依赖 TCP 协议的,TCP 是面向字节流的,如果没有这个空行,就会出现“粘包问题”~~
2025-04-28 21:05:57
1187
3
原创 网络原理 - 9
DNS 服务器,并非只有一份,是有很多份的~~最开始的一套 DNS 服务器,称为”根域名服务器“,这里面的内容是非常全的~~ 各个国家的网络运营商,再根据域名服务器里面的内容,搭建出”镜像服务器“,上网的时候,一般就是就近的访问附近运营商的镜像 DNS 服务器,镜像 DNS 服务器会定期的从跟服务器中同步数据~~指的是网卡的硬件地址(也叫 MAC 地址),长度是 48 位(6 个字节的地址),是在网卡出场时候就固化了。以太网是目前使用最广泛的局域网技术,和以太网并列的还有令牌环网,无线 LAN 等~~
2025-04-26 23:37:25
984
1
原创 网络原理 - 8
大部分情况下,局域网中的不同设备,访问的是不同网站,这个时候直接通过服务器 IP 就能区分,其次情况,如果访问的是同一个服务器,就可以按照端口号来区分,再极少数情况下,碰巧访问的是同一个服务器,并且端口号相同,就可以在路由器这边自动映射成不同的端口号了,仍然能够进行区分~将 IP 地址中的主机地址全部设为 1,就成为了广播地址,用于给同一个链路中相同连接的所有主机发送数据包(广播地址)(注意,在广播地址上发消息,局域网中的所有设备都能收到,但一定要发 UDP 的消息,TCP 是不支持广播的~)
2025-04-26 20:37:06
720
1
原创 网络原理 - 7(TCP - 4)
前面的内容,就是对 TCP 协议中,一些比较重要的,需要我们了解的一些机制的介绍~~~TCP 协议也有其他重要协议,这里只是挑了几个比较核心的进行介绍~
2025-04-24 21:28:08
1795
3
原创 网络原理 - 6
=》发送方会周期性的发送一个“窗口探测包”,这个窗口探测包,并不会携带任何载荷,这样的包对于业务并不产生影响,只是为了触发接收方的 ack,一旦查询出来的结果,是非 0 的时候,就代表缓冲区又行了!发送方就可以继续发送了!重传 1001 之后,此时的确认序号就是 7001 了,而不是再从 2001 开始,确认序号要表示的是,我接下来要向发送方索要那个数据~~ 当发送方重传 1001 这个数据之后,接收方的 7000 之前的数据就都收到了,接下来就要索要 7001 这个数据了~~~
2025-04-23 21:35:49
976
2
原创 网络原理 - 4(TCP - 1)
包能顺利到达的概率是 90%,那我们重传了一次,却又发生丢包,即两次传输数据都丢包的概率是 10% * 10% = 1% ==》换个角度看,两次传输包至少有一次能到达的概率是 99%,随着重传的次数增加,包到达接收方的概率也会大大增加,如果我们连续重传了三四次仍然还是发生丢包,只能说明,此时的丢包率是非常非常非常大了,意味着此时的网络已经出现了非常非常严重的故障了!这个 ACK 是不是有些熟悉呢?数据已经被 B 收到了,再传输一次,同一份数据,B 就会收到两次,试想一下,如果发送的请求是扣款请求呢?
2025-04-22 19:52:27
1242
2
原创 网络原理 - 3(UDP 协议)
(网络传输的数据要怎么使用,当然也要考虑到数据是什么样的格式,里面包含那些内容~)协议,其实就是一种与欸的那个,虽然存在很多的现有的协议(大佬们已经搞好了的),除此之外,我们程序员也可以自己来约定协议。
2025-04-21 20:33:41
790
原创 网络编程 - 4 ( TCP )
目录TCP 流套接字编程API 介绍SeverSocketSocket用 TCP 实现一个回显服务器服务端客户端运行调试第一个问题:PrintWriter 内置的缓冲区 - flush 刷新解决第二个问题:上述代码中,需要进行 close 操作吗?第三个问题:多个客户端来访问服务器梳理代码:最终版本代码~流程图文字解释:图文解释~完!SeverSocket 是创建 TCP 服务端 Socket 的 APIServerSocket 构造方法:ServerSocket 方法:Socket 是客户端 Socket
2025-04-19 16:56:12
1237
8
原创 网络编程 - 3
因为词典服务器和回显服务器的大致逻辑都是相同的,只是在业务处理 process 方法的时候,回显服务器只是简单返回,我们要做的词典服务器只需要在 process 进行对应的业务处理即可,所以没必要再重复实现之前的逻辑~我们上一篇文章实现了一个回显服务器,在服务端中业务方法 process 中,只是单纯的将客户端输入的东西 return 了一下,我们可以在这里带一点业务逻辑~~因为 start 方法,我们的词典服务器的逻辑和回显服务器的逻辑相同,不需要进行更改,可以完全从父类进行继承。
2025-04-19 09:52:58
311
2
原创 网络编程 - 1
网络编程,指网络上的主机,通过不同的进程,以编程的方式实现网络通信(网络数据传输)。也可以只需要满足进程不同即可。所以即使是同一个主机,只要是不同进程,基于网络来传输数据,也属于网络编程。特殊的,对于开发来说,在条件有限的情况下,一般也都是在一个主机中运行多个进程来完成网络编程。但,我们一定要明确,我们的目的是提供网络上的不同主机,基于网络来传输数据资源。进程 A:编程来获取网络资源进程 B:编程来提供网络资源。
2025-04-17 21:17:58
1076
1
原创 网络原理 - 初识网络 2
物理层中涉及到的都是硬件设备。数据链路层对上述数据进行解析,拿到载荷,交给网络层(IP 协议),IP 协议又会进一步的对这个数据进行解析,取出载荷,当然也要解析这里的报头(路由器需要通过 IP 报头中的目的 IP 来知道具体接下来如何转发~~)上述的过程,都是经典的交换机和路由器的大概传输过程,如果现实中的情况可能就会更加复杂,比如,交换机要截取/ 解析所传的数据,就会封装到应用层,把我们的 hello 拿出来看看~~~但是,实际上,即使是经过交换着或者路由器,上述的封装分用过程,也是同样适用的!
2025-04-16 16:34:22
792
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人