- 博客(30)
- 收藏
- 关注
原创 JavaWeb ServletContext 对象 应用
Java EE Servlet 定义的一个让 Web 应用中的 Servlet 能够和服务器交流的一个接口,每个应用都有自己的。作为域对象,它提供了一个命名空间,在这个命名空间中,可以存储属性(键值对),这些属性在整个 Web 应用程序中都是可见的。的配置文件 对应自己的文件目录 可以通过// 使用 getResourceAsStream 获取资源的 文件的路径。resp.getWriter().write("获取当前工程的名称 " + appName);// 获取资源的路径 对应自己的文件目录。
2024-05-31 18:26:03 1020
原创 JavaWeb Servelt原理
Servlet技术是Java EE规范的组成部分,代表了服务器端的Java程序,主要负责处理来自客户端的Web请求,并生成相应的响应。它们能够响应多种类型的HTTP请求,包括但不限于GET、POST、PUT和DELETE,广泛用于动态网页内容的生成、用户表单数据的处理以及数据库交互等关键Web应用场景。开发者需要在service方法中编写代码来处理请求,比如获取请求参数、执行业务逻辑等,并在处理完请求后,通过ServletResponse对象来设置响应状态码、响应头以及发送响应体。方法来处理客户端的请求。
2024-05-28 18:30:44 999
原创 JavaWeb Sevelet学习 创建Sevelet程序
Servlet 是JavaWeb中的开发动态Web一门技术 是由Sun公司提供的一个接口,允许开发者编写运行在服务器()上的Java程序,这些程序可以 生成动态网页内容, 响应客户端的请求。简单来说,Servlet就是Java EE规范中定义的用于开发服务器端应用程序的API。开发一个简单的Servlet程序通常只需要两个基本步骤:1:创建一个类 实现Sevelt接口 -->2: 把开发的好的接口 部署到Web(Tomcat )服务器当中;
2024-05-24 18:18:08 836
原创 JavaWeb Maven项目管理工具 环境搭建
开发人员可以通过简单的命令来执行这些阶段,自动化构建过程,支持跨平台构建,无论我们使用的是Windows、Linux还是macOS,都可以使用Maven来构建项目,提供了一个强大的插件系统,开发者可以利用这些插件来执行各种任务,如代码编译、测试运行、打包、部署等,支持依赖的版本控制,可以轻松地管理不同版本的依赖,对于处理兼容性问题和进行版本升级非常有用,可以生成项目的POM文件,包含了项目的元数据,如项目名称、版本、开发者信息等;:将编译后的代码打包成可分发的格式,如 JAR、WAR 等。
2024-05-22 17:59:17 935
原创 JavaWeb网页开发 第2篇 掌握HTTP协议
HTTP协议建立在TCP之上,TCP协议确保了数据传输的可靠性,即使在网络条件不佳的情况下,也能够保证请求和响应数据的准确传递,从而保障了用户与网站之间的顺畅交互。常见的请求头部包括User-Agent表示发起请求的用户代理信息,Accept告知服务器客户端能够处理哪些类型的响应,Content-Type则描述了请求体的媒体类型,这些信息帮助服务器更好地理解请求并准备相应的响应。在某些类型的HTTP请求中,如POST或PUT,请求体是必要的,它包含了客户端发送给服务器的数据。
2024-05-20 01:29:33 997 1
原创 JavaWeb 网页开发
当我们打开浏览器访问的每一个网站 每个网站都可以看作是一个独立的Web,它由多个互相链接的网页组成 而WEB网页开发又包括静态Web和动态Web两种类型;:静态网页由HTML、CSS和JavaScript组成,内容在服务器上生成后不会改变,用户每次请求相同的页面,服务器都会返回相同的内容,静态网页通常用于内容不经常更新的网站,如个人简历或宣传页面。静态网页就像一张图片,内容是固定的,不会随用户的行为而改变。它主要用HTML、CSS和JavaScript来创建。
2024-05-19 19:34:40 1682
原创 Git 基础与实践 深入理解版本控制、远程仓库管理与IDE集成
无论哪种方式,一旦项目开始,Git的工作流程都是相似的,涉及对工作目录的更改、暂存区的提交准备、本地仓库的提交记录以及与远程仓库的同步。(拉取操作确保你的本地代码库与远程代码库保持同步) 一般团队开发的过程中 项目会不定更新 拉取的目的在于 同比实时跟进最新的项目文件信息 这里我们只是做一个测试 所以用不到这个拉取)SSH公钥用于在不输入用户名和密码的情况下安全认证用户与其Git服务器之间的连接,它通过加密的方式确保了通信的安全性,并且提供了一种便捷的无密码登录机制。
2024-05-17 21:13:14 1184
原创 Git 版本控制工具
版本控制是记录文件和目录历史更改,它允许在开发过程中跟踪和管理不同版本的源代码;版本控制系统(VCS)提供了一种机制,可以查看代码随时间的变化,回滚到之前的版本,比较不同版本之间的差异,以及在必要时合并来自不同开发者的更改;: 文件或文件集合在版本控制系统中的一个特定状态::将修改、添加或删除文件 提交记录到版本控制系统中,形成一个新的版本:版本控制中的一个独立开发线,允许开发者在不同的特性或修复上并行工作。:将一个分支的更改应用到另一个分支上,通常用于将特性分支的更改合并回主分支。
2024-05-15 23:31:07 749 1
原创 Docker 第2篇 使用Docker实现第三方应用部署
选择Docker部署第三方应用主要是因为它确保了容器化的应用程序可以跨多种环境无缝部署,这得益于Docker容器的快速启动能力,它让部署和扩展服务变得迅速而灵活;共享宿主机操作系统内核的容器提高了资源利用率,同时加强了安全性,因为每个容器都是隔离的,攻击者很难影响到宿主机或其他容器;活跃的Docker社区提供了大量的工具和镜像。使用 Docker 部署 MySQL 数据库是一个相对简单的过程 从 Docker Hub 或其他 Docker 镜像仓库拉取 MySQL 的官方镜像。
2024-05-14 23:42:33 1112 1
原创 MybatisPlus 接口方法 主键策略 逻辑删除 Wrapper构造器
在 MyBatis-Plus 的查询操作中,被标记的字段会自动被考虑,以确保不会查询到被逻辑删除的记录。assertTrue("张三".equals(user.getName()) || "李四".equals(user.getName()));queryWrapper.and(wrapper -> wrapper.eq(User::getName, "张三"))queryWrapper.or(wrapper -> wrapper.eq(User::getName, "张三"))
2024-05-10 23:31:36 887 1
原创 vue3 封装api 接收后台接口验证码图片 响应失败
/ 设置状态码为500。rewrite: (path) => path.replace(/^\/api/, '') // 重写路径,移除 '/api' 前缀。// responseType: 'arraybuffer', // 告诉 Axios 返回类型为 ArrayBuffer。responseType: 'blob' // 因为返回的是字符串,所以设置responseType为text。target: 'http://localhost:8301', // 后台服务器的地址。
2024-05-05 22:30:57 801 2
原创 MybatisPlus 创建工程
outputDir(System.getProperty("user.dir") + "/src/main/java") //设置输出路径:项目的 java 目录下。.logicDeleteColumnName("deleted") //逻辑删除字段名。
2024-02-04 15:12:21 887 1
原创 Vue3 学习 基本类型响应式数据语法(ref ,reactive)
响应式”,就是指当数据改变后,Vue 会通知到使用该数据的代码。例如,视图渲染中使用了数据,数据改变后,视图也会自动更新:(数据响应式是指当数据发生变化时,相关的代码会自动感知到这个变化,并进行相应的更新。在 Vue 中,数据响应式是通过 Vue 的响应式系统实现的)。在vue2 中基本类型的响应式数据都是通过 在Vue data 实列中完成的 : 我们这里通过一个案例展示:在上面的示例中,我们声明了一个 `message` 属性,并将其绑定到 `<p>` 元素中。
2024-02-03 12:06:45 602 1
原创 Vue3 核心语法 setup函数概述
(return 必须在方法或参数下进行返回 不然会导致方法和参数失效 通过return 将我们的方法名 或参数名进行返回即可 在return 方法域 中定义 被调用方法名和参数名 )Setup : 将Vue 2中的 data 和 methods 选项中的相关代码迁移到Vue 3的。
2024-01-28 23:57:13 706 1
原创 Vue3 核心语法练习前章
方法区当中 当我们需要维护的时候就需要具体到那个方法去进行维护 并且需要对数据参数进行修改 这样就会导致非常麻烦: 使用Vue2 选项式语法 在大型前端开发的过程中 我们代码的复用性就比较差 维护起来麻烦的这种情况 特别是逻辑 全部拼凑在一起 非常拥挤;Vue2 相比较Vue3来讲 从代码理解上其实我更偏向于Vue2 这种风格的语法更适合初学者来进行 前端的一些设计和开发 相比较 Vue3来说 Vue2 更加容易上手。在一些大的项目中 通过Vue2选项式语法 所有的。
2024-01-26 23:45:07 323 1
原创 Vue 3.0 Viter构建项目
学习过Vue3 的朋友们都知道 Vue3是基于Vue2 的基础上演变的 在Vue2的基础上加入了许多的新特性: 最关键的部分就是采用了组合式编码风格的方式来进行前端的开发;Style组件用于设置组件的样式,它主要用于定义标签内容的格式。这三个大的组件部分在前端开发中经常被使用,它们分别负责展示、行为和样式方面的功能,共同构建了一个完整的前端组件。通过将它们结合使用;构建完项目将我们的构建的项目拖至我们的开发工具当中进行 语法展示: 这里我已经将项目拖拽至我的前端开发工具 Vscode当中。
2024-01-21 19:40:32 1065
原创 SpringCloud 微服务框架 (概念篇)
他们都需要将自身注册到 服务注册组件 中,这一步叫服务注册。这里配置中心 一般 在微服务框架中 因为每个业务子模块已经被拆分成一个独立的服务 并且每个服务进行独立配置 这里每个服务都会配置对应的数据库配置信息 日志和 服务ip配置 端口号等 .... 在系统中 本地静态配置,无法保证实时性 所以一般都会搭建配置中心 对这些拆分的服务模块 配置进行实时修改 当配置信息发生变动时,修改实时生效,无需要重新重启服务器,就能够自动感知相应的变化,并将新的变化统一发送到相应程序上,快速响应变化。
2023-12-27 17:38:30 941 1
原创 SpringMvc
而 jstl 是jsp核心的标签库 使用一些对jsp的一些相关页面的设计标签 和web springMVC的spring-webmvc:对MVC支持,包括restful协议;sevrlet和tomcat是相辅相成的 在web应用中 Tomcat实现的几个Java EE规范最重的是Servlet,因为实现了Servlet规范,所以Tomcat也是一个Servlet容器,可以运行我们自己编写的Servlet应用程序处理动态请求。配置好web我们在对应的home.jsp下就可以展示对应的数据集了。
2023-10-24 23:11:02 48
原创 Mysql SQL 调优
一般要看你是什么用途,如果数据量少的话可以子查询,或者经常用的数据就使用子查询,不经常用的就连接查询,适习惯而定,当然是指数据量少的情况下。但如果数据量大的话两者的区别就会很明显,对于数据量多的肯定是用连接查询快些,原因:因为子查询会多次遍历所有的数据(视你的子查询的层次而定),如果你的子查询是在无限套娃,且每张表数据量不大,使用子查询效率高。SQL优化作为数据库优化的一个重要环节,因为SQL优化不仅仅会提升查询数据的效率,而且会提升修改数据的效率,因为修改数据的时候就会先把数据查询数据出来再进行操作。
2023-10-19 00:03:35 61 1
原创 MYSQL 索引优化
使用函数: 在有一些场景下会使用到函数去匹配我们的数据 但是这样会导致我们的索引失效 这里通过name去对最左侧3个字符进行匹配 发现在使用函数以后这样会导致 type=ALL 全表扫描 因为索引在使用了函数 会导致索引会在每个节点进行运算 导致索引全表查询 和索引失效。列1:通过前模糊 进行查询 我们发现type=all 索引是失效的 因为B+树在使用字符进行索引的时候太会先找到最左侧第一个字符进行排序 当我们使用前模糊的时候 无法确认第一个匹配字符 只能够走全表扫描。
2023-10-17 21:21:11 90
原创 mysql基础篇 第2章
3.联表查询join关键字之间的使用和区别: 在关系型数据库当中 避免不了 表与表之间产生数据的联系 这些联系通常是根据 主表和次表之间的主外键关系来进行数据之间的关联 而这些主外键关联就需要使用 join 来进行连接 而jion 分为左连接 left join 和内连接inner join 还有右连接 rigth join full outer join 全连接 (冷门)比较运算符测试 列1 和列2 都是不等于运算的一种检索方式 不等于运算 <>!列五 综合测试 比较运算;
2023-10-15 14:44:50 68 1
原创 Mysql基础篇 一章節
概念: 操作数据库 是java开发中必要的一环 无论是前端还是后台的开发 都是需要和数据息息相关的 比如前端 数据的展示 后台 数据业务的操作 而数据库就是用来存储这些我们需要的数据的 可以说 在开发的过程中 假设比喻为造房子 数据库就是为了建造房子 需要的一些建筑材料 而后台 就是 使用这些建设材料为房子提供结构主体 提供一些个性化业务数据 前端 更类似于装修设计 让我们的数据更好的展示给用户。这里的登录MySQL的操作命令是mysql -uroot -p 后面是设置好的密码。
2023-10-14 01:27:57 48 1
原创 java的23种设计模式 第2章
通过此段代码我们可以发现创建空参构造方法以后 然后设置访问权限 将私有化权限设置取消 并且将我们的对象 获取到空参构造器内 发现对象的数据集 地址是不一样的 这样我们的单例就被反射给破坏了。这种方法也好解决 还是根据之前懒汉模式一样 设置synchronized 锁对类方法 进行判断 抛出异常这样就不会产生 反射破坏单例模式的异常问题 这里我自定义一个boolean值做判断。这样在运行的时候就会抛出这个反射的异常 其实解决这样并不能完全解决我们的反射异常 当我们修改权限 将私有化权限设置的时候。
2023-08-17 08:42:51 35 1
原创 TCP协议/UDP协议
概念: TCP网络协议 : 比如在生活中我们打电话 -- 连接通讯 ---接电话 属于TCP协议 这是一种概念 请求 到响应 整体 而UDP 比如我们在生活中发短信给别人 只负责发送 就可以了 只需要负责向 客户端或者具体的服务发送请求即可;ipv4网络ip地址 由4个字节组成 分为127 . 0 .0 .1 每一个逗号都是一个字节点 由0-255个数字组成的4个字节。在向下延展 ip端口分为: 公网IP 和私有网络IP。在使用百度的ip地址复现。
2023-08-15 20:18:48 49 1
原创 java语言的23种设计模式
单一职责原则 : 简单来说在设计方法的时候 尽可能保证他是不被多个不同业务方法所接受 尽可能让方法 职责单一 这样可以减少代码冗余 降低代码的耦合度和类的内聚性。模板方法模式 ,命令模式 .迭代模式 ,观察者模式 ,中介模式,备忘录模式 ,解释器模式 ,状态模式,策略模式,职责链模式 和访问者模式。里氏替换原则:简单来说就是 在继承父类的功能前尽量不修改父类的方法 创建新的方法替换原来的方法 抱证父类方法不被更改。分为适配器模式 ,桥接模式 ,装饰模式 ,组合模式 ,享元模式和代理模式。
2023-08-07 21:48:40 70
原创 SpringCloud 微服务
概念:随着技术的不断迭代企业应用架构的演变 从单体架构 到垂直架构 在到SOA架构 分布式架构 到目前的微服务架构 互联网技术的发展 企业应用的架构也在不断的更新 以便于达到满足当前用户的使用需求; 全章节 带大家认识微服务组件之间的使用 并且理解微服务架构的设计特点; 1:什么是微服务框架:微服务框架 它是基于springboot自动装配的原理基础上将 多个服务之间通过的微服务组件集成的一种架构,也可以理解为springboot 作为一个单体服务架构 其业务耦合度比较复杂 而springcloud 作为
2023-03-16 14:59:48 61
原创 Vue 组件通信 第2章
通过一个点击事件来分别对B 和C 组件进行传值 通过点击累加的方式来对数据进行跟踪 兄弟组件通过我们全局定义的bus.js 通过emit 方法传递数据给 其他兄弟组件 然后通过 引入的bus.js 通过on 方法来接受传递过来的方法 将组件A 中的条件引入到我们 并且拿到条件赋值的参数 在通过钩子函数 自动挂载 来实时监控数据有没有发生改变。这里组件C 和组件B 大同小异只需要关注 2者之间传递数据的方式即可;实际操作一遍会加深理解...... end....在我们的项目中创建bus.js 文件。
2023-03-14 19:25:53 55
原创 Vue 组件通信 方式 第一章
常用的组件通信 有父子组件通信,兄弟组件 隔代组件;我们就先拿父子组件通信方式举例子:我们先来理解一下什么是组件之间的关系:父组件 和子组件的关系可以理解为A 和B之间 或者 A和C之间的关系,关系不同组件之间的通信方式也不同!组件中的数据大都是从接口中导入,每个页面中有几十个几百个组件组合而成,若每个组件都依次从接口中调用请求数据,这样虽然和正常一样能达到目的,但会造成网络压力大、页面请求缓慢登问题,因此诞生了组件之间的通信;这里我们在通过一个小的案例演示一下子组件是怎么向父组件传递数据通信。
2023-03-11 01:08:01 77
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人