内容概述

1.web概念概述
2.HTML
3.推荐2个学前端的入门网站 菜鸟教程 W3School
4.转义字符表
5.实现注册页面
6.利用frameset标签 实现后台管理页面布局

一、web概念概述

* JavaWeb:
	* 使用Java语言开发基于互联网的项目

* 软件架构:
	1. C/S: Client/Server 客户端/服务器端
		* 在用户本地有一个客户端程序,在远程有一个服务器端程序
		* 如:QQ,迅雷...
		* 优点:
			1. 用户体验好
		* 缺点:
			1. 开发、安装,部署,维护 麻烦
	2. B/S: Browser/Server 浏览器/服务器端
		* 只需要一个浏览器,用户通过不同的网址(URL),客户访问不同的服务器端程序
		* 优点:
			1. 开发、安装,部署,维护 简单
		* 缺点:
			1. 如果应用过大,用户的体验可能会受到影响
			2. 对硬件要求过高

* B/S架构详解
	* 资源分类:
		1. 静态资源:
			* 使用静态网页开发技术发布的资源。
			* 特点:
				* 所有用户访问,得到的结果是一样的。
				* 如:文本,图片,音频、视频, HTML,CSS,JavaScript
				* 如果用户请求的是静态资源,那么服务器会直接将静态资源发送给浏览器。浏览器中内置了静态资源的解析引擎,可以展示静态资源
		2. 动态资源:
			* 使用动态网页及时发布的资源。
			* 特点:
				* 所有用户访问,得到的结果可能不一样。
				* 如:jsp/servlet,php,asp...
				* 如果用户请求的是动态资源,那么服务器会执行动态资源,转换为静态资源,再发送给浏览器


	* 我们要学习动态资源,必须先学习静态资源!

	* 静态资源:
		* HTML:用于搭建基础网页,展示页面的内容
		* CSS:用于美化页面,布局页面
		* JavaScript:控制页面的元素,让页面有一些动态的效果

二、HTML

1. 概念:是最基础的网页开发语言
	* Hyper Text Markup Language 超文本标记语言
		* 超文本:
			* 超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本.
		* 标记语言:
			* 由标签构成的语言。<标签名称> 如 html,xml
			* 标记语言不是编程语言

2. 快速入门:
	* 语法:
		1. html文档后缀名 .html 或者 .htm
		2. 标签分为
			1. 围堵标签:有开始标签和结束标签。如 <html> </html>
			2. 自闭合标签:开始标签和结束标签在一起。如 <br/>

		3. 标签可以嵌套:
			需要正确嵌套,不能你中有我,我中有你
			错误:<a><b></a></b>
			正确:<a><b></b></a>

		4. 在开始标签中可以定义属性。属性是由键值对构成,值需要用引号(单双都可)引起来
		5. html的标签不区分大小写,但是建议使用小写。

	* 代码:
<!DOCTYPE html>  //html5 的标准开头
<html lang="en">    //html根标签  lang="en" 告诉浏览器 是否翻译本页面
<head>    //头标签
    <meta charset="UTF-8">    // 设置字符集为 UTF-8
    <title>Title</title>     //标题标签
</head>
<body>   //主体
<font color="aqua"> HelloWorld!</font>
</body>
</html>

其中的 属性lang是英语language的缩写,意思是语言,”en”代表英语,”zh-CN”代表中文
搜索引擎无法判断页面中的 内容是什么语言,需要人们告诉它
浏览器会将读取到的页面语言和本地语言进行比较判断,如果一致,不做处理,否则提示是否需要翻译(当然前提是用户勾选了这个功能,chrome默认勾选)

3. 标签学习:
	1. 文件标签:构成html最基本的标签
		* html:html文档的根标签
		* head:头标签。用于指定html文档的一些属性。引入外部的资源
		* title:标题标签。
		* body:体标签
		* <!DOCTYPE html>:html5中定义该文档是html文档
	2. 文本标签:和文本有关的标签
		* 注释:<!-- 注释内容 -->
		* <h1> to <h6>:标题标签
			* h1~h6:字体大小逐渐递减
		* <p>:段落标签
		* <br>:换行标签
		* <hr>:展示一条水平线
			* 属性:
				* color:颜色
				* width:宽度
				* size:高度
				* align:对其方式
					* center:居中
					* left:左对齐
					* right:右对齐
		* <font>:字体标签    (Html5不再支持该标签)
		*  <b>:字体加粗    
		* <i>:字体斜体
		* <center>:文本居中
			* 属性:
				* color:颜色
				* size:大小
				* face:字体

		* 属性定义:
			* color:
				1. 英文单词:red,green,blue
				2. rgb(值1,值2,值3):值的范围:0~255  如  rgb(0,0,255)
				3. #值1值2值3:值的范围:00~FF之间。如: #FF00FF
			* width:
				1. 数值:width='20' ,数值的单位,默认是 px(像素)
				2. 数值%:占比相对于父元素的比例

示例:

<!DOCTYPE html>
<html lang="zh_CN">
<head>
    <meta charset="UTF-8"/>
    <title>
        学习标签
    </title>
</head>
<body>
<!--这是注释信息 -->
<h1>这是标题标签h1</h1>
<h2>这是标题标签h2</h2>
<h3>这是标题标签h3</h3>
<h4>这是标题标签h4</h4>
<h5>这是标题标签h5</h5>
<h6>这是标题标签h6</h6>

<p>这是段落标签p</p>
<br>  <!--换行-->
<p>这是段落标签p</p>
<hr color="red" width="50%" size="10px" align="center"/>  <!--展示一条水平线 -->
<font size="5sp" face="楷体" color="aqua"> 这是字体标签font</font>
<br>
<b>字体加粗</b>
<i>字体斜体</i>

</body>
</html>

运行效果:
一、HTML入门_静态资源
3. 图片标签: (重要)
* img:展示图片
* 属性:
* src:指定图片的位置
* alt=" " 规定图片的替代文本

		* 代码:
			 <!--展示一张图片 img-->

		    <img src="image/mm.jpg" align="right" alt="mm" width="500" height="500"/>
		
		    <!--
		        相对路径
		            * 以.开头的路径
		                * ./:代表当前目录  ./image/1.jpg
		                * ../:代表上一级目录
		     -->
		
		    <img src="./image/mm.jpg">
		
		    <img src="../image/mm.jpg">

	4. 列表标签:
		* 有序列表:
			* ol:
			* li:
		* 无序列表:
			* ul:
			* li:
	5. 链接标签: (重要)
		* a:定义一个超链接
			* 属性:
				* href:指定访问资源的URL(统一资源定位符)
				* target:指定打开资源的方式
					* _self:默认值,在当前页面打开
					* _blank:在空白页面打开
		* 代码示例:
 <!--超链接  a-->

  <a href="http://www.kinggm520.cn">点我</a>
    <br>

    <a href="http://www.kinggm520.cn" target="_self">点我</a>
    <br>
    <a href="http://www.kinggm520.cn" target="_blank">点我</a>

    <br>

    <a href="./5_列表标签.html">列表标签</a><br>
	6. div和span:
		* div:每一个div占满一整行。块级标签
    	* span:文本信息在一行展示,行内标签 内联标签

	7. 语义化标签:html5中为了提高程序的可读性,提供了一些标签。
		1. <header>:页眉
		2. <footer>:页脚
	8. 表格标签:(重要)
		* table:定义表格
			* width:宽度
			* border:边框
			* cellpadding:定义内容和单元格的距离
			* cellspacing:定义单元格之间的距离。如果指定为0,则单元格的线会合为一条、
			* bgcolor:背景色
			* align:对齐方式
		* tr:定义行
			* bgcolor:背景色
			* align:对齐方式
		* td:定义单元格
			* colspan:合并列
			* rowspan:合并行
		* th:定义表头单元格
		* <caption>:表格标题
		* <thead>:表示表格的头部分
		* <tbody>:表示表格的体部分
		* <tfoot>:表示表格的脚部分

代码示例:

<table width="50%" border="1px" cellspacing="0px" cellpadding="1px" bgcolor="#dda0dd" align="center">
    <caption>表格标题</caption>
    <tr>
        <th>   <!-- th表示该单元格 内容居中 且字体加粗-->
        表头
        </th>
        <th>
            表头
        </th>
        <th>
            表头
        </th>
    </tr>

    <tr align="center" bgcolor="#00ffff">
        <td rowspan="2">
    <!--td的属性 rowspan='2' 表示从当前单元格向下合并2个单元格为一个 即从上到下合并行-->
            内容
        </td>
        <td>
            内容
        </td>
        <td>
            内容
        </td>
    </tr>

    <tr align="center" bgcolor="orange">

        <td colspan="2">
<!--td的属性 colspan='2' 表示从当前单元格向右合并2个单元格为一个 即从左到右合并列-->
            内容
        </td>
    </tr>
</table>

运行效果:
一、HTML入门_html_02

  1. 表单标签: (重要)
  • 表单:
  • 概念:用于采集用户输入的数据。用于和服务器进行交互。
  • form标签:用于定义表单。可以定义一个范围,范围代表采集用户数据的范围
    • 属性:
  • action:指定提交数据的URL ( #表示当前页面)
  • method:指定提交方式
  • 分类:一共7种,2种比较常用
    • get:
      1. 请求参数会在地址栏中显示。会封装到请求行中(HTTP协议后讲解)。
      2. 请求参数大小是有限制的。
      3. 不太安全。
      4. 数据key=value格式
      5. 第一对参数使用?连接,后面的每一对参数使用&连接
    • post:
      2. 请求参数不会再地址栏中显示。会封装在请求体中(HTTP协议后讲解)
      2. 请求参数的大小没有限制。
      3. 较为安全。

*(注意) 表单项中的数据要想被提交:必须指定其name属性
代码示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>学习表单</title>
</head>
<body>

<form action="#" method="get">
   用户名: <input type="text" name="username" >
    <br>
   密码: <input type="password" name="password">
    <br>
    <input type="submit" value="登录" >
</form>

</body>
</html>

效果如下:
一、HTML入门_数据_03

get方式表单提交的内容在地址栏的内容如下:
?username=123&password=123#
- 数据key=value格式
- 第一对参数使用?连接,后面的每一对参数使用&连接
  • 表单项常用标签:
    • input:可以通过type属性值,改变元素展示的样式
    • type属性:
    • text:文本输入框,默认值
    • placeholder:指定输入框的提示信息,当输入框的内容发生变化,会自动清空提示信息
    • password:密码输入框
    • radio:单选框
    • 注意:
    1. 要想让多个单选框实现单选的效果,则多个单选框的name属性值必须一样。
    2. 一般会给每一个单选框提供value属性,指定其被选中后提交的值
    3. checked属性,可以指定默认值
    • checkbox:复选框
    • 注意:
    1. 一般会给每一个单选框提供value属性,指定其被选中后提交的值
    2. checked属性,可以指定默认值
    • file:文件选择框
    • hidden:隐藏域,用于提交一些信息。
    • 按钮:
    • submit:提交按钮。可以提交表单
    • button:普通按钮
    • image:图片提交按钮
    • reset:重置按钮 会重置所有表单项
    • src属性指定图片的路径
    • label:指定输入项的文字描述信息
    • 注意:
    • label的for属性一般会和 input 的 id属性值 对应。如果对应了,则点击label区域,会让input输入框获取焦点。
    • select: 下拉列表
    • 子元素:option,指定列表项
    • textarea:文本域
    • cols:指定列数,每一行有多少个字符
    • rows:默认多少行。

代码示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>学习表单</title>
</head>
<body>

<form action="#" method="get">
    <label for="username">用户名:</label> <input id="username" type="text" placeholder="请输入用户名" name="username">
    <br>
    <label for="password"> 密码: </label> <input id="password" type="password" placeholder="请输入密码" name="password">
    <hr color="red" size="1px"/><input type="radio" name="gender" value="" checked="checked"><input type="radio" name="gender" value="">
    <hr color="red" size="1px"/>

    爱好: <br>
    <input type="checkbox" name="hobby" value="滑板">滑板
    <input type="checkbox" name="hobby" value="航模">航模
    <input type="checkbox" name="hobby" value="枪械">枪械
    <input type="checkbox" name="hobby" value="编程">编程
    <hr color="red" size="1px"/>

    文件选择框:<input type="file" name="file" >
    <hr color="red" size="1px"/>

    隐藏域:<input type="hidden" name="id" value="001"> 常用于提交隐藏数据 例如用户的id
    <hr color="red" size="1px"/>

    取色器:<input type="color" name="color">
    <hr color="red" size="1px"/>

    生日:<input type="date" name="birthday">
    <br>
    生日:<input type="datetime-local" name="birthday">
    <hr color="red" size="1px"/>

    邮箱:<input type="email" name="email"> 一般不用这个标签 而使用正则表达式去判断
    <hr color="red" size="1px"/>

    年龄:<input type="number" name="age"> 数字
    <hr color="red" size="1px"/>

    省份:<select name="province">
    <option value="">--请选择--</option>
    <option value="1">北京</option>
    <option value="2">上海</option>
        </select>
    <hr color="red" size="1px"/>

    简介:<textarea cols="10" rows="3" name="des"> </textarea> 文本域
    <hr color="red" size="1px"/>
    <br>

    <input type="submit" value="提交按钮(submit)">
    <input type="button" value="普通按钮(button)">
    <input type="image"  value="图片提交按钮(image)">


</form>

</body>
</html>

效果如下:
一、HTML入门_单选框_04
其中下拉框selector还有个属性 multiple(控制可以多选的个数) size(显示的个数 常配合multiple使用)
子标签option 还有个属性selected=“selected” 将该项设置为默认选中
例如:

 省份:<select name="province" multiple="2" size="2">
    <option value="">--请选择--</option>
    <option selected="selected" value="1">北京</option>
    <option value="2">上海</option>
        </select>

效果如下:
一、HTML入门_单选框_05
最后补充一个:框架集标签 frameset (注意frameset 和body不能共存)

以上讲了常用的HTML标签和常用属性

三、自学前端网站推荐

更多的HTML内容 可以在 菜鸟教程W3School学习

转义字符
例:
一、HTML入门_静态资源_06
有些字符不能直接写出 例如< > & 空格等
此时需要使用转义字符

<b>if(a>b&&a<c){}  </b>  <!--错误写法 -->
<b>if(a&gt;b&amp;&amp;a&lt;c){}  </b>  <!--正确写法 -->

四、转义字符表:

一、HTML入门_表单_07

五、实现注册页面:

效果:
一、HTML入门_html_08
代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册页面</title>
</head>
<body>

<form action="#" method="post">
    <table border="1px" cellpadding="1px" cellspacing="0" align="center" width="30%">
        <caption>注册新用户</caption>
        <tr >
            <td align="right">
                <label for="username">用户名:</label>
            </td>
            <td align="left">
                <input id="username" type="text" name="username">
            </td>

        </tr>

        <tr>
            <td align="right">
                <label for="password">密码:</label>
            </td>
            <td  align="left">
                <input id="password" type="password" name="password">
            </td>
        </tr>

        <tr>
            <td  align="right">
                <label for="email">Email:</label>
            </td>
            <td align="left">
                <input id="email" type="email" name="email">
            </td>
        </tr>

        <tr>
            <td  align="right">
                <label for="realname">姓名:</label>
            </td>
            <td align="left">
                <input id="realname" type="text" name="realname">
            </td>
        </tr>

        <tr>
            <td  align="right">
                <label for="phone">手机号:</label>
            </td>
            <td align="left">
                <input id="phone" type="text" name="phone">
            </td>
        </tr>

        <tr>
            <td  align="right">
                <label for="gender">性别:</label>
            </td>
            <td align="left">
                <input id="gender" type="radio" name="gender" value="" checked="checked"><input  type="radio" name="gender" value=""></td>
        </tr>

        <tr>
            <td  align="right">
                <label for="date">出生日期:</label>
            </td>
            <td align="left">
                <input id="date" type="date" name="date">
            </td>
        </tr>

        <tr>
            <td  align="right">
                <label for="province">地址:</label>
            </td>
            <td align="left">
               <select id="province" name="province">
                   <option value="">--请选择--</option>
                   <option value="1">北京</option>
                   <option value="2">上海</option>
               </select>
            </td>
        </tr>

        <tr>
            <td  align="right">
                <label for="hobby">爱好:</label>
            </td>
            <td align="left">
               <input id="hobby" type="checkbox" name="h1" value="滑板" >滑板
               <input  type="checkbox" name="h2" value="枪械" >枪械
               <input  type="checkbox" name="h3" value="编程" >编程
            </td>

        </tr>

        <tr>
            <td  align="right">
                <label for="desc">个性签名:</label>
            </td>
            <td align="left">
              <textarea id="desc" name="desc" placeholder="请输入个性签名" rows="3" cols="10"></textarea>
            </td>

        </tr>

        <tr>
            <td  align="right">
                <label for="verify_code">验证码:</label>
            </td>
            <td align="left">
              <input  type="text" id="verify_code" name="verify_code" placeholder="请输入验证码">
                <img src="image/verify_code.jpg"/>
            </td>
        </tr>

        <tr align="center">
            <td colspan="3">
                <br>
                <input type="submit" value="注册">
            </td>
        </tr>
        
    </table>
</form>

</body>
</html>

六、利用frameset标签 实现后台管理页面布局

frameset标签的使用

  • 属性
    1. 表示整个框架分为上下两行 第一行占7% 剩下的93%区域被第二行占用
    2. 表示整个框架分为左右两列 第一列占10% 剩下的90%区域被第二列占用

  • 子标签frame

  • 属性
    1. src属性表示 在父标签下的第一行或者第一列所展示的页面资源文件的路径
    例如:

<frameset rows="7%,*" >      <!--父标签-->
    <frame src="./fram/top.html">  <!--父框架第一行展示的页面-->
    
    <frameset cols="10%,*">   <!--嵌套标签-->
    <frame src="./fram/left.html">   <!--嵌套的父框架第一列展示的页面-->
    <frame src="./fram/main.html" name="main">
    
    </frameset>
    
</frameset>

2.a标签中的target 属性可以跳转到指定的frame页面
例:

<a href="https://www.baidu.com" target="main">百度</a>   

此时target=‘main’ 这里的main 为 frame页面name属性的属性值

  <frame src="./fram/main.html" name="main">

后台管理页面整体效果:
一、HTML入门_表单_09

代码实现:
主frameset框架:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Frameset框架集</title>
</head>

<frameset rows="7%,*" >
    <frame src="./fram/top.html">

    <frameset cols="10%,*">
    <frame src="./fram/left.html">
    <frame src="./fram/main.html" name="main">
    </frameset>

</frameset>


</html>

顶部菜单:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body bgcolor="#dda0dd">
<b>顶部菜单</b>
</body>
</html>

左侧菜单:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body bgcolor="#708090">
 <b>左侧菜单</b> <br>
<a href="https://www.baidu.com" target="main">百度</a> <br>
<a href="http://www.kinggm520.cn" target="main">爱开源爱学习爱分享</a> <br>
<a href="https://www.bilibili.com" target="main">哔哩哔哩</a>

</body>
</html>

主显示界面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body bgcolor="#deb887">
<b>主界面</b>
</body>
</html>