JDBC - java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

问题

通过IDEA将Java连接MySQL的链接驱动 mysql-connector-java-8.0.21.jar导入lib目录下,并且导入到了项目库

在连接库时报错

java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

在网上查询了很多办法都没奏效

但是我将mysql-connector-java-8.0.21.jar导入到tomcat根目录下的lib文件夹之后重新运行了一下服务器,结果就.. 就通了

不知道是什么原因,也不知道问题在哪,现在还是小白一枚,这篇文档就做个存档吧,希望大佬能解惑

Apple Silicon (M1)的适配情况:推荐一个查询网站

最近在蹲新款的Macbook,因为用了自研的M1,虽然性能强的一批,但是还是有些担心软件的适配情况

我在四处乱撞的时候发现了这个网站

Does it ARM? - Apps that are reported to support Apple Silicon

这个网站可以查询你需要的APP是否支持Silicon,或是运行在Rosetta2中,以及官方披露是否有适配的计划等信息

个人感觉没有Windows依赖,或者有别的Windows实例的话,今年新款的Mac系列还是蛮香的

从侧面也可以看出苹果在其软件生态领域的地位

不知道Intel和AMD心里怎么想😈

解决MacOS 10.14版本以后,提示 您没有权限来打开应用程序 “XXX”

如果没有root权限(有的跳过)

1
2
3
sudo -i
#
sudo base

终端中输入以下命令

1
xattr -cr /Applications/AppName.app

AppName.app位置替换成有问题的APP的名字,如

1
2
xattr -cr /Applications/Applications/Parallels\ Desktop.app/
# 反斜杠是空格的意思

如果没解决,再输入:

1
sudo chmod + x "/Applications/AppName.app/Contents/MacOS/目录下的可执行文件"

如何查看目录下的可执行文件名字

  1. 输入MacOS/后直接按tab会自动补全

    1
    sudo chmod + x "/Applications/AppName.app/Contents/MacOS/ #后直接按tab
  2. 单纯想查看里面的文件

    1
    ls /Applications/AppName.app/Contents/MacOS/

让Hexo一直在后台运行

搭建完hexo后发现,只要断开ssh连接后就会失去hexo的进程

可以通过pm2插件解决这个问题

转移到Hexo的根目录

1
cd /你的hexo目录

安装PM2

1
npm install -g pm2

新建一个可执行脚本

进入vi

1
2
vi runhexo.js
# runhexo.js文件名字自定 后面运行pm2需要用到这个脚本

vi的基础用法

  • 进入编辑模式

    进入后,可以看到光标为宽光标,按 i 键以后可以进入编辑模式

    此时光标进入窄光标,左下角出现 – INSERT –

  • 编辑器不同,可能无法使用粘贴指令

  • 退出编辑模式

    按esc键退出编辑模式,光标重新变成宽光标

    此时可以输入别的命令,并且在左下角可见

  • 退出vi

    输入

    :wq : 强制保存退出(推荐)

    :q :保存退出

输入以下代码

1
2
3
4
5
6
7
8
9
10
//runhexo
const { exec } = require('child_process')
exec('hexo server',(error, stdout, stderr) => {
if(error){
console.log('exec error: ${error}')
return
}
console.log('stdout: ${stdout}');
console.log('stderr: ${stderr}');
})

PM2命令

运行

1
pm2 start runhexo.js

重启

1
pm2 restart runhexo.js

停止

1
pm2 stop runhexo.js

运行pm2后就可以退出shell终端了,并且不会影响hexo的运行

通过$event解决select的级联操作

实现思路是通过$event中关于value(类似于vfor中index的值)来索引对应的下级目录

1
2
3
4
5
6
<select @change="select($event)">
<option v-for="(data,index) in datas">{{data.province}}</option>
</select>
<select>
<option v-for="(city, index) in datas[value].city">{{city}}</option>
</select>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<script>
let app = new Vue({
el: "#app",
data: {
datas: [
{ province: "辽宁", city: ["沈阳", "大连"] },
{ province: "吉林", city: ["四平", "长春", "四平东"] },
{ province: "黑龙江", city: ["哈尔滨", "大庆", "齐市", "黑河"] }
],
value: "0" //因为市级菜单在初始时就加载了,通过select的赋值只有选择菜单时才会发生,所以先赋初值
},
methods: {
select: function (event) {
this.value = event.target.value;
/*
* 将$event传参过来以后会获得很多值
* 我们需要datas中所选择省份的下标就存在于event.target.value中
*/
}
},
})
</script>

MySQL:数据库

数据库概念

数据库 DB

  • 数据库(DataBase) 简称DB
  • 按照一定格式存储数据的一些文件的组合
  • 存储数据的仓库,实际上就是一堆文件,这些文件中存储了具有特定格式的数据

数据库管理模型 DBMS

  • 数据库管理模型 (DataBaseManagment) 简称DBMS
  • 数据库管理系统是专门用来管理数据库中的数据的,数据库管理系统可以对数据库当中的数据进行增删改查
  • 常见的数据库管理系统
    • MySQL、Oracle、MS SQL Server、DB2、sybase等

结构化查询语言 SQL

SQL(Structured Query Language) 结构化查询语言,用于存取数据、更新、查询和管理关系数据库系统的程序设计语言

  • 程序员需要学习SQL语句,程序员通过编写SQL语句,然后DBMS负责执行SQL语句,最终来完成数据库中数据的增删改查操作
  • SQL是一套标准,程序员主要学习的就是SQL语句,这个SQL在mysql中可以使用,同时在Oracle中也可以使用,在DB2中也可以使用

三者之间的关系

DBMS == 执行 ==> SQL == 操作 ==> DB

MySQL安装

下面都是需要更改的部分,没提的位置全部下一步&完成

  1. 安装类型选项,选精简就好

截屏2020-11-20 下午9.49.14

  1. 更改字符集为UTF-8 后期避免乱码的问题

截屏2020-11-20 下午9.57.47

  1. 勾选加载系统变量的勾,免去后期操作

截屏2020-11-20 下午9.59.15

截屏2020-11-20 下午10.03.21

  1. 设置账户

截屏2020-11-20 下午10.00.42

MySQL卸载

  1. 运行安装包或者卸载程序进行卸载

  2. 打开隐藏文件夹选项,删除

    C:\ProgramData

    C:\Program Files(x86)

    两个目录下的MySQL目录

启动&停止 MySQL

cmd或powershell下命令:

下文中的MySQL是默认服务名

如在安装步骤3中更改过名称 下方的MySQL也需要对应更改

net start MySQL // 启动服务

net stop MySQL // 停止服务

SQL基本命令

语句基本常识

  • SQL语句大小写不敏感,但是系统词汇我们通常用大写

  • SQL命令可以多行输入,如需执行命令,在命令的最后一行结尾输入 ; 并回车

    1
    2
    3
    4
    mysql> SHOW DATABASES
    -> ;
    /*或者*/
    mysql> SHOW DATABASES;
  • 因为SQL是查询语言,所以返回内容都为查询结果

    1
    Query OK,1 row affected (0.00sec) -- 查询OK,有一条语句被影响

登陆mysql

1
mysql -uroot -p1234

-u后面跟用户名

-p后面跟密码 明文输入密码

如果-p后面不跟信息输入回车,会在第二行出现密文的密码输入提示

查看所有数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mysql>SHOW DATABASES;

# 显示初始数据库中所有的内容
+--------------------+
| Database |
+--------------------+
| information_schema | -- 信息数据库 保存所有数据库中的元数据
| mysql | -- 核心数据库
| performance_schema | -- 性能优化 5.5版本新增
| sys | -- 可以快速了解元数据信息的系统库 5.7版本新增
| sakila | -- 样板数据库
| world | -- 国家信息数据库
+--------------------+
6 rows in set (0.00 sec)

新建数据库

1
2
3
4
5
6
7
8
9
create database mydb; -- 创建一个数据库mydb
create database mydb1 CHARCTER SET gbk; -- 创建一个编码集为GBK的数据库mydb1
create database mydb1;
==> Cant create dtabase 'mydb1',database exists
-- 不能创建mydb1,因为数据库已经存在
create database if not exists mydb1;
-- 如果mydb1不存在,创建mydb1
==> Query OK,1 row affected, 1 warning
-- 因为已经存在mydb1,所以并没有被再次创建,而是一条警告语句

查看数据库的创建信息

1
2
3
4
5
6
7
show create data mydb1;
+----------+-------------------------------------------------------------+
| Database | Create Database |
+----------+-------------------------------------------------------------+
| mydb1 | CREATE DATABASE `new` /*!40100 DEFAULT CHARACTER SET gbk */ |
+----------+-------------------------------------------------------------+
1 row in set (0.00 sec)

修改数据库

1
2
3
4
5
6
7
8
alter database mydb1 character set utf8;
show create data mydb1;
+----------+--------------------------------------------------------------+
| Database | Create Database |
+----------+--------------------------------------------------------------+
| mydb1 | CREATE DATABASE `new` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+--------------------------------------------------------------+
1 row in set (0.00 sec)

删除数据库

1
drop database mydb1;

查看当前使用的数据库

1
2
3
4
5
6
select database();
+------------+
| Database() |
+------------+
| NULL |
+------------+

因为没有选择想要使用的数据库,所以为NULL

使用数据库

1
2
3
4
5
6
7
8
use mydb;
==>Database changed
select database();
+------------+
| Database() |
+------------+
| mydb |
+------------+

退出数据库

exit;

SQL客户端工具

  • Navicate

  • SQLyog

  • DataGrip

SQL查询

  • 执行查询语句返回的是一张虚拟的表

基本查询

SELECT 列名 FROM 表名

关键词 描述
SELECT 指定要查询的列
FROM 指定要查询的表

查询部分列

1
SELECT 列名1,列名n FROM 表名;

查询所有列

1
2
SELECT * FROM 表名 ;
SELECT 列名1,列名2,列名3...列名-1 FROM 表名;

在生产环境中,优先使用列名查询。

*的方式需要转换成全列名,效率低,可读性差。

列的数据运算

1
SELECT 数值型列*12 FROM 表名;
算数运算符 描述
+ 两列做加法运算
- 两列做减法运算
* 两列做乘法运算
/ 两列做除法运算
  • % 在SQL语句中是占位符,不是非模运算符

列的别名 AS

1
SELECT 列名 AS '列标题' FROM 表名;

查询去重 DISTINCT

1
SELECT DISTINCT 列名 FROM 表名;

排序查询 ORDER BY

1
2
3
4
-- 单列查询
SELECT 列名 FROM 表名 ORDER BY 排序列 排序规则;
-- 多列查询
SELECT 列名 FROM 表名 ORDER BY 排序列1 排序规则1,排序列2 排序规则2;
排序规则 描述
ASC 升序排序(从小到大)
DESC 降序排序(从大到小)
  • 多列排序的执行规则

    首先执行排序1,当排序1中的某些数据相等时,对相等的部分执行排序2

条件查询 WHERE

1
SELECT 列名 FROM 表名 WHERE 条件;

查询条件不一定是数值,可以是字符、日期等

等值判断 =

1
SELECT 列名 FROM 表名 WHERE 列名 = 条件;

与编程语言不同( == ),mysql中等值判断使用 =

不等值判断 < > <= >= != <>

1
SELECT 列名 FROM 表名 WHERE 列名 [运算符] 条件;
运算符 描述
< 小于
<= 小于等于
> 大于
>= 大于等于
!= <> 不等于

逻辑判断 AND OR NOT

1
SELECT 列名 FROM 表名 WHERE 列名1=条件1 AND 列名2=条件2 OR 列名n=条件n;
运算符 描述
AND 与(都满足)为真
OR 或(满足一个)为真
NOT 非(不满足)为真

区间判断 BETWEEN AND

1
SELECT 列名 FROM 表名 WHERE 列名 BETWEEN 条件1 AND 条件2; -- 闭区间,包含两遍的数值

条件1 必须小于 条件2

NULL值判断 IS NULL/IS NOT NULL

1
SELECT 列名 FROM 表名 WHERE 列名 IS NULL; -- 查找列中为空的数据

枚举查询 IN(值1,值2,值3)

1
2
3
4
SELECT 列名 FROM 表名 WHERE 列名 IN(值1,值2,值3);

-- IN方法等价的第二种写法
SELECT 列名 FROM 表名 WHERE 列名 = 值1,列名 = 值2,列名 = 值3;

IN的查询效率较低,可通过多条件拼接

模糊查询 LIKE

1
2
3
4
5
6
7
8
9
SELECT 列名 FROM 表名 WHERE 列名 LIKE _ (单个任意字符)
-- LIKE '睡_' 可以表示为睡觉 不能表示睡觉觉
-- LIKE '睡__' 可以表示为睡觉 也能表示睡觉觉
-- LIKE '_睡_' 可以表示为要睡觉

SELECT 列名 FROM 表名 WHERE 列名 LIKE % (任意长度的字符)
-- LIKE '睡%' 可以表示为 睡觉 也可以表示 睡觉觉 甚至是 睡觉吃饭喝水
-- LIKE '%睡' 可以表示 我 要睡 不能是 我要睡 觉
-- LIKE '%睡%' 可以表示 我 要睡觉 吃饭喝水

分支结构查询 CASE END

1
2
3
4
5
6
7
8
SELECT 列名
CASE
WHEN 条件1 THEN 结果1
WHEN 条件2 AND 条件3 THEN 结果2
WHEN 条件4 OR 条件5 THEN 结果3
ELSE 结果
END AS '列标题'
FROM 表名;

函数查询

时间查询

1
SELECT 时间函数([时间列表]) FROM 表名;
时间函数 描述
SYSDATE() 当前系统时间(日、月、年、时、分、秒)
CURDATE() 获取当前日期
CURTIME() 获取当前时间
WEEK(DATE) 获取指定日期为一年中的第几周
YEAR(DATE) 获取指定日期的年份
HOUR(TIME) 获取指定日期的小时值
MINUTE(TIME) 获取时间的分钟值
DATEDIFE(DATE1,DATE2) 获取DATE1和DATE2之间的相隔天数
ADDDATE(DATE,N) 计算DATE加上N天的日期

字符串查询

1
SELECT 字符串函数([参数列表]) FROM 表名;
字符串函数 说明
CONCAT(str 1,str 2,str 3…str n) 将多个字符串连接
INSERT(str,pos,len,newStr) 将str中指定pos位置开始的len长度的内容替换为newstr
LOWER(str) 将指定字符转换为小写
UPPER(str) 将指定字符转换为大写
SUBSTRING(str,num,len) 将str字符串指定num位置开始截取len个内容

MySQL中 ,字符串下标是从 1 开始的

聚合函数

1
SELECT 聚合函数(列名) FROM 表名;
聚合函数 说明
SUM() 求所有行中单列结尾的总和
AVG() 平均值
MAX() 最大值
MIN() 最小值
COUNT() 求总行数

聚合函数自动忽略NULL值,不做统计

分组查询 GROUP BY

1
2
3
4
5
6
7
8
9
10
-- 单列查询
SELECT 列名 FROM 表名 WHERE 条件 GROUP BY 分组依据(列);

-- 多列查询
SELECT 列名1,COUNT(列名2),列名3
FROM 表名
GROUP BY 列名1, 列名2;
/* 首先对列名1进行分组
然后再对列名1相同但列名2不相同的项进行分组
最后分别求出列名2分组以后的每组的行数 */

分组查询中,SELECT显示的列只能是分组依据的列,或者聚合函数列,不能出现其他列

1
2
3
SELECT 列名1,COUNT(*),列名3
FROM 表名
GROUP BY 列名1;
列1 COUNT() 列3
10 1 BOSS
100 1 MSG
110 6 Nancy
150 2 Shelley

表是以分组函数和聚合函数列,为主的,其他列的数据不会完全展示

110与150组中有多个数据,但是在列3中指展示了一个数据

分组过滤查询 HAVING

1
SELECT 列名 FROM 表名 WHERE 条件 GROUP BY 分组依据(列) HAVING 过滤规则;
关键字 说明
HAVING 过滤规则 过滤规则定义对分组后的数据进行过滤

限定查询 LIMIT

1
SELECT 列名 FROM 表名 LIMIT 起始行,查询行数;

在数据库中,行的下标是从0开始的,与数组不同

SQL查询编写顺序

1
SELECT 列名 FROM 表名 WHERE 条件 GROUP BY 分组 HAVING 过滤条件 ORDER BY 排序列(asc|desc) LIMIT 起始行,总条数

SQL语句执行顺序

  1. FROM :指定数据表来源
  2. WHERE : 对查询数据做第一次过滤
  3. GROUP BY : 分组
  4. HAVING : 对分组后的数据进行第二次过滤
  5. SELECT : 查询各字段的值
  6. ORDER BY : 排序
  7. LIMIT : 限定查询结果

子查询

子查询(作为条件判断)

1
2
3
4
5
6
-- 当我们需要用表中的 单列单条 数据进行比较时的操作步骤
SELECT 获得单行数据 FROM 表名 WHERE 条件; -- 获得单行需要比较的数据
SELECT 列名 FROM 表名 WHERE 获得的单行数据; -- 得到需要的数据

-- 将两条语句进行整合
SELECT 列名 FROM 表名 WHERE 需要筛查的数据 比较 (SELECT 获得单条数据 FROM 表名 WHERE 条件);

将子查询“一行一列”的的结果作为外部查询的条件,做第二次查询

子查询得到一行一列的结果才能作为外部查询的等值判断条件或不等值条件判断

子查询(作为枚举查询条件)

1
2
3
4
5
6
-- 当我们需要用表中的 单列多行  数据进行比较时的操作步骤
SELECT 获得多行数据 FROM 表名 WHERE 条件; -- 获得多行需要比较的数据
SELECT 列名 FROM 表名 WHERE 获得的多行数据; -- 得到需要的数据

-- 将两条语句进行整合
SELECT 列名 FROM 表名 WHERE 需要筛查的数据 IN (SELECT 获得多条数据 FROM 表名 WHERE 条件);

将子查询“多行一列”的结果作为外部查询的枚举查询条件,做二次查询

1
2
3
4
5
6
7
-- ALL 与所有比较
-- 也就是说如果是 >子查询 就是要比所有条件都大 反之就是比所有的都小
SELECT 列名 FROM 表名 WHERE 需要筛查的数据 比较 ALL(SELECT 获得多条数据 FROM 表名 WHERE 条件);

-- ANY 与任意一个比较
-- 就是要比任意一个大就可以 反之就是比任意一个小就可以
SELECT 列名 FROM 表名 WHERE 需要筛查的数据 比较 ANY(SELECT 获得多条数据 FROM 表名 WHERE 条件);

子查询(作为表)

1
2
3
4
5
-- 当我们需要用表中的 多行多列  数据进行比较时的操作步骤
SELECT 获得多行多列数据 FROM 表名 WHERE 条件; -- 获得多行多列需要比较的数据
SELECT 列名 FROM 获得的多行多列数据; -- 得到需要的数据
-- 将两条语句进行整合
SELECT 列名 FROM (SELECT 获得多行多列数据 FROM 表名 WHERE 条件) AS TEMP;

将子查询“多行多列”的结果作为外部查询的一张表,做第二次查询

因为是将子查询生成一张虚拟表,但是一条语句中表名需要唯一,所以需要为子语句生成的表赋一个名字

合并查询 UNION

1
2
SELECT 列名 FROM 表名 UNION SELECT 列名 FORM 表名;
SELECT 列名 FROM 表名 UNION ALL SELECT 列名 FORM 表名; -- 去除重复数据

表连接查询 JOIN

1
SELECT 列名 FROM1 连接方式 表2 ON 连接条件;

内连接查询 INNER JOIN ON

```sql
– SQL标准写法
SELECT 列名 FROM 表名 INNER JOIN 表名2 ON 表名1.列名 =

CSS:层叠样式表

CSS:层叠样式表

1
2
3
4
选择器 {
属性1:属性值1;
属性2:属性值2;
}

样式引用方法

内部样式

1
2
3
4
5
6
7
8
9
10
<html>
<head>
<meta charset="UTF-8">
<title>Demo</title>
<style>
属性1:属性值1;
属性2:属性值2;
</style>
</head>
</html>

样式写在style里 style写在head里

行内样式

1
2
<div style="属性1:属性值1;属性2:属性值2;"></div>
写在行内

外部样式

  • style文件内样式

    1
    2
    3
    4
    选择器 {
    属性1:属性值1;
    属性2:属性值2;
    }
  • html链接方法:链接

    1
    2
    3
    4
    5
    6
    7
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Demo</title>
    <link href="style.css" type="text/css" rel="stylesheet"/>
    </head>
    </html>
  • html链接方法:导入

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Demo</title>
    <style type="text/css">
    @import url("common.css");
    </style>
    </head>
    </html>

    在外部创建独立的css文件

    后缀名:css

样式引用的优先级

行内 > 内部 / 外部

基本选择器

标签选择器

所有的标签都可以做选择器

效果:页面中当前标签样式都会改变

1
2
3
4
5
<p>标签选择器效果</p>
p {
color:green;/*设置字体颜色*/
font-size:30px;/*字体家族*/
}

效果:

标签选择器效果

### 类(class)选择器 .
1
2
3
4
5
<p class="red">3级标题标签</p>
.red{
color:blue;/*设置字体颜色*/
font-family:"黑体"; /*字体家族*/
}

id 选择器

一个页面只能用一次

1
2
3
4
5
<h5 id="top">asdd</h5>
#top{
color:gray;
font-size:30px;
}

基本属性优先级

id 选择器 > class选择器 > 标签选择器

复合选择器

后代选择器

1
2
3
选择器1 选择器2{

}

选择器1和2 可以是 标签、id、class

1
2
3
div span{
color:red;
}

交集选择器

1
2
3
选择器1选择器2 {

}

选择器1必须是标签,选择器2可以是id或class

并集选择器

1
2
3
选择器1,2,3 {

}

什么选择器都行

1
2
3
p,div,span,.r,.red,#d{
font-family:"微软雅黑"
}

复杂样式的计算方法

优先级 优先等级(数值越小等级越高)
HTML选择器 1
类选择器(class) 10
ID选择器 100

CSS样式属性

文字

font-family 设置字体名称
font-style 设置字体风格
font-size 设置字体大小
font-weight 设置字体的粗细
font-variant 设置字体小型大写字母
font-stretch 设置字体横向拉伸变形
color 设置文本颜色
text-align 设置元素水平对齐方式

HTML:超文本标记语言

HTML:超文本标记语言

  • 可描述性语言(浏览器上运行)

创建html文件的步骤:

  1. 新建文本文档,更改后缀 .html / .htm
  2. 写基本结构
1
2
3
4
5
6
7
8
<html> <!--html标签-->
<head> <!--头标签 -->
<title>网页标题</title>
</head>
<body> <!--body标签-->
主体内容
</body>
</html>

定义标签&写内容

1
2
<标签名 属性="属性值">标签内容</标签名>	<!--双标签-->
<标签名 属性="属性值"/> <!--单标签-->

标签是否换行?

块级元素:自动换行标签

<h1>这是 H1 标签<h1>

<h2>这是 H2 标签<h2>

<h3>这是 H3 标签<h3>

<h4>这是 H4 标签<h4>

<h5>这是 H5 标签<h5>
<h6>这是 H6 标签<h6>

<p>这是 P 标签<p>

<div>这是div标签,他没有任何自带样式</div>

行内元素:不换行标签

我是<strong>标签 我是<em>标签 我们在同一行

<span> 说,我也是不换行标签

HTML 中的各种标签

文本标签

  • 标题标签:<h1> </h1> ~ <h6> </h6>

  • 段落标签:<p> </p>

  • 换行标签:<br/>
    —因为我在前面输入了<br/>所以我在这一行

  • 水平线 - <hr/> 效果如下:


  • 加粗:<strong>加粗</strong>

  • 倾斜:<em>倾斜</em>

  • 预格式文本标签:<pre></pre>

    pre标签中的所有内容都会被保存

    比如 空格 空格

    缩进 缩进

    换行

    换行

特殊符号

符号 样式 代码
空格   &nbsp;
大于号 > &gt;
小于号 < &lt;
引号 " &quot;
版权符号 © &copy;

图片标签

1
<img src="路径" width="宽度" height="高度" title="鼠标悬停文字" alt="显示不出来文字"/>
  • 路径:

    • 绝对路径:真实的物理路径(不推荐使用)

    • 相对路径:相对页面找图片的路径

      / 下一级文件

      ../ 上一级文件

  • 宽度和高度

    默认单位是像素px(可以不写单位)

超链接标签(点击能跳转)

1
<a href="目标页面路径" target="打开目标页面的方式">点击的内容</a>
  • 效果

    点击的内容

  • 路径:和图片写法一致

  • target:

    target_self 在自己窗口打开 默认值

    target_blank 打开新窗口

    target_top 在顶层窗口

    target_parent 父类窗口

功能性链接

链接邮箱

1
<a href="mailto:shenyang@chinasoft.com">联系我们</a>

网址&FTP服务器

1
<a href="ftp://ftp.chinasoft.com">FTP服务</a>

锚链接(能够跳转到指定的位置)

  • 起名字

    1
    <a name="标记"></a>
  • 跳转

    1
    <a href="#标记"></a>

src和href区别?

href链接

href里的内容是与页面相关联的内容,但不是页面上的一部分,所以是引用。

src链接

src里的内容是要放置在页面上的,是页面的一部分,所以是引入。

列表

无序列表

1
2
3
<ul  type="disc">
<li>HTML语言</li>
</ul>
  • 效果

    • HTML语言

type属性值:disc(默认)、circle、square

有序列表

1
2
3
4
5
<ol type="a" start="3">
<li>html</li>
<li>css</li>
<li>js</li>
</ol>
  • 效果

    1. html
    2. css
    3. js

type属性值:1(默认),a/A,i/I

start设置从几开始,必须是阿拉伯数字

定义列表

1
2
3
4
<dl>
<dt>数据库</dt>
<dd>oracle</dd>
</dl>
  • 效果

    数据库
    oracle

dt 定格

dd 缩进

表格

<table > </table>—表格标签

--- 行 --- 列 --- 列标题

table属性

width 宽度

height 高度

cellspacing 单元格之间的距离

cellpadding 单元格距离文字的距离

border 边框粗细,注意不写没有边框

align 设置水平对齐方式 left/center/right(块级元素的属性)

tr&td属性

align 设置水平对齐方式 left/center/right(块级元素的属性)

valign 设置垂直方向对齐方式 top/middle/bottom

width 宽度(td)

height 高度(tr)

合并单元格:

合并列:发生在一行内
1
colspan="n"

要在同行内,删除单元格n-1个

合并行:发生在一列内
1
rowspan="n"

要在一列内,从当前行的下一行开始,到第n-1行,每一行都删除一个单元格

第一行rowspan=”3” — 要在第二行和第三行,都删除一个单元格

内联框架

将多个页面放到一个浏览器窗口里

好处:实现页面的重用

1
<iframe name="main" src="wel.html" width="500" height="600" frameborder="0"> </iframe>

在内联框架中实现跳转:

1
<a href="路径" target="main">箱包</a>
  • target 在哪个框架中显示该页面

    name=”main” 为起名字
    src=”wel.html” 默认引入的网页

    width=”500” 宽度

    height=”600” 高度

    frameborder=”0” 边框 0 无边框

表单

能够让用户操作,进而获取到用户的数据

1
2
3
<form action="路径" method="提交方式">
表单元素
</form>

method=”get/post”

get:默认值,显示提交,不支持中文,数据量小

post:隐士提交,支持中文,数据量大

表单元素

文本框
1
<input type="text" name="zh" maxlength="6" value="请输入账号"/>
  • 效果

    type 设置表单元素类型 ,默认是text

    name 设置表单名字的,提交数据时的前缀

    maxlength 输入的最大长度

    value 默认值

密码
1
<input type="password" />
  • 效果

按钮
1
2
3
4
<input type="button" value="普通按钮"/>
<input type="reset" value="重置按钮"/>
<input type="submit" value="提交按钮"/> <!--对应提交表单到action路径下-->
<input type="image" src=" " /> <!--对应提交表单到action路径下-->
  • 效果

单选按钮
1
<input type="radio" name="sex" value="1"/>
  • 效果

     单选按钮

一组单选按钮name必须一致,必须有value

复选框
1
<input type="checkbox" name="hobby" value="sing"/>
  • 效果

     复选框

一组复选按钮name必须一致,必须有value

文件
1
<input type="file" />
隐藏表单域 (传值不被用户看到)
1
<input type="hidden" value="222" name="level"/>
下拉列表
1
2
3
4
5
6
7
<select name="city">
<option value="China">中国</option>
<option value="Korea">韩国</option>
<option value="America">美国</option>
<option value="Japan">日本</option>
<option value="Britain">英国</option>
</select>
  • 效果

多行文本域
1
<textarea name="introduce" rows="5" cols="50">文本</textarea>
  • 效果

表单元素属性

checked 按钮默认选中
  • 设置单选按钮和复选按钮默认被选中

    checked=”true”

    checked=”checked”

selected 下拉列表默认选中
  • 下拉列表默认被选中

    selected=”true”

    selected=”selected”

readonly 设置只读
  • 设置只读

    readonly=”true”

    readonly=”readonly”

disabled 设置禁用
  • 设置禁用

    disabled=”true”

    disabled=”disabled”

请我喝杯咖啡吧~

支付宝
微信