合集-Java登陆
摘要:MySQL 是一种开源、免费的关系型数据库 官网https://www.mysql.com/ 由于是外网 国内下载很慢 可以使用国内镜像 阿里云镜像站:https://mirrors.aliyun.com/mysql/ 搜狐开源镜像站:http://mirrors.sohu.com/mysql/ 建
阅读全文
摘要:在传统开发中,一个普通的Java工程如下: src下建包,然后写代码,那么配置文件放在哪里?单元测试代码放在哪里?没有一个统一标准,更多时候都是自由发挥,每个人有自己的风格,这并不十分适合团队协作。 Maven主要作用 Mave主要做了两件事: 统一开发规范与工具 统一管理jar包 Maven 项目
阅读全文
摘要:SQL语句 SQL概括起来可以分为以下四组。(都是SQL,因为功能的不同,为了更好学习划分了类别) DDL——数据定义语言。用于定义数据的结构。 指的是增,删,改数据库 DML——数据操作语言。用于检索或修改数据。 指的是增,删,改数据 DQL——数据查询语言。用于查询各种形式的数据。 指的是查询数
阅读全文
摘要:SQL语句 SQL概括起来可以分为以下四组。(都是SQL,因为功能的不同,为了更好学习划分了类别) DDL——数据定义语言。用于定义数据的结构。 指的是增,删,改数据库 DML——数据操作语言。用于检索或修改数据。 指的是增,删,改数据 DQL——数据查询语言。用于查询各种形式的数据。 指的是查询数
阅读全文
摘要:SQL语句 SQL概括起来可以分为以下四组。(都是SQL,因为功能的不同,为了更好学习划分了类别) DDL——数据定义语言。用于定义数据的结构。 指的是增,删,改数据库 DML——数据操作语言。用于检索或修改数据。 指的是增,删,改数据 DQL——数据查询语言。用于查询各种形式的数据。 指的是查询数
阅读全文
摘要:分页查询 现实总是有很多数据,多数情况都需要用分页显示数据。(很多数据显示在一个页面不太现实。) --关键字LIMIT --索引总是从0开始的,页面大小为一页显示多少条数据 select 列名 from 表名 limit 索引,页面大小; 栗子:按照user_id降序排列,每页显示3条数据。 SQL
阅读全文
摘要:子查询 子查询就是在 where中再嵌套一个查询SQL,可以理解为Java中方法的返回值。 --甚至可以套中套 无限套 --被查询出来的表根据结果分为:单行子查询和多行子查询 select 列名 from 表名 where ( 另一个select语句 ); 准备数据 -- 创建Person crea
阅读全文
摘要:表复制 简单说就是:插入数据的是一个子查询 insert into 表名 (子查询); 栗子:复制pon表两次 SQL语句: insert into pon (select * from pon); 程序运行结果: 表去重 简单说就是:依靠另一张新表和distinct关键字+子查询 insert i
阅读全文
摘要:外连接 外连接分为左外连接和右外连接。 有的也叫联表查询,联表查询分为左表查询(左外连接)和右表查询(右外连接)。 准备数据 create table stu( id int, name varchar(32) ); insert into stu values (1,'jack'),(2,'tom
阅读全文
摘要:约束 约束用于确保数据库的数据满足特定的规则,多个约束可以作用于一个字段上。 在mysql中,约束一般有: primary key(主键) not null(非空) unique(唯一) foreign key(外键) primary key(主键) 主键指定的列,它会唯一标识每一行。 主键拥有以下
阅读全文
摘要:事务 在日常生活中,事务就是一件件要做的事情。 在数据库中,事务指的是一条条SQL语句。 事务的功能 事务用于保证数据的一致性,它由一组DML语句组成。 该组DML语句要么全部成功,要么全部失败。 事务就是为了解决上述问题。 事务的解释 如果直接回到记录点A。A后的记录点都会被删除。 当执行事务操作
阅读全文
摘要:事务保障了每次DML操作的可靠性,即便出现了异常也可以通过回滚记录点避开异常。 并发下事务会产生的问题 会话A和会话B都进行了事务操作,并且操作的是同一个资源,在并发下会出现以下问题: 脏读 不可重复读 幻读 脏读 事务A读取到了事务B没有提交的数据,这就是脏读。 不可重复读 一个事务读取了两次某个
阅读全文
摘要:SQL语句 SQL概括起来可以分为以下四组。(都是SQL,因为功能的不同,为了更好学习划分了类别) DDL——数据定义语言。用于定义数据的结构。 指的是增,删,改数据库 DML——数据操作语言。用于检索或修改数据。 指的是增,删,改数据 DQL——数据查询语言。用于查询各种形式的数据。 指的是查询数
阅读全文
摘要:JDBC JDBC本身是Java提供的一套标准接口,由不同数据库厂商提供接口的具体实现。 至此,开发者只需调用JDBC就可以完成对各种数据库的操作。 mysql-jdbc-maven坐标 <!-- Mysql版本:5.7.36 --> <dependency> <groupId>mysql</gro
阅读全文
摘要:ResultSet接口常用方法 ResultSet存放的是DQL查询结果的结果集。常用方法如下: 方法 类型 描述 boolean next() throws SQLException 普通方法 指针移动到下一行(没有下一行返回false) int getInt(String columnLabel
阅读全文
摘要:PreparedStatement 为了避免SQL注入,Java提供了PreparedStatement接口。 PreparedStatement继承Statement。 PreparedStatement通过占位符、预处理SQL的方式比Statement更安全,更效率。 select * from
阅读全文
摘要:网络 由两台或者更多的计算机组成的网络,称之为计算机网络。 在同一个网络中,不同的计算机可以互相通信。因为他们使用的都是相同的协议。 (通信:两台设备之间通过网络实现数据传输。) 假设某处的一个计算机网络使用的网络协议为ABC。那么另一处网络协议为EFG的计算机网络,就无法与该ABC网络协议进行通信
阅读全文
摘要:Java提供了java.net包,专门用来进行网络开发。 InetAddress InetAddress类主要表示IP地址。InetAddress类常用方法如下: 方法 类型 描述 public static InetAddress getByName(String host) throws Unk
阅读全文
摘要:DatagramSocket 使用DatagramSocket(数据套接字)可以进行UDP程序的开发,此类可以建立单向地、不可靠地、快速地通信。 在UDP编程中,混淆了服务端和客户端的概念。因为通信是单向的,所以身份可以随时切换。 (也有人把TCP称作服务端客户端,UDP称作发送端和接收端) Dat
阅读全文
摘要:疏通逻辑。完成QQ用户登陆1-7 韩顺平网络编程-多用户通信
阅读全文
摘要:完成获取在线用户1-3,无异常退出1-2 韩顺平网络编程-多用户通信
阅读全文
摘要:完成私聊1-2,群发消息,发送文件1-2 韩顺平网络编程-多用户通信
阅读全文
摘要:maven+Mysql+JDBC+多线程+IO流。 韩顺平多用户通信完成,完成补充功能离校消息和离线文件。 打算学习完正则表达式后继续完善。 韩顺平网络编程-多用户通信
阅读全文
摘要:在java.util.regex包下,提供了正则表达式对字符串进行约束规范匹配 正则表达式必须依靠Pattern类和Matcher类。 Pattern Pattern类的主要作用是编写正则规范。常用方法如下: 方法 类型 描述 public static Pattern compile(String
阅读全文
摘要:在实例化Thread类时,需要传入一个Runnable接口的实现类。 public Thread(Runnable target) 实际开发中,通常是使用匿名内部类实现Runnable接口。 栗子: public class Test27 { public static void main(Stri
阅读全文
摘要:使用IDEA新建一个空的Web项目,并填写路径与项目名称 进入项目后,在根目录新建一个HTML页面,取名为index 就可以得到一个最基础的HTML页面 在IDEA中,使用浏览器打开此页面 页面内容如下: 如何修改浏览器选项 File-Settings-Tools-Web Browsers HTML
阅读全文
摘要:文本标签 文本常用的HTML标签: 标签名 标签描述 <h1></h1> 标题标签 <h6></h6> 标题标签 <p></p> 段落标签 <hr> 换行标签 <br> 换行标签 标签栗子: <!DOCTYPE html> <html lang="en"> <head> <meta charset=
阅读全文
摘要:CSS CSS是一种可以给HTML每个元素添加样式的语言。 不必记住每一个CSS,使用查阅文档即可。菜鸟教程CSS文档 CSS语法 选择器是需要改变样式的HTML元素。 每一条声明由属性和值组成,分号结尾,并由花括号包括。 属性:指的是样式属性,并不是HTML中的标签属性 如何在HTML中使用CSS
阅读全文
摘要:JS JavaScript(简称JS)也可也叫ECMAScript(简称ES)。以下统称为JS JS相当于是前端页面的补充,它可以让一个普通的页面在后台执行一些功能,例如点击一个按钮,会执行某些下载文件;页面跳转;页面弹窗等操作。 JS本质上新的前端语言,和Java没有半毛钱关系。 在菜鸟教程中三剑
阅读全文
摘要:JS中声明对象的两种格式 方法1,new object()然后依次添加属性或方法 栗子: <script> //初始化对象 var user=new Object(); //给对象添加属性并赋值 user.name="张三"; user.age=18; //给对象添加方法 user.say=func
阅读全文
摘要:BOM BOM指的是浏览器对象模型,在JS中可以通过BOM操作浏览器。菜鸟教程JSBOM 一般BOM指的都是window对象(window对象是浏览器自动生成的浏览器对象)菜鸟教程JSBOM更多对象 Window对象常用方法 方法名 描述 alert(message) 显示带有一段消息和一个确认按钮
阅读全文
摘要:Java项目开发后,需要部署到服务器中,服务器需要有最基本的操作系统。 单一的操作系统还不够,因为Java项目经过JVM编译后的是.class文件(字节码文件)。 字节码文件的运行需要Java运行环境(JRE)。 有了JRE还是不够。不是所有的项目都可以直接运行,还需要服务器软件 服务器软件Tomc
阅读全文
摘要:Http是一种基于TCP/IP的协议。所以,它有客户端和服务端。 Http的交互方式 客户端向服务端发送的总是请求;服务端向客户端返回的总是响应 Http的版本 HTTP/0.9:初代目 单行HTTP,只能返回一个HTML页面 HTTP/1.0:二代目 每次请求和响应都会建立和关闭一次连接(短链接)
阅读全文
摘要:静态资源和动态资源 静态资源 程序运行之前就存在于服务器之中的资源。 例如html、css、js、img、音频文件和视频文件等。 动态资源 不是指动画,运动的效果。 程序运行之前无法确定其数据,通过代码动态的生成数据。 程序运行时,通过代码生成的资源。 例如Servlet、Thymeleaf(模板引
阅读全文
摘要:正常的Servlet映射 <!-- 1.servlet-name 用于关联映射路径 1.servlet-class 告诉Tomcat要实例化Servlet类的全类名 2.url-pattern URL路径 --> <servlet> <servlet-name>Test1</servlet-name
阅读全文
摘要:Servlet是运行在Web容器(指Tomcat)的,其生命周期由Web容器控制。 Servlet生命周期 Servlet生命周期解析 【下文中一个Servlet均特指一个实现了Servlet接口的类】 构造 Tomcat会使用反射实例化一个Servlet 而实例化类必先会调用某类的构造方法 初始化
阅读全文
摘要:Servlet继承关系树: Servlet接口 查看Servlet源码 public interface Servlet { void init(ServletConfig var1) throws ServletException; ServletConfig getServletConfig()
阅读全文
摘要:ServletConfig ServletConfig是web.xml中,Servlet的初始化参数对象(每个Servlet都各自拥有至少一个ServletConfig对象) web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns=
阅读全文
摘要:HttpServletRequest Tomcat会自动将客户端请求报文封装为HttpServletRequest对象。 HttpServletRequest中请求行常用方法 方法 描述 String getMethod() 获取请求方法 String getProtocol() 获取请求协议及版本
阅读全文
摘要:请求转发和响应重定向都是间接访问项目某资源的手段 请求转发 顾名思义,是客户端请求的转发,所以此方法是HttpServletRequest的一个方法 方法 描述 RequestDispatcher getRequestDispatcher(String var1) 获取请求转发对象,var1是资源地
阅读全文
摘要:会话 一次会话是客户端与服务端的连接建立与结束,在这次会话中可以有多次请求与响应。 HTTP是一种无状态协议 HTTP协议不对请求和响应之间的通信状态进行保存,以至于尽管是同一个客户端,但它的每次会话都会被当作一次新的会话 (简而言之就是服务端不会认识客户端) 有的时候,我们需要保存客户端的信息。
阅读全文
摘要:什么是域 域特指范围 什么是域对象 对象的范围。而对象的功能一般都是用于保存数据的,所以传递对象就可以传递数据。 而根据传递数据范围的不同,把域对象分为三块。也就是三大域对象。 三大域对象 它们分别是: 域对象 描述 HttpServletRequest 请求域 HttpSession 会话域 Se
阅读全文
摘要:Filter即过滤器,专用于控制访问资源。 人话:过滤客户端的请求。 生活中的过滤器 筛子 地铁闸门 公司前台 保安 以上举例都是生活中的过滤器。 在代码中,过滤器的作用是控制访问资源。 Filter 所有的过滤器都要实现Filter接口,Filter接口方法如下: 方法名 描述 default v
阅读全文
摘要:逻辑上与JS中的事件差不多。 被监视的对象触发某些情况,自动执行监听器。 不同于JS的事件,监听器只负责监听三大域对象的相关事件,例如: 域对象的创建 域对象的销毁 域对象数据增删改 八个监听器 Tomcat提供了八个监听器接口作为监听器的规范。 应用域域监听器 ServletContextList
阅读全文
摘要:AJAX菜鸟教程 Ajax 全名Asynchronous JavaScript and XML(异步的 JavaScript 和 XML) 通过ajax可以向服务器发送异步请求。 ajax最大的优势:在不刷新整个页面的情况下,可以与服务器产生数据交互,从而完成网页的局部更新。 ajax并不是新的语言
阅读全文
摘要:现如今项目结构臃肿,MAVEN中拥有前端+后端代码。 为了提高效率和降低成本,前端也需要结构化的管理,但MAVEN管理前端较为麻烦 工程独立之后也就是前后端分离。 前后端分离的优点 开发分离(最好人也分离) 部署分离 前端工程化实现技术栈 前端工程化实现的技术栈有很多,我们采用ES6+nodejs+
阅读全文
摘要:所谓ECMAScript6也就是JS6。这次更新带来了大量的新特性,使JS代码更简洁,更强大。 复习JS请走:JS入门 JS6文档请走:JS6菜鸟教程 ES6新增了let和const关键字,用作声明变量 let 相较于var,let声明的变量更规范。ES6更推荐使用let。 let不可重复声明 le
阅读全文
摘要:所谓ECMAScript6也就是JS6。这次更新带来了大量的新特性,使JS代码更简洁,更强大。 复习JS请走:JS入门 JS6文档请走:JS6菜鸟教程 reset 同Java中的可变参数。 public static void tell(String... info){ System.out.pri
阅读全文
摘要:对象的拷贝,就是复制一个已有对象的方式。 JS中对象的拷贝 <script> console.log("1.浅拷贝,对象仅拷贝引用地址,基本类型拷贝的是值"); let door1=["木门"]; let door2=door1;//浅拷贝 仅仅是拷贝引用地址 door2[0]="铁门"; cons
阅读全文
摘要:模块化是管理JS代码的一种手段,把代码拆分成小模块,提高代码维护性,复用性,拓展性。 模块类似与Java的包,可以从外部导入。 模块有三种导出方式 分别导出 统一导出 默认导出 三种导出方式可以混用。 模块化的关键字有export、import、as和default。 ES6的模块会自动开启严格模式
阅读全文
摘要:Nodejs是JS的运行环境,使得JS可以运行在服务端。可以跨平台,,成为一款全栈编程语言。 Node.js安装 Nodejs官网,进入👈网站后ctrl+F搜索需要的版本即可;(本人是v18.16.0/node-v18.16.0-x64.msi) nodejs安装配置菜鸟教程。 关于Automat
阅读全文
摘要:Vue Vue是基于标准 HTML、CSS 和 JavaScript 构建的前端框架,可以更高效地开发前端页面。 Vite Vite是Vue团队开发的项目管理工具。 Maven的主要功能 引入依赖 项目管理 使用Maven可以工程化的管理后端代码。 npm的主要功能:引入依赖 vite的主要功能:项
阅读全文
摘要:项目结构 使用Vite创建Vue3+JS默认项目结构如下:(vmoudle1是项目名) Vue中提出了组件的概念。 组件是代码复用的一种方式,用于抽象出一个可复用的UI,方便在不同的场景中进行重复使用。 组件根据大小可被分为:(从小到大) 1.组件 2.布局组件 3.页面级别组件 .vscode 忽
阅读全文
摘要:Vite创建的默认Vue3项目中package.json文件信息如下: { "name": "vmoudle1", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build":
阅读全文
摘要:在一个.Vue文件中,通常包括以下三部分。 <template> <style> <script> .vue中部分 传统部分 描述 <template> HTML 代替传统的.html文件 <style> CSS 代替传统的.js文件 <script> JS 代替传统的.css文件 声明内部的CSS
阅读全文
摘要:当浏览器接收到服务端返回的页面后,浏览器会把页面解析成DOM树,DOM树中各个元素会相应的显示在浏览器上。 VUE提供的响应式数据可以在页面不刷新的情况下更新数据。 响应式数据 App.vue <script> //等价于setup语法糖。固定的写法,不会改。 export default { se
阅读全文
摘要:插值表达式 VUE中最基本的数据绑定形式。 语法格式如下: {{ 数据来源 }} 插值表达式的特点: 不依靠标签。 可以调用函数。 支持运算符。 栗子 App.vue <script setup> let msg = "字符串"; let num = 10; function f1() { retu
阅读全文
摘要:响应式数据 什么是响应式数据? 当数据发生改变时,DOM树的内容,会和数据同步更新。 vue3不是自动响应式数据,需要经过函数处理得到响应式数据对象。 ref和reactive 这两个函数都会返回响应式数据对象,但也有不同。 ref ref通常用于将一个基本类型转为响应式数据对象。 基本类型包括:数
阅读全文
摘要:单向绑定 之前学习的栗子,都是单向绑定。 单向绑定: 响应式数据对象的变化会更新dom树,用户的某些操作造成的数据更新,不会同步更新到响应式数据对象。 栗子 App.vue <script setup> import {ref, reactive} from 'vue'; let msg = ref
阅读全文
摘要:生命周期 之前在Servlet等也学习过生命周期,相同的,VUE组件也有生命周期。 VUE组件完全解析到浏览器,会经过如下过程。(简单理解) vue组件被实例化的过程,称为,组件实例化。 组件实例解析到浏览器中,称为,挂载。 组件实例从浏览器中删除,称为,卸载。 钩子函数 vue组件解析到浏览器的这
阅读全文
摘要:什么是路由? 类似于Servlet的映射路径。 路由可以让,不同的URL展示不同的页面。 Router Router是Vue衍生的生态系统之一,所以需要单独安装。 路由案例需求 1 安装依赖 还记得npm安装依赖指令吗?看这。 npm i vue-route 1-1 编写组件 略 2 编写路由配置
阅读全文
摘要:在上一章节,<router-link to="/left">左</router-link> 这种这种路由,to中的内容目前是固定的。被称之为声明式路由(或普通路由) 编程式路由 编程式路由,可以按需决定某组件的路由地址。 vue-router提供了一个函数:useRouter 语法格式如下: //该
阅读全文
摘要:路由守卫就是在切换页面的期间,执行的函数。 类似于Vue的钩子函数 类似于Setvlet的Filter(过滤器) 路由守卫 路由守卫,就是在路由切换期间执的函数。 由vue-router提供的两个常见守卫(函数): 全局前置守卫beforeEach和全局后置守卫afterEach 语法格式如下: /
阅读全文
摘要:需求 未登录无法访问除login页面 练习 1.使用vite创建项目,导入依赖 npm create vite 选择vue+js npm i 导入基本依赖 npm vue-router 导入路由依赖 2. 创建组件,login.vue、home.vue、list.vue 仅展示home.vue组件,
阅读全文
摘要:在学习axios之前,需要学习ES6提供的Promise对象。 普通函数和回调函数 学习Promise的预备知识,回调函数 普通函数 普通函数: 正常调用的函数,普通函数执行完毕后才会继续执行下一行代码。 按照编码顺序执行。 function f1() { console.log("普通函数f1执行
阅读全文
摘要:Vue 推荐使用 axios 来完成 ajax 请求。 axios中文文档 Axios Axios是一款基于Promise,用于发送HTTP请求和处理HTTP响应的工具库。 内部也是使用原生的ajax对象发送HTTP请求。 所以,在使用它前需要导入依赖。 npm install axios 提供了一
阅读全文
摘要:如果想在axios发送HTTP请求之前。或者是接收响应之前做一些额外的工作,可以通过拦截器完成。 Axios拦截器分为请求拦截器,响应拦截器。分别在请求或响应时生效。 一图了解Axios拦截器 提供了两种文本函数:名字太长,直接看语法 语法格式如下: //请求拦截器,f1对应请求发送 成功 函数,f
阅读全文
摘要:浏览器拥有最基本的安全机制,同源策略。 违背同源策略的交互,会被浏览器认为是不安全的交互,所以不解析。 什么是域?(源) 协议,域名,端口。 什么是跨域? 访问不同的域。 即便协议,域名相同,端口号不一样也会违背同源策略。 前后端分离后,前端服务器负责视图,后端服务器负责数据。 不同的服务器,其域必
阅读全文
摘要:到目前一共学习了两种传参方式。 1.组件传参 2.路由传参 这两种传参方式并不好用,所以出现了Pinia Pinia平替了Vuex,而且比它更优秀。 Pinia是Vue衍生的生态系统之一,所以,在使用它前需要导入依赖。 npm i pinia 简单地说,Pinia就是共享数据。各个.vue组件可以利
阅读全文
摘要:微头条项目链接 作为JavaWeb的收官之作,这里记载了写项目时遇到的问题。 前提:使用maven进行依赖管理 1.JJWT导入依赖太少 最初只导入了 <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-api</arti
阅读全文
浙公网安备 33010602011771号