本系列为笔者学习JavaWeb的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员JavaWeb开发教程,实现javaweb企业开发全流程(涵盖Spring+MyBatis+SpringMVC+SpringBoot等)》,章节分布参考视频教程,为同样学习JavaWeb系列课程的同学们提供参考。
01 学习路线

- 前端:基于
Vue脚手架 - 后端:基于
SpringBoot - 前后端分离开发,基于接口文档交互
- 需求分析 - 表结构设计 - 接口文档 - 功能实现 - 测试
02 学习目标
- 掌握数据库表的设计、操作
- 掌握主流的前后端分离开发模式
- 掌握
Web开发、接口开发 - 掌握文件存储、登录认证解决方案
03 什么是Web?
Web 又称万维网(www World Wide Web),即全球广域网,是能够通过浏览器访问的网站
① Web 网站工作流程

② Web 开发课程安排
前端:HTML、CSS、JavaScript、Vue、Element、Nginx
后端:Maven、SpringBoot Web、MySQL、SpringBoot Mybatis
③ Web 网页由文字、图片、音频、视频、超链接等组成,本质是前端代码,其通过浏览器核心(解析 + 渲染)转化成用户看到的页面
④ Web 标准由W3C(World Wide Web Consortium)制定,含三部分:
HTML:负责网页的内容
CSS:负责网页的设计
JavaScript:负责网页的交互
04 什么是HTML、CSS?
HTML(HyperText Markup Language):超文本标记语言
超文本:超越文本的限制
标记语言:标签构成的语言
CSS(Cascading Style Sheet):层叠样式表
注:HyperText / ˈhaɪpərtekst / 超文本、Cascading / kæˈskeɪdɪŋ / 层叠
05 HTML快速入门
- 新建
.html文本文件 - 编写
HTML结构标签 - 填写
<body>内容

<html><head><title>HTML快速入门</title></head><body><h1>Hello HTML</h1><img src="1.jpg"/></body>
</html>
注:html不关心大小写,不区分单引号双引号,语法结构松散
06 新浪新闻
① 标题排版
图片标签:<img>
src:指定图像的url(绝对磁盘路径 / 绝对网络路径 / 相对磁盘路径)width:指定图像的宽度 (px像素 / 相对于父元素的百分比)height:指定图像的高度 (px像素 / 相对于父元素的百分比)
标题标签:<h1> - <h6>,重要程度递减
水平线标签:<hr>
<!-- 文档类型为HTML -->
<!DOCTYPE html>
<html lang="en">
<head><!-- 字符集为UTF-8 --><meta charset="UTF-8"><!-- 浏览器兼容性 --><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>一二三四五</title>
</head>
<body><!-- 绝对路径:绝对磁盘路径:E:\JAVA\0315\news_logo.png绝对网络路径:https://i2.sinaimg.cn/dy/deco/2012/0613/yocc20120613img01/news_logo.png 相对路径:./ :当前目录,可以省略 ./news_logo.png../:上级目录,不能省略--><img src="./news_logo.png"> 入口 > 正文<h1>一二三四五六七八九十</h1><hr>2023年03月02日 21:50 张三<hr>
</body>
</html>
注:! + Enter 生成 HTML 框架,Ctrl + Shift + / 生成注释,img + Enter 生成图片框架,Ctrl + S 保存文件,右键 + Open In Default Browser 或者 Alt + B 在默认浏览器中打开,Ctrl + Y 删除注释。
default 默认的、browser / ˈbraʊzər / 浏览器
② 标题样式
Ⅰ CSS 引入方法
-
行内样式:
style属性
-
内嵌样式⭐:
style标签
-
外联样式:
link标签引入.css文件
Ⅱ 颜色表示

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>一二三四五</title><!-- 内嵌样式 --><style>h1{/* color: brown; *//* color: rgb(255, 0, 0); */color: #4d4f53;}</style> <!-- 外联样式 --><!-- <link rel="stylesheet" href="./CSS/news.css"> -->
</head>
<body><img src="./news_logo.png"> 入口 > 正文<!-- 行内样式 --><!-- <h1 style="color: brown;">焦点访谈:中国底气 新思想夯实大国粮仓</h1> --><h1>一二三四五六七八九十</h1><hr>2023年03月02日 21:50 张三<hr>
</body>
</html>
Ⅲ CSS 选择器

优先级:id > 类 > 元素
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>一二三四五</title><style>h1{color: #4d4f53;}/* 元素选择器 *//* span{color: #968d92;} *//* 类选择器.cls{color: #968d92;} *//* id选择器 */#time{color: #968d92;font-size: 13px; /* 字体大小 */}</style> </head>
<body><img src="./news_logo.png"> 入口 > 正文<h1>一二三四五六七八九十</h1><hr><span id="time" class="cls">2023年03月02日 21:50</span> <span>张三</span><hr>
</body>
</html>
③ 超链接
超链接标签:<a herf="..." target="...">张三</a>
href:指定资源访问urltarget:指定资源链接打开位置,其中_self在当前页面打开,_blank在空白页面打开
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>一二三四五</title><style>h1{color: #4d4f53;}#time{color: #968d92;font-size: 13px; }a{color: black; /* 默认蓝色 -> 黑色 */text-decoration: none; /* 标准文本 */}</style> </head>
<body><img src="./news_logo.png"> <a href="https://gov.sina.com.cn/" target="_self">入口</a> > 正文<h1>一二三四五六七八九十</h1><hr><span id="time" class="cls">2023年03月02日 21:50</span> <span><a href="https://news.cctv.com/2023/03/02/ARTIUCKFf9kE9eXgYE46ugx3230302.shtml" target="_blank">张三</a></span><hr>
</body>
</html>
④ 正文排版
视频标签:video
src:指定视频访问urlcontrols:指定播放控件width:宽度height:高度
音频标签:audio
src:指定音频访问urlcontrols:指定播放控件
段落标签:<p>
加粗标签:<b> / <strong>
注:indent / ɪnˈdent / 缩进、align / əˈlaɪn / 调整
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>一二三四五</title><style>h1 {color: #4d4f53;}#time {color: #968d92;font-size: 13px; }a {color: black; text-decoration: none; }p {text-indent: 35px; /* 首行缩进 */line-height: 45px; /* 行间距 */}#editor {text-align: right;}</style> </head>
<body><img src="./news_logo.png"> <a href="https://gov.sina.com.cn/" target="_self">入口</a> > 正文<h1>一二三四五六七八九十</h1><hr><span id="time" class="cls">2023年03月02日 21:50</span> <span><a href="https://news.cctv.com/2023/03/02/ARTIUCKFf9kE9eXgYE46ugx3230302.shtml" target="_blank">张三</a></span><hr><!-- 正文 --><!-- 视频 --><!-- <video src="xxx" controls width="900px"></video> --><!-- 音频 --><!-- <audio src="xxx" controls></audio> --><p><b>消息</b> </p><p>人勤春来早,春耕农事忙。</p><img src="./123.png"><p>春眠不觉晓,处处闻啼鸟。 </p><p id="editor">责任编辑:大树 SN242</p>
</body>
</html>
⑤ 页面布局
盒子:页面中所有的元素,都可以看做是一个盒子,将页面中的元素包含在一个矩形区域内,包括内容区域(content)、内边距区域(padding)、边框区域(border)、外边距区域(margin)
注:如果只需要设置某一个方位的边框、内边距、外边距,可以在属性名后加上位置,如:padding-top、padding-left、padding-right...

布局标签:<div> <span>
-
<div>一行只显示一个,宽度默认父元素,高度默认内容撑开,可改宽高
-
<span>一行可显示多个,宽高默认内容撑开,不改宽高
前端代码:

网页效果:


注:margin 外边距不算在盒子之内。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>一二三四五</title><style>h1 {color: #4d4f53;}#time {color: #968d92;font-size: 13px; }a {color: black; text-decoration: none; }p {text-indent: 35px; /* 首行缩进 */line-height: 45px; /* 行间距 */}#editor {text-align: right;}#center {width: 65%;/* margin: 0% 17.5% 0% 17.5%; 外边距,上 右 下 左*/margin: 0 auto;}</style> </head>
<body><div id="center"><img src="./news_logo.png"> <a href="https://gov.sina.com.cn/" target="_self">入口</a> > 正文<h1>一二三四五六七八九十</h1><hr><span id="time" class="cls">2023年03月02日 21:50</span> <span><a href="https://news.cctv.com/2023/03/02/ARTIUCKFf9kE9eXgYE46ugx3230302.shtml" target="_blank">张三</a></span><hr><!-- 正文 --><!-- 视频 --><!-- <video src="xxx" controls width="900px"></video> --><!-- 音频 --><!-- <audio src="xxx" controls></audio> --><p><b>消息</b></p><p>人勤春来早,春耕农事忙。</p><img src="./123.png"><p>春眠不觉晓,处处闻啼鸟。 </p><p id="editor">责任编辑:大树 SN242</p></div>
</body>
</html>
07 表格、表单标签
① 表格标签
表格在网页中以行和列形式展示数据


② 表单标签
表单在网页中负责注册、登录等采集数据

Ⅰ 标签:<form>
属性
action:规定提交表单时向何处发送表单数据(url)method:规定发送表单数据方式(get、post)
<body><form action="" method="get">用户名: <input type="text" name="username">年龄: <input type="text" name="age"><input type="submit" name="提交"></form>
</body>
get 提交方式:当前页面,url拼接

post 提交方式:网络请求,消息体中传递

Ⅱ 表单项
-
<input>:定义表单项,通过type属性控制输入形式
-
<select>:定义下拉列表,通过<option>定义下拉列表项 -
<textarea>:定义文本域

