JAVAweb
2022-10-17 11:28:41 25 举报
AI智能生成
coco博
作者其他创作
大纲/内容
MySQL
数据库(统一的管理数据的集合)
网状结构:IDS
层次结构: IMS 树结构
关系结构:Oracle,DB2 MYSQL, SQL SERVER ,以表存储
非关系结构:Redis 以哈希表,键值对的方式存储哦
数据库管理系统
MYSQL:关系型数据库管理系统
SQL SERVER
Oracle
DB2
SQL(结构化查询语言)
DQL:数据查询语言 select
DML:数据操作语言 update delete insert
TCL:事务控制语言
DCL:数据控制语言
DDL: 数据定义语言
CCL:指针控制语言
SQLyog
数据查询DQL
基本查询
排序查询
<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">ORDER BY ACE (DESC)</font>
条件查询
模糊: <font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">LIKE</font>
分支<br>
子主题
枚举: <font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">IN(属性1,2,3)</font>
时间查询
字符串查询
聚合函数
SUM()
AVG()
MAX()
MIN()
COUNT()
分组查询(过滤)
<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">GROUP BY 分组列 HAVING 过滤规则</font>
限定查询
<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">LIMIT 起始行,行数;</font>
子查询(嵌套查询)
一个查询嵌套另一个查询,内层的查询称为子查询
子查询可以作为条件判断----<font data-darkreader-inline-color="" style="--darkreader-inline-color:#3dadad;" color="#3db6b6">(子查询)一行一列</font>
子查询作为枚举条件--- <font color="#3dadad" data-darkreader-inline-color="" style="--darkreader-inline-color:#3da6a6;">(子查询)多行一列</font><br>
子查询可以作为条件判断---- <font data-darkreader-inline-color="" style="--darkreader-inline-color:#963e3e;" color="#973e3e">all</font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#3dadad;" color="#3db6b6">(子查询)一行一列<br>--------------------------------</font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#953e3e;" color="#963e3e">any</font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#3dadad;" color="#3db6b6">(子查询) 一行一列</font>
作为一张临时表 <font color="#3ea0a0" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9d9d;">FROM (子查询)</font>
合并查询
SELECT *FROM 表一 <font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"> UNION </font> SELECT *FROM 表二;--去重
合并的两张表的列数必须相同,类型可以不同
SELECT *FROM 表一 <font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"> UNION ALL </font> SELECT *FROM 表二;--保留重复
连接查询
隐式链接(内连接)
<font color="#3e9d9d" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9a9a;">FROM 表一 ,表二 WHERE 表一.stu=表二.stu</font>
显示连接(内连接)
<font color="#3e9898" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9797;">FROM 表一 </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#a63d3d;" color="#ad3d3d">INNER</font><font color="#3e9898" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9797;"> JOIN 表二 ON 表一.stu=表二.stu </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#ad3d3d;" color="#b63d3d">AND/WHERE/HAVING</font><font color="#3e9898" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9797;"> 条件</font>
外连接
左外连接 <font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">FROM 表一</font> <font data-darkreader-inline-color="" style="--darkreader-inline-color:#9a3e3e;" color="#9d3e3e">LEFT </font><font color="#3e9696" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9595;">JOIN 表二 ON 条件</font>
右外连接 <font data-darkreader-inline-color="" style="--darkreader-inline-color:#9d3e3e;" color="#a03e3e">RIGHT </font><font color="#3e9595" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">JOIN </font>
自然连接
<font color="#3e9797" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9696;">FROM 表一 </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#a03e3e;" color="#a63d3d">NATURAL </font><font color="#3e9797" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9696;"> JOIN 表二 WHERE 条件</font>
数据操作(DML)
添加数据
<font data-darkreader-inline-color="" style="--darkreader-inline-color:#983e3e;" color="#9a3e3e">INSERT INTO </font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"> 表名 (属性1,属性二,属性3)</font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#973e3e;" color="#983e3e">VALUES</font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"> (值1,值2,值3);</font>
修改数据
<font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#953e3e">UPDATEE </font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">表名 </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#943e3e">SET </font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">列名=修改值 , 列名2=修改值 WHERE 条件</font>
删除数据
<font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#943e3e">DELETE</font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"> FROM 表名 WHERE 条件</font>
清空表
<font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#943e3e">TRUNCATE</font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"> 表名</font>
数据定义(DDL)
创建表
定义各个列的属性
表约束
实体完整性约束(行)
主键约束
方法一: 创建表 Sid INT <font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">PRIMARY KEY</font>
方法二: <font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">PRIMARY KEY( Sid)---</font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;" color="#943e3e">(多用于联合主键)</font>
方法三: 建表之后 <font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">ALTER TABLE student ADD </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#943e3e">PRIMARY KEY(id)</font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">;</font>
唯一约束
<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">Sname INT(10) </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#943e3e">UNIQUE; ----与主键不冲突</font>
自动增长列
在主键后面使用,不可单独使用 Sid INT <font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">PRIMARY KEY</font> <font color="#943e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;">AUTO_INCREMENT</font>
域完整性(列)
数据类型约束 <font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">数据类型(长度)</font>
非空约束 <font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"> NOT NULL</font>
默认值 <font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"> DEFAULT 值</font>
引用完整性约束(表与表)
<ol><li>外键约束:<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">CONSTRAINT </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#943e3e">引用表 </font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">FOREIGN KEY </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#943e3e"> (列名) </font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"> REFERENCES </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#943e3e">被引用表名(列名)</font></li></ol>
修改表 ALTER
删除表DROP
事务控制(TCL)
mysql是自动提交事务的,一条语句执行就会提交
<font data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;" color="#3e9494">原子性:</font><font color="#943e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;">一个事务内的操作不可分割,要么全部成功,要么全部失败</font>
<font data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;" color="#3e9494">一致性:</font><font color="#943e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;">事务内一个修改失败时,所有其他修改过的操作回滚到修改之前</font>
<font data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;" color="#3e9494">隔离性:</font><font color="#943e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;"> 事务查看数据时,只能是另一并发事务修改前或者修改后的数据</font>
<font data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;" color="#3e9494">持久性:</font><font color="#943e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;">持久性事务完成之后,对系统的修改是永久的 </font>
开启事务
<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">STRAT TRANSACTION;</font>----开启事务<br><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">TRANSACTION=0;-</font>---关闭自动提交<br><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">TRANSACTION=1;</font>----开启自动提交
提交 事务
<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">COMMIT;</font>
事务失败,回滚
<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">ROLLBACK;</font>
权限控制
创建用户
授予权限
撤销权限
删除用户
视图
概念:虚拟表,从一个表或多个表中提取出啦i,作用与表相同
创建视图: <font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">CREATE VIEW </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#943e3e">视图名</font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"> AS<br> </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#943e3e">SELECT...</font>
查看视图 :<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">SELECT *FROM </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#943e3e">视图名</font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">;</font>
修改视图:
<ol><li>方式一:<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">CREATE OR REPLACE VIEW </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#943e3e">视图名 </font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">AS </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#943e3e">查询语</font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">句</font></li></ol>
2.方二: <font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">ALTER VIEW </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#943e3e">视图名</font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"> AS </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#943e3e">查询语句</font>
删除视图: <font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">DROP VIEW </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#943e3e">视图名</font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">;</font>
数据库的备份与恢复
JDBC
概念
什么是JDBC:JAVA连接数据库技术(规范标准)
核心思想: Java中定义了访问数据库的接口,再又各关系型数据库提供<font color="#943e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;">(Driver驱动)</font>实现类
接口: <font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">Connection---l连接数据库<br> Statement----执行SQL语句<br> ResultSet-----接收查询结果</font>
JDBC的开发
url: <font color="#943e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;"> jdbc:mysql://</font><font color="#3e973e" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e963e;">localhost</font><font color="#943e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;">:3306</font><font color="#3e963e" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e953e;">/booksystem</font>?<font color="#943e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;">useSSL=false</font>&<font data-darkreader-inline-color="" style="--darkreader-inline-color:#3e3ea0;" color="#3d3da6">characterEncoding=utf-8</font>
封装工具类
连接方法
释放资源
与事务相关的4个方法
通用增删改查方法
ORM : 对象关系映射
<font style="">对结果集的遍历时,取出的都是一些零散的数据。<br><font color="#943e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;">开发时需要对这些零散数据进行封装</font></font>
实体类(<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">Entity</font>)---一张表反射一个实体类(需要内省)
表名----类名<br>属性名----列名<br>类型-----列类型<br>添加构造方法、get,set方法
常用包名:beans、entity、<font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#943e3e">domain</font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">、pojo</font>
DAO: 数据访问对象
定义专门的对象,实现与数据库连接修改操作
实现了<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">业务逻辑和访问数据库</font>相分离<font color="#943e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;">(降低耦合)</font>
创建Dao接口
创建Dao实现类
service:业务层
事务
connection对象.setAutoCommit(false);//关闭自动处理事务---手动提交事务
connection对象.commit();//提交事务
connection对象。rollback()//手动回滚
三层架构
界面层
业务层
数据访问层
<font color="#b71c1c">连接池</font>
德鲁伊连接池
阿帕奇工具类
HTML
简介:一门通过<font color="#943e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;">标记和标签</font>描述网页的<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">超文本</font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">标记语言</font>
<font color="#b93d3d" data-darkreader-inline-color="" style="--darkreader-inline-color:#af3d3d;">超文本</font>:页面内包含图片,连接,音乐,程序等非文字元素
<font color="#af3d3d" data-darkreader-inline-color="" style="--darkreader-inline-color:#a73d3d;">标记</font>:即标签,不同的标签实现不同的功能
<font color="#a73d3d" data-darkreader-inline-color="" style="--darkreader-inline-color:#a13e3e;">语言</font>:人与计算机交互的工具
书写规范:<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"><关键字></关键字></font>(通常成对出现)
<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">属性=”属性值“</font>
不区分大小写,建议全部<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">小写</font>
基本标签
文件标签
<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"><html><br> <head><br> //网页头标签 <br> <title>网页标题</title><br><br> </head><br> <br> <body><br>//网页主体<br> </body><br> <br></html></font>
排版标签
注释标签
<font color="#983e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#973e3e;"><!-- 注释内容 --></font>
换行标签
<font data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;" color="#3e9494"><br></font>
段落标签
<font color="#9d3e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#9a3e3e;"><p></p></font>
水平线标签
<font color="#a13e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#9d3e3e;"><hr></font>
width:宽度
size:粗度
color:颜色
align:对齐方式
大小:px(像素)
容器标签
<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"><div></font>行级块标签(<font color="#983e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#973e3e;">自动换行</font>)<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"></div></font>
<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"><span></font>行内块标签(<font color="#973e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#963e3e;">都在一行)</font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"></span></font>
文字及标题标签
标题标签:<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"><h1~5> </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#953e3e">n级</font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#953e3e;" color="#963e3e"> 标题</font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"> </h1~5></font>
文字标签:<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"><font </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#943e3e">size="2",face="字体"</font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">> </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#943e3e">文字标题 </font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"> </font></font>
文本格式化标签
加粗标签<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"><b></b><br> <strong></strong></font>
强调标签:<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"><em></em></font>
下标签:<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"><sub></sub></font>
上标签:<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"><sup></sup></font>
删除线标签:<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"><del></del></font>
列表标签
<font data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;" color="#3e9494"><ul </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#943e3e">type="类型"</font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;" color="#3e9494">><br> <li>苹果</li><br> <li>香蕉</li><br> <li>菠萝</li><br></ul><br>无序列表</font>
<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"><ol </font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#943e3e">type="类型"</font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">><br> <li>苹果</li><br> <li>香蕉</li><br> <li>菠萝</li><br></ol><br>有序列表</font>
图片标签: <img/>
src="文件路径"
子主题
连接标签<a href=”连接地址“></a>
表格标签
表格标签<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;"><table border=”边框“ width="宽度">-----</table></font>
<tr>行</tr>
<td>列</td>
<th>--列名--</th>
<caption >---标题---</caption>
表格合并
跨行合并:rowspan="行数"
跨列合并colspan="列数"
表单标签(重点)
登录表单
<form>表单</form>
action=”服务器地址“
method="提交方式"
enctype="提交类型"
<input type="类型"/>
子主题
框架标签
在同一个浏览器窗口中不止一个页面
<frameset>框架标签</frameset>
其他标签
CSS
简介:用来表现HTML和Xml等文件样式的计算机语言------<font data-darkreader-inline-color="" style="--darkreader-inline-color:#3dadad;" color="#3db6b6">层叠样式表</font>
美化页面
样式和页面相分离
导入方式
内联式:当前块有效
内部式:当前页面
外部式
链接式导入:link
导入式(不常用,淘汰)import
基本选择器
元素(标签)选择器: 标签{}
id选择器: #id名{}
class选择器 .class名{}
优先级:<font color="#3dadad" data-darkreader-inline-color="" style="--darkreader-inline-color:#3da6a6;">id选择器>class选择器>元素(标签)选择器</font>
属性选择器:
伪类选择器:
层级选择器:
后代选择器
子代选择器
文本属性
font-xxx
color
text-xxx
背景属性
background-xxx
列表属性
list-style-xxx
outline-xxx
浮动属性
float
clear:
定位属性
position
盒子模型
边框border
外边距margin
内边距padding
Selvlet
概念:Server Applet---服务器端的应用程序(代码、功能实现)
<font color="#3ea0a0" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9d9d;">B/S架构和C/S架构</font>
子主题
Web
万维网:表示共外界刚问的<font color="#3da6a6" data-darkreader-inline-color="" style="--darkreader-inline-color:#3ea0a0;">资源</font>
静态资源:HTML CSS JS
动态资源:Servlet JSP
<font color="#af3d3d" data-darkreader-inline-color="" style="--darkreader-inline-color:#a73d3d;">动态Web</font>开发技术,被称为<font color="#b93d3d" data-darkreader-inline-color="" style="--darkreader-inline-color:#af3d3d;">JavaWeb</font>
Web服务器(容器)
Tomcat(web主流服务器之一)
jetty(淘宝)
resin(新浪)
自己搭建服务器
Tomcat
目录结构
bin: 可执行文件
conf :服务器和Web项目配置文件
lib:存放运行所需的Jar包
webapps:存放Web项目-----地址栏默认访问ROOT项目
work:运行时生成的文件
使用
开启/关闭
修改默认端口号
部署项目到Tamcat
创建<font color="#943e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;">静态项目</font>------webapps文件下,<font data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;" color="#3db6b6">创建文件夹(直接放html文件)</font>
创建Web项目-----webapps文件下, <font color="#3dadad" data-darkreader-inline-color="" style="--darkreader-inline-color:#3da6a6;">项目文件夹下<br> WEB-INF<br> web.xml </font>
idea创建web项目
连接Tamcat服务器
创建java项目,右键改为web项目
为WEB-INF添加classes文件夹和lib文件夹
<font color="#3ea0a0" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9d9d;">配置项目</font>
创建Servlet类<font color="#3da6a6" data-darkreader-inline-color="" style="--darkreader-inline-color:#3ea0a0;">三种方式</font>
实现Servlet<font color="#b71c1c">接口</font>
继承GenericServlet
<font color="#3e9d9d" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9a9a;">继承HttpServlet---需要重写doGet()和doPost()方法</font>
web.xml文件配置
映射Servlet
设置错误网页
设置访问首页
导出项目war包
子主题
HTTP协议
超文本传输协议---基于TCP协议
请求方法 get()不安全 post()安全
三次握手四次挥手
请求报文:浏览器向服务器发送一个请求数据块----默认get
Servlet
创建Servlet类<font color="#3da6a6" data-darkreader-inline-color="" style="--darkreader-inline-color:#3ea0a0;">三种方式</font>
实现Servlet接口
继承GenericServlet
<font color="#3e9d9d" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9a9a;">继承HttpServlet---需要重写doGet()和doPost()方法</font>
配置Servlet的两种方式
web.xml中配置
通过<font color="#3e9a9a" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9898;">注解</font>直接配置(推荐)
<font color="#3e9898" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9797;">@web Servlet(”/XXXservlet“)</font>
请求request
request.getParameter("表单名")-------<font color="#3e9797" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9696;">根据表单名字获取请求的值</font>
request.setCharacterEncnding("utf-8")------设置提交请求的编码格式
<font color="#9d3e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#9a3e3e;">get请求</font>
铭文传递,效率高,数据放在url之后?拼接
<font color="#9a3e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#983e3e;">post请求</font>
打包发送,密文传递,安全,效率没有get高
响应response
<font color="#3e9696" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9595;">response.setContentType("text/html ; charset=utf-8")</font>----解决服务器响应乱码问题
转发
<font color="#3e9595" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">request.getRequestDispatcher(</font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#ad3d3d;" color="#b63d3d">"目标url"</font><font color="#3e9595" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">).</font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#a63d3d;" color="#ad3d3d">forward(request,response);<br>---------------------------------------------</font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;" color="#3e9494">include</font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#a63d3d;" color="#ad3d3d">----------------也行</font>
服务器的行为,只做了一次请求
地址栏不发生变化
<font color="#3dad3d" data-darkreader-inline-color="" style="--darkreader-inline-color:#3da63d;">常用两个Servlet之间传输数据</font>
重定向
<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">response.sendRedirect(</font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#a03e3e;" color="#a63d3d">"目标url"</font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">)</font>
服务区提供一个新的页面----客户重新请求
地址栏发生改变,始于两次请求
<font color="#3db63d" data-darkreader-inline-color="" style="--darkreader-inline-color:#3dad3d;">可以指向任何站点</font>
线程安全问题
synchronized 同步代码块------性能太低
实现SingleThreadModel接口------过时了
<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">尽可能使用局部变量(推荐)</font>
状态管理(会话机制)
概念:将浏览器与客户端之间的<font color="#a03e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#9d3e3e;">多次交互当作一个整体</font>来看
分类
客户端状态管理Cookie
服务器状态管理session
cookie(类)
创建cookie
查看cookie
删除cookie:删除cookie--创建同名cookie--name和路径相同
session<font color="#ad3d3d" data-darkreader-inline-color="" style="--darkreader-inline-color:#a63d3d;">(接口)</font>
<font color="#b63d3d" data-darkreader-inline-color="" style="--darkreader-inline-color:#ad3d3d;">session是服务器自动创建的,通过request获取session对象</font>
获取session
<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">有效时间</font>
创建时间
最后访问时间
session域对象
<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">session.setAttribute(</font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#a03e3e;" color="#a63d3d">"key","value"</font><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">)</font>
<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">session和request的区别</font>
session:一次会话
request:一次转发
过滤器filter
概念:介于客户端和服务器之间,限制访问
配置方式
web.xml配置
注解的方式<font color="#b71c1c">@webfilter(</font><font color="#3e9a3e">"过滤资源url"</font><font color="#b71c1c">)</font>
/servlet---精准过滤
*.html ,*.do---后缀过滤
<font color="#3e9a3e">/*</font><font color="#b71c1c">----过滤所有</font>
作用
<font color="#b71c1c">统一编码</font>
权限验证
<font color="#b71c1c">注意:一定要放行</font>
JSP
原理:TomCat会将JSP<font color="#3e9898" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9797;">转换成Java代码</font>,然后<font color="#3e9a9a" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9898;">编译成class文件</font>,左后在通过response响应给浏览器,所以<font color="#943e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;">本质上还是Servlet</font>
jsp 3---6--9
3个指令
<ol><li>page----与整个jsp相关的属性</li></ol>
2. include<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">动态包含-----将外部页面的代码引入</font>
3.taglib-----引入外部标签库
6个动作
<jsp:include><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">静态包含---<font style="">将外部页面的结果导入</font></font>
userBean
setProperty
getProperty
forword转发页面
param页内跳转
9大内置对象
<li>request</li><br> <li>response</li><br> <li>session</li><br> <li>application</li><br> <li>config</li><br> <li><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">exception</font></li><br> <li><font color="#a03e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#9d3e3e;">out</font></li><br> <li><font color="#9d3e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#9a3e3e;">pagecontext</font></li><br> <li><font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">page</font></li>
pagecontext可以<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">操作其他3个域对象</font>
<font data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;" color="#3e9494">pagecontext.findAttribute</font><font color="#9a3e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#983e3e;">("name");-----</font><font data-darkreader-inline-color="" style="--darkreader-inline-color:#3ea03e;" color="#3da63d">从4个域对象中取值</font>
服务器<font data-darkreader-inline-color="" style="--darkreader-inline-color:#3dad3d;" color="#3db63d">4大域对象</font>
session
pagecontext
request
application(<font color="#943e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;">ServletContext)</font>
<font color="#3ea03e" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9d3e;">EL表达式(重点)</font>
使jsp写起来更加简单,用于<font color="#3ea03e" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9d3e;">取域对象中的值</font>
取<font color="#983e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#973e3e;">基本类型</font>作用域值---<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">${"域对象name"}</font>
去<font color="#973e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#963e3e;">对象类型</font>作用域值-----<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">${"对象name.属性名"}----调用的是get方法</font>
获取<font color="#963e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#953e3e;">数组</font>或list<font color="#953e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;">集合</font>元素----<font color="#3db6b6" data-darkreader-inline-color="" style="--darkreader-inline-color:#3dadad;">${数组/集合name[下标]}</font>
获取<font color="#3dadad" data-darkreader-inline-color="" style="--darkreader-inline-color:#3da6a6;">Map</font>集合元素-----<font color="#3da6a6" data-darkreader-inline-color="" style="--darkreader-inline-color:#3ea0a0;">${name.get("key")}</font>
运算符的使用---${10*5}
EL的11个隐式对象
pagescope:pageContexr域对象
requestscoope:request域对象
sessionscope-----
applicationscope-------
param
paramValues
header
headerValues
ininParam
cookie
pageContext
JSTL标签库
一个<font color="#3ea0a0" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9d9d;">JSP标签集合</font>,可以对<font color="#943e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;">EL得到的数据进行逻辑处理</font>,域EL合作完成数据展示
使用方式
if----<font color="#3e9d9d" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9a9a;"><c:if test=条件> </c:if></font>
foreach
子主题
choose
url
子主题
文件上传
1编写文件上传表单
<font color="#943e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;">提交方式post</font>
<font color="#943e3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#943e3e;">表单提交类型---multiparty/form-data</font>
<font color="#3e9696" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9595;">type="file"</font>
2编写服务器接受程序
<font color="#3da63d" data-darkreader-inline-color="" style="--darkreader-inline-color:#3ea03e;">@MultipartConfig</font>(maxFileSize = 1024*1024*5,maxRequestSize = 1024*1024*20)<font color="#3dad3d" data-darkreader-inline-color="" style="--darkreader-inline-color:#3da63d;">设置单个文件大小,和总大小</font>
处理乱码
浏览器中获取表单的文件请求 <font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">request.getpart("name");</font>
创建上传文件的真实路径 request.getservletContext.getRealPath("WEB-INF/uplode")
创建文件夹
将文件写入路径文件夹<font color="#3e9a3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e983e;">part.write(真实路径+文件名part.getSubmitFilename())</font>
细节优化
同名文件,文件覆盖问题
工具实现唯一名字<br><br>
part.write(真实路径+处理过的文件名)
散列存储
通过hashcode创建2级,三级目录
限制上传文件类型
创建允许类型后缀名的list<String>集合
截取文件名的后缀<font color="#3ea03e" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9d3e;">part.getSubmittedFileName()</font>.<font color="#b93d3d" data-darkreader-inline-color="" style="--darkreader-inline-color:#af3d3d;">substring</font>(<font color="#3e9595" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">part.getSubmittedFileName().lastIndexOf(".")</font> + 1);
判断此后缀名是否存在集合中 list.contains(str)
多文件上传
<font color="#3e9d3e" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9a3e;">Collection<Part> parts = request.parts();</font>----获取所有表单元素为part集合
增强for循环遍历得到每一个part
<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">part.getSubmittedFileName</font>-为null为<font color="#3e9494" data-darkreader-inline-color="" style="--darkreader-inline-color:#3e9494;">基本元素----不为空为文件类型</font>
文件下载
讲web资源下所有的文件展示给用户看,(uplode中的内容)
下载
JS
JS基本语法
基本数据类型
引用数据类型
数组类型
函数
三种弹窗韩函数
alert("提示")
confirm("提示")---带有返回值
prompt(”提示“,”输入框“)---返回值为输入内容
事件
onclick--点击事件
onchange--改变事件
。。。。。。
正则表达式
var rep=正则表达式
<font color="#3e9595">rep.test("string")</font>-----返回<font color="#b71c1c">true或者false</font>
<font color="#3e9595">rep.exec("string ")</font>----还会<font color="#b71c1c">下标</font>,找不到返回<font color="#b71c1c">null</font>
DOM(重点)
概述 文档对象模型(document) 加载网页时创建,被构造为<font color="#3e9595">对象的树</font>
查找html元素
<font color="#3e9a3e">document.getElementById</font>---<font color="#3e9595">通过id(唯一)</font><br>
通过name--不唯一
通过class属性值不唯一
改变html元素
<font color="#3e9a3e">.innerHTML="信息"</font>
改变html属性
document.getElementById<font color="#3e9a3e" style="">.属性=”新的值“</font>
改变CSS样式
document.getElementById <font color="#3e9a3e">.style.color="blue"</font>
<font color="#b71c1c">DOM事件(重点)</font>
可以以通过<font color="#b71c1c">触发事件</font>来执行代码<br>点击<br>改变<br>页面加载完成
<font color="#b71c1c">onclick="</font><font color="#3e9a3e">document.getElementById("this").innerHTML="提示信息"</font><font color="#b71c1c">"</font>
事件监听器
element(元素).addEventListener(event, function, useCapture);
event:事件--点击、改变等等
function函数---事件触发后的函数
userCature:捕获方式--默认为false冒泡(<font color="#b71c1c">先响应内层</font>)
操作元素
<font color="#3e9a3e">创建元素</font>
追加元素
BOM
概念:<font color="#b71c1c">浏览器</font>上的操作,<font color="#3e9595">缩放窗口等操作</font>
window.
screen.availWidth--窗口宽度
screen。availHeight---窗口高度
window.location---页面的url
- ocation.hostname 返回 web 主机的域名<br>- location.pathname 返回当前页面的路径和文件名<br>- location.port 返回 web 主机的端口 (80 或 443)<br>- location.protocol 返回所使用的 web 协议(http:// 或 https://)<br>- location.href 属性返回当前页面的 URL<br>- location.assign() 方法加载新的文档
window.history
history.back()后退
history.forward()向前
AJAX
JSON
概念<font color="#b71c1c">JavaScrap对象标记--</font><font color="#3e9595">轻量级数据交换格式</font>
json语法
<font color="#3e9a3e">{}</font>:表示对象
<font color="#3e9a3e">[]</font>:表示数组
<font color="#3e9a3e">”“ </font>:表示属性名或者字符串类型的值
<font color="#3e9a3e">:</font> :属性名和值之间的分隔
本质是字符串
json解析(将json串与对象互相转换)
Fast JSON--阿里
子主题
Jackson--spring
概念:异步JS和Xml
AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
AJAX 是一种用于创建快速动态网页的技术。
jquery
<font color="#d32f2f">概述:一个框架,封装了js的框架</font>
安装
本地引入
dns引入
jQuery语法
jQuery的基本使用
jQuery选择器
jQuery事件
jQuery效果
滑动
淡入
淡出
隐藏显示
jQueryDOM操作
捕获
设置
添加
删除
CSS类
css()方法
<font color="#d32f2f">隔行换色</font>
<font color="#d32f2f">复选框全选全取消</font>
<font color="#d32f2f">省市级两级的联动</font>
jquery遍历
祖先
后代
同胞
过滤
jQueryAJax
get请求
<font color="#d32f2f">$.get( </font><font color="#3e9a3e"> url</font><font color="#d32f2f">, </font><font color="#3e9a3e">callback回调函数</font><font color="#d32f2f"> )</font>
post请求
<font color="#d32f2f">$.post(</font><font color="#3e9a3e">url, params, callback回调函数</font><font color="#d32f2f">)</font>
<font color="#3e9595">(重要使用)Ajax()</font>
子主题
注意 <font color="#d32f2f"> post,get,没有办法设置请求头,Ajax()可以设置</font>
jQuery noConflict方法
jQuery放弃使用$引用
方法一
<font color="#3e9595">$.noconflict()</font>
后续使用jquery.
方法二
<font color="#3e9595">var jq=$.noconflict()</font>
后续使用jq代替
方法三
<font color="#3e9595">jquery(document).ready(function($)){</font><br><br>//可以使用$<br><br><br>}
<font color="#d32f2f">validate插件</font>
作用:简化表单校验插件
使用步骤
导入validate.js----<font color="#d32f2f">(jQuery使用3.xxx高版本)<br></font><font color="#ffffff"> messages_ch.js----</font><font color="#d32f2f">(国际化问题,提示信息是中文) <br><br></font>
$.("选择器").validate();---选择器是<font color="#b71c1c">表单id</font>
在validate()中编写校验规则
<font color="#b71c1c">rules:{</font><br><font color="#3e9595">input的name值:“规则”</font><br><br><font color="#b71c1c">}</font>,<font color="#b71c1c">message{</font><br><font color="#3e9595">name:提示信息</font><br><font color="#b71c1c">}</font>
bootstrap
子主题
0 条评论
下一页
为你推荐
查看更多