【华清远见】JavaWeb学习总结

1 篇文章 0 订阅

JavaWeb总结

一、Web三要素

  • 浏览器

  • 服务器

  • http协议

1.web主要学习内容

  • html:用于勾勒出网页的结构和内容
  • css:用于网页美化
  • js:js操作的目标是html css

2.Web项目开发

二、HTML

HTML ,HyperText Markup Languages,超文本标记语言,**是一种纯文本类型的语言。

1.html基本结构

<!DOCTYPE html>
<html>
	<!-- head标签:头部信息 -->
	<head>
	<!-- meta:属性 charset:字符编码的设置: -->
		<meta charset="utf-8">
		<!-- 设置浏览器的显示的网页标题 -->
		<title>第一个网页</title>
	</head>
	<!-- body标签: 网页的内容 -->
	<body>
		第一个网页: hello world.
		<h3>标题标签</h3>
	</body>
</html>

2.HTML文件的标签与元素介绍

  • 一个HTML文件是由一系列的元素和标签组成的
  • HTML的标签分单独出现的标签和成对出现的标签

3.html页面的访问方式

  • html是解释执行的语言。浏览器直接会解析html标签,显示内容到网页中。

  • 网络方式访问
    ​ http://127.0.0.1:8848/web01/day1/aa.html

  • 文件方式访问

​ 通过文件的硬盘路径,打开文件。

三、HTML的标签

1.文本标签

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>文本相关标签</title>
	</head>
	<body>
		<!-- 常用的文本相关标签 -->
		<!-- 标题标签:h1~h6,字号逐渐变小,越来越细.换行显示的标签 -->
		<!-- 标签的属性:align = " right(右) / center(中)/ left(左)"-->
		<h1 align="center">我是h1</h1>
		<h2 align="right">我是h2</h2>
		<!-- 段落标签: p  -->
		<p align="center"> </p>

		<!-- 文本标签:span ,没有默认的样式效果 , 不换行的标签  -->
		<span>hello</span>

		<!-- 文本标签:div , 没有默认的样式效果 , 换行的标签 -->
		<div>第一个div</div>

		<!-- 换行标签: br标签用于换行 -->
		<span>第一行的span</span>
		<br>

		<!-- 产生一条横线的标签: hr标签  , width属性,设置宽度-->
		<hr width="300px" color="aqua" />
		<!-- 列表标签:ul(un order list - 无序列表) -->
		<ul>
			<li></li>
			<li></li>
			<li></li>
		</ul>
		<!-- 列表标签: ol( order list - 有序列表) -->
		<ol>
			<li></li>
			<li></li>
			<li></li>
		</ol>
		
	</body>
</html>

2.特殊效果的文本标签

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>特殊样式的文本标签</title>
	</head>
	<body>
		<!-- 加粗, 倾斜, 下划线, 删除线 -->
		<b>b标签:加粗</b>
		<strong>strong标签:加粗</strong>
		<em>em标签:倾斜</em>
		<i>i标签:倾斜</i>
		<del>del标签:删除线</del>
		<u>u标签:下划线</u>
		<b><i>加粗,倾斜</i></b>
		<!-- sub:下标, sup:上标 -->
		<h3>静夜思<sub>李白</sub></h3>
		<b>H<sub>2</sub>O</b>
		<b>3<sup>3</sup>=27</b>
		<!-- 分区的标签:span  , 行内元素,不换行 -->
		<!-- 分区的标签:div , 块级元素, 换行 -->
		<!--  style="border: 1px solid green;"  ,每个标签都有style属性, 用于设置标签的样式。
border:1px solid green; --- 边框 (宽度 ,类型,颜色)
background-color: gray; --- 背景颜色(颜色值)			-->
	</body>
</html>

3.超链接和图片标签

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>图片和超链接的使用</title>
	</head>
	<body>
		<!-- 设置顶部标志:定义锚点 -->
		<a name="top">顶部区域</a>
		<br>
		<!-- img标签:img标签的功能是引用一张存在的图片,在网页上显示图片。
		   src: 引用的图片资源的路径
			** 相对路径: 根据当前文件的路径,查找需要引                用的资源的路径 (../img/b.jpeg)。
		    ** 绝对路径:从协议开始的全路径.                 (http://127.0.0.1:8848/web01/img/a.jpeg)
		    可以省略协议及其域名, 直接从根目录开始的路            径,也就是绝对路径。(/web01/img/a.jpeg)
		   alt: 如果图片没有正常加载成功,则显示alt的文                 字说明
		 -->
		<img           src="http://127.0.0.1:8848/web01/img/a.jpeg"
		     width="200px"
			 height="200px"
			 title="策马奔腾"
			 alt="这里是一张有很多马的图片"
		 />
		<img src="/web01/img/a.jpeg" />
		<img src="../img/b.jpeg" />

		<!-- a标签: 超链接标签, 点击超链接标签,可以让页面跳转到新的资源路径。网页的内容被更新了。
		href属性:指定需要跳转的url地址(相对地址,绝对地址)。
		**url:统一资源定位路径。(网络上可以访问的资源的路径)。
		target属性:
        _blank - 打开的内容显示在一个新窗口,
        _self - 打开的内容显示当前窗口。
		 -->
		<a href="http://www.baidu.com"target="_blank">百度首页</a>
		<!-- 通过定义的锚点的名字top, 跳转到锚点所在位置。-->
		<a href="#top">回到顶部</a>
	</body>
</html>

4.表格标签

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>表格标签</title>
	</head>
	<body>
		<h2>三行四列的表格</h2>
		<!-- table标签:用于实现表格
		    - caption 设置表格的名字
			-tr (table row) : 行
			-td  : 列(单元格)
		  table标签的属性:
			- border 边框
			- width 宽度(默认的宽度有表格中的内容的宽度决定)
			-  cellspacing="0" 设置单元格之间的宽度
			- cellpadding="0"设置文本内容和表格边框的宽度
		     - align : 表格显示位置
		 -->
		<table border="1" cellspacing="0" width="300px">
			<caption>购物车展示</caption>
			<!-- thead : 代表表头 -->
			<thead>
				<tr>
					<!-- th和td类型, th中的文字会加粗 -->
					<th>商品名字</th>
					<th>商品数量</th>
					<th>商品单价</th>
					<th>小计</th>
				</tr>
			</thead>
			<!-- tbody:表格中的数据 -->
			<tbody>
				<tr>
					<td>鼠标</td>
					<td>2</td>
					<td>20</td>
					<td>40</td>
				</tr>
				<tr>
					<td>键盘</td>
					<td>3</td>
					<td>40</td>
					<td>120</td>
				</tr>
			</tbody>
			<tfoot>
				<tr>
					<!-- table标签要求: 每行的列数相等, -->
					<td>总计:</td>
					<!-- colspan="3" : 把三列合并为1列, 让每行的列数相等。 -->
					<td colspan="3">160</td>
				</tr>
			</tfoot>
		</table>
		<table>
			<caption>分数统计</caption>
			<tr>
				<th>姓名</th><th>科目</th><th>分数</th>
			</tr>
			<tr>
				<!-- rowspan="2" : 把两行的单元格合并为一个。让每行的列数相等 -->
				<td rowspan="2">小红</td><td>语文</td><td>80</td>
			</tr>
			<tr>
				<!--  这行只写两个td, 是因为上一行已经合并了本行的td。本行实际还是能保证有三列 -->
				<td>数学</td><td>90</td>
			</tr>
		</table>
	</body>
</html>

5.表单相关标签

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>表单使用:登陆界面</title>
	</head>
	<body>
		<h1 align="center">登陆界面</h1>
		<!--  form标签:表单相关的标签,其内部嵌套用于用户                          输入数据的标签。
		     * action:  表单提交的请求地址(url)
			 * method:  请求的方式get / post
			 * enctype :  设置enctype的类型,对请求参数的处                           理方式。
			 ** 如果表单中涉及到文件上传 ,要求:method是                   post , enctype设置为multipart/form-data
		 -->
		 <form action="#" method="get" enctype="application/x-www-form-urlencoded">
		<!--  for:label的for属性对应的数据值时input标签的id。 那么单击label标签的时候,input标签获取焦点(光标就在输入框内部, 用户就可以直接输入数据。) -->
			 <label for="inputname">用户名:</label>
			 <!-- 
			     input标签: 用于用户输入数据
				 * type: 设置标签的类型,对用户输入的数据进行一些设置
				 * name: 用户输入的数据,传输到服务器端的时候 , java程序根据name的值,获取到输入框的数据。
				 * value: 对应的就是用户输入的数据值
			  -->
			 <input id="inputname" type="text" name="username" value="tom" /><br>
			 <label for="inputpwd">密码:</label>
			 <input id="inputpwd" type="password" name="userpwd" /><br>
			 <!--  type="submit":提交请求(请求的地址 + 请求的参数)的按钮  , 单击按钮触发表“单提交事件”
			   “表单提交事件” : 发送请求给服务器,并且把请求参数(用户输入的数据)也传输到服务器端。-->
			 <input type="submit" value="提交" />
			 <!-- type="reset" , reset事件, 清空表单中的数据值 -->
			 <input type="reset" value="重置" />
		 </form>
		 <h2>表单相关元素的介绍</h2>
		 <form action="#" method="post" enctype="multipart/form-data">
			 单行文本框:<input type="text" name="user" /><br>
			 密码框:<input type="password" name="pwd" /><br>
			 隐藏域:<input type="hidden" name="hide" /><br>
			 文件上传:<input type="file" name="photyo" /><br>
			 <!--  单选按钮:①一般一组单选按钮,需要设置相同的name值,才能保证只有一个按钮被选中。 
			                ② 标签后面的文本提示,是给用户看的, 标签的value值时给 程序使用的。
							   (程序中用0表示男,1表示女)
							③ checked="checked" ,表示设置为默认选中
			 -->
			 单选按钮:<input type="radio" name="sex" value="0"/><input type="radio" name="sex" value="1" checked="checked"/><br>
			 复选框:<input type="checkbox" name="hobbys" value="看书" checked="checked" /> 看书

			 下拉列表(单选):<select name="city">
				         <option>请选择</option>
						 <option value="0">上海</option>
						 <!-- selected="selected" : 设置默认选中项 -->
						 <option value="1" selected="selected">北京</option>
						 <option value="2">天津</option>
					 </select><br>
			下拉列表(多选):
			<!-- multiple="multiple":用于设置下拉列表,支持多选  -->
			<select name="language" multiple="multiple" size="6">
				<option value="java">java</option>
				<option value="c">c</option>
				<option value="c++">c++</option>
				<option value="python">python</option>
				<option value="html">html</option>
			</select><br>
			多行文本框:
			<!--  cols="5" :设置宽度  rows="10" :设置高度 -->
			  <textarea name="info" cols="5" rows="10"></textarea><br>
			submit:<input type="submit" value="提交数据" /><br><br>
			reset:<input type="reset" value="清空数据" /><br>
			button:<input type="button" value="普通按钮" /><br>
			
			分组标签:
			<fieldset>
				<legend>地址</legend>
				邮箱: <input type="email" name="email" />
				
				年龄: <input type="number" name="phone" />
				date: <input type="date" name="date" />
				颜色:<input type="color" name="color" />
				submit:<input type="submit" value="提交数据" /><br><br>
			</fieldset>
		 </form>
	</body>
</html>

iframe标签

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>iframe标签的使用</title>
	</head>
	<body>
		<!--  iframe标签: 在网页中,可以通过src的路径找到新的网页,嵌套在当前网页中。 -->
		<iframe src="1.表单相关标签.html" width="100" height="100"></iframe>
		<iframe src="../img/a.jpeg" width="100" height="100"></iframe>
		<ul>
			<!-- a标签的target ,指定为iframe标签的name值 , 那么超链接的内容,则显示到iframe标签中。   -->
			<li><a href="../day1/1.html文件的结构.html" target="content">1.文件结构</a></li>
			<li><a href="../day1/2.文本相关标签.html" target="content">2.文本相关</a></li>
			<li><a href="../day1/3.有特殊样式的文本标签.html" target="content">3.特殊样式的文本</a></li>
		</ul>
		<!--  单击li中的超链接,把超链接的内容显示到iframe标签中。 -->
		<iframe src="../day1/1.html文件的结构.html" width="300px" height="300px" name="content" ></iframe>
	</body>
</html>

四、CSS

css(Cascading Style Sheets**):层叠样式表,又叫级联样式表,简称样式表,用于HTML文档中元素的样式定义,实现网页的美化,实现将内容和表现分离。

1.CSS三种使用方式

内联样式

  • 样式定义在单个的HTML元素中

    <p id="p1" style="width: 500px; background-color: aquamarine;">
    

内部样式

  • 样式定义在HTML页的头元素中

    <style>
        #p2{width: 400px; background-color: blanchedalmond; }
        p{ color: red; } 
    </style>
    

外部样式

  • 将样式定义在一个外部的css文件中(.css文件)

  • 由HTML页面引用样式表文件

  • <link href="./p3.css" type="text/css" rel="stylesheet" />
    
<style>
    #p2{width: 400px; background-color: blanchedalmond; }
    p{ color: red; } 
</style>

2.CSS特征

继承性

  • 大多数css的样式规则可以被继承

层叠性

  • 可以定义多个样式表

  • 多个不冲突的样式,可以层叠为一个优先级

  • 样式定义冲突时,按照不同样式的规则优先级来应用样式

  • 浏览器默认样式< 标签的默认样式 < [外部样式/内部样式/内联样式]

    外部样式/内部样式/内联样式: 根据谁后写,谁优先。

3.CSS选择器

标签选择器:
<style> 
 li{ 
     background-color: green; 
     list-style: none;
     margin:3px ;  
 }
</style>
id选择器:
<style>
    #first{font-size: 30px;}
</style>

class选择器:

<style> 
 .group { color: red; }
</style>
分类选择器:
<style> 
    span.three{ width: 120px; }
</style>
分组选择器:
<style> 
p , h1{ 
    border: 3px solid black; 
    border-radius: 5px;  
 }
</style>
派生选择器:
  • 找子(嵌套在内部的第一层符号条件的标签元素) 选择器>选择器{}

  • 找子孙(嵌套在内部的所有符号条件的标签元素) 选择器 选择器{}

    <style> 
       #sel>span{ 
           padding: 5px; border: 3px solid red; 
        }
        #sel span{ 
            padding: 5px; border: 3px solid #008000;
        }
    </style>
    
伪类选择器

伪类用于向某些选择器添加特殊的效果

使用冒号(:)作为结合符,结合符左边是其他选择器,右边是伪类

常用伪类:

— :link 页面上从来没有点击过的链接

— :active 选择活动链接,并设置其样式:

— :visited 选择已访问的链接,并设置其样式:

— :hover 鼠标悬停的状态

— :focus 获取焦点的状态[对有键盘焦点的元素设置]

4.CSS样式

常见样式
<style> 
    //
    div{
        width: 400px; 
        height: 200px; 
        background-color: greenyellow; 
        overflow: hidden; /*溢出的解决方式: 隐藏溢出部分*/         overflow: scroll; /* 设置出现滚动条,溢出的内容通过                           滚动条查看*/ 
        overflow: visible; /* 溢出部分可见 , 溢出的默认处                            理方式*/ 
        overflow: auto; /*继承父元素的溢出处理方式*/ 
    } 
    
    .box{
        width: 200px; height: 
        200px; background: #008000; 
        /* 边框 */ 
        border: 3px solid gray; /*四个方向均有边框*/ 
        /* 四个方向分别设置边框 
        border-left: 3px solid greenyellow ; 
        border-top: 3px solid seagreen ; 
        border-right: 3px solid yellowgreen; 
        border-bottom: 3px solid lightyellow ;*/ 
        /* border的边框宽度,样式, 颜色分别设置 */ 
        border-width: 5px; 
        border-style: dotted; 
        border-color: #000000; 
        }
    
      /* margin: 外边距, 设置元素之间的间距 */            		#box1{
         margin: 10px;  /*四个方向都是10px*/ 
         margin: 10px 20px;/* margin: 上下 左右;*/       		  margin: 5px 10px 20px 30px;/* margin: 上 右 下                                     左;四个方向分别设置*/ 
         margin-top: 20px ; /*只设置上方向的margin , 等同                             于: margin:20px 0 0 0;*/
     /* margin-left , margin-right , margin-bottom*/    			}
    
     /* padding :内边距, 设置元素和自己内部的内容之间的间距*/        #box2{
         padding: 20px; /* 四个方向都是20px*/ 
         padding: 20px 40px; /*padding:上下 左右;*/ 			 padding: 5px 10px 15px 20px; /*padding :上 右 								下 左;四个方向分别 设置*/ 
         padding-top: 20px ; /*只设置上方向的padding , 等							同于: padding:20px 0 0 0;*/ 
         /*padding-left , padding-right; padding-											bottom */ 
       }
    
    /* html标签分类: 
    1. 块级元素: 占据一整行,其他内容换行显示。可以设置width , height ,比如:h1 , div , p . 
    2. 行内元素: 宽高由内容决定,剩下的区域可以显示其他元素。不支持设置width ,height. 比如:span , input. 
    3. 块级行内元素:具有块级元素的特征,但是不换行。可以设置width,height ,比如: img. 
    css样式的display: display: none; -- 隐藏标签。 display:block; -- 设置为块级元素 display: inline ; -- 设置为行内元素 display: inline-block ; -- 设置为行内块级元素。 */  
</style>
CSS定位
<!--定位:流定位 ,浮动定位,相对定位,绝对定位,固定定位 
 	①流定位:页面中的块级元素从上到下一个接一个显示,行内元素				在一行中从到右排.
	②浮动定位:让元素脱离了普通的流定位 ,通过css的float属性设置元素的浮动方向,浮动元素依旧在父元素内部,用它实现特殊的定位效果。 -->
<style>
    .inner{ 
        float:none/left/right
        clear: both; /*清除浮动的影响:
        				none - 不清除, 
        				both-清除两边的浮动元素的影响, 							left-清除左边的影响, 
        				right - 清除右边的影响*/
         }
</style>
 
<!-- position:定位 ,top ,left ,right, bottom 设置元素的					具体的位置。 
	① 相对定位:relative , 参考自己本身原来的位置。 
	② 绝对定位:absolute , 参考的是自己的有相对定位的包裹元素, 		如果直接父元素没有相对定位,那么就找父辈的, 如果最终也		没有,那么就找html(body)为准。 
	③ 固定定位:fixed , 参考html(body) -->

<!--层叠和透明度
   z-index,已定位的元素,可以通过z-index控制层次顺序。z-  index的值是一个整数,数据值越大,离视线越近,如果没有设置z-index,默认值是0.
   元素可以设置透明度:
     opacity :背景和文字都透明
     rgba: 背景透明,名字不透明 -->


五、js(JavaScript)

操作html和css , 实现动态页面

1.js的三种使用方式

​ - 事件定义的方式

​ - js嵌入到html页面,通过script标签来使用

​ - js相关内容写在单独的**.js**文件中,然后在html页面上,通过script标签的 **src=“xx.js”**引入js文件,进行使用。

2.基础知识点

  • 变量的定义

    • let 变量名
    • let 变量名=变量值;
    • 变量的名字不能使用关键字。
  • 数据类型

    • string
    • number
    • boolean
    • object
    • null
    • undefined
  • 运算符

    • 算术运算符
    • 关系运算符
    • 逻辑运算符
    • 赋值运算符
  • 数据类型转换

    • 隐式转换
    • 数据类型转换函数
  • 分支语句

    • if…else
    • if…
    • if…else if…
  • 循环语句

    • for(let i =0 ; i < n ; i++){}
    • for循环同java语法规则
  • 获取元素的方式

    • document.getElementById(id值) : 根据id查找元素,结果是一个元素对象
    • document.getElementsByTagName(标签名字) : 根据标签名查找,结果是一个元素的数组对象。
    • document.getElementsByName(标签的name属性) : 根据标签的name属性的值查找,结果是一个元素的数组对象。
    • document.getElementsByClassName(标签class的值) : 根据标签的class的值查找,结果是一个元素的数组对象。
  • 修改和获取标签内部的内容:

    • obj.innerHTML: 可以对文本和标签进行使用
    • obj.innerText:只能对文本进行使用
    • obj.value: 表单元素的value值的获取或者设置
  • 修改标签的style

    • obj.value: 表单元素的value值的获取或者设置
    • obj.style.width/height
    • obj.style.color

3.js的数组、对象、事件:

数组对象 : Array
  • 定义数组,数组赋值, 遍历数组, 数组长度,数组下标,数组的各种函数
  • 排序
  • 二维数组
函数对象 : function
  • 函数的定义
  • 函数的调用
函数参数对象 : arguments
  • 函数的参数都存放在arguments对象中
  • arguments本质就是一个数组
全局函数: setInterval , clearInterval
  • let timer = setInterval(function , time ) ,启动了定时器函数
  • clearInterval(timer) ,关闭定时器
  • parseInt
  • parseFloat
  • encodeURI:编码
  • decodeURI:解码
BOM:浏览器对象模型

screen , history , location , navigator , document

DOM:文档对象模型
  • document
  • 节点名字(nodeName: #document , #text , 标签名字大写) , 节点的类型(nodeType:文档节点, 元素节点, 属性节点, 文本节点)
  • 节点的内部嵌套内容(innerHTML, innerText)
  • 节点的样式(style),节点的属性(标签的属性) : getAttribute …
  • 获取节点: document.getElementById
    (标签id , 标签名,标签的class ,标签的name)
    (父节点, 子节点, 兄弟节点)
  • 节点的创建(createElement(标签名))
  • 节点的添加 (插入到网页上)
  • 节点替换, 克隆
  • 删除节点
自定义对象的创建
- new Object 
- 自定义构造器函数
-  json格式的对象  :{key:value, key1:value1} , key-string , value-任意数据类型
事件类型 & event对象
  • 鼠标事件, 键盘事件, 状态改变事件,…
  • event : 每发生一次事件,就会产生一个event对象。
  • 事件源: 触发事件的源头(节点对象)
  • 事件处理机制: 冒泡 , 阻止冒泡

六、jquery

js的函数库 , 操作html,css

1.jquery对象:

  • jquery对象: 可以调用jquery中封装的函数
  • js对象: 按原生js进行操作。
  • jquery对象和js对象的转换:
    • $(js对象) – 转换了jquery对象。
    • $(“span”).get(0) , 获取到的是js对象。

2.选择器 :

query通过选择器函数,得到的是一个数组

jquery的选择器函数 :

**$(selecter)**中的选择器支持任意css的选择器。
基本选择器(id ,class , tag)

层次选择器(子 ,子孙, 弟弟)
过滤选择器(:lt ,:odd(奇数), :even(偶数))

表单选择器(:text)

3.jquery函数:

css , attr , html , text , val , height , width …

4.函数的参数是函数:

setInterval(funcion , time);

5.回调(callback)函数:

某个函数执行完成之后,再执行的其他函数,被称为回调函数。
语法规则:

function  xx (yy){
<!--先执行xx需要执行的代码,这部分执行完之后 -->
<!-- 然后在判断yy是否存在,存在就调用yy函数 -->
	if(yy){
		yy()
		}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值