JavaWeb学习笔记分享(必看篇)_Java
快速导航
JavaWeb学习笔记分享(必看篇)
自定义列表
:表示列表的范围
**在里面
:上层内容
**在里面
:下层内容
有序列表
:有序列表的范围
--属性 type:设置排序方式,1(默认),a,i、、
**在ol标签里面
具体内容
无序列表
:无序列表的范围
--属性 type:circle(空心圆)、disc(默认的实心圆)、square(实心方块)
**在ul标签里面
具体内容
图像标签
--属性:src、width、height、alt(图片上显示的文字,把鼠标移动到图片上,停留片刻显示内容 或者是图片显示出错时显示的文字,但有些浏览器不显示,没有效果)
**
路径的介绍
*分类:两类
**绝对路径 eg. http://www.baidu.com/b.jpg
***三种相对路径 一个文件相对于另外一个文件的位置
--html文件和图片在同一个路径(目录)下,可以直接写文件名称
--在html文件中,使用与其在同一个路径下的img文件夹下的a.jpg文件 使用方法:imga.jpg
**d:htmlstudycode4.html
**d:htmlstudycodeimga.jpg
--图片在html文件的上层目录中,此时图片使用方法:../c.png ../表示上层路径
超链接标签
**链接资源
-- 显示在页面上的内容
**href:链接的资源的地址
**target:设置打开的方式,默认是在当前页打开
--_blank :在一个新窗口打开
--_self :在当前页打开 默认的
--链接标题:当超链接不需要跳转到页面时,在href中添加#(占位符)就可以了
**定位资源
--如果想要定位资源:定义一个位置
顶部
--回到这个位置
回到顶部
--原样输出标签:
需要原样输入的内容
表格标签
*作用:可以对数据进行格式化,使数据显示更加清晰
*属性 border(表格线粗细) bordercolor(表格线颜色) cellspacing(单元格间距离) width height
*
: 表示表格的范围
**在table里面,表示一行
--设置对齐方式 align :left center right
***在tr里面,表示一行里边的单元格
|
**使用th也可以表示单元格:表示可以实现居中和加粗
*表格的标题,放在table里边
*操作技巧:
**首先数有多少行,在数每行里面有多少个单元格
*合并单元格
**rowspan :跨行(纵向合并)
13 |
**colspan :跨列(横向合并)
表格练习 |
表单标签
*例如注册开心网时,可以提交数据到开心网的服务器,这个过程可以使用表单标签实现
* :定义一个表单范围
*属性:
** action :提交到的地址,默认提交到 当前的页面
** method : 表单的提交方式
--常用的有两种: get 和 post ,默认是get请求
** get 和 post 的区别
1)get请求地址栏会携带提交的数据,post不会携带(数据在请求体里面)
2)get请求安全级别较低,post较高
3)get请求数据大小有限制,post没有限制
** enctype :一般请求下不需要这个属性,做文件上传时候需要设置这个属性
**输入项:可以输入内容或者选择内容的部分
--大部分的输入项可使用
********在输入项里面需要有一个name属性
***普通输入项:
***密码输入项:
***单选输入项:
--在里边需要属性 name
--name的属性值必须要相同
--必须要有一个value值
****实现默认选中的属性
***checked="checked"
***复选输入项:
**在里边需要属性 name
**name的属性值必须要相同
**必须要有一个value值
****实现默认选中的属性
----checked="checked"
***文件输入项:
***下拉输入项(不是在input标签里面的)
****实现默认选中的属性
----selected="selected"
*** 文本域(如:注册账号时填写个人信息简介的方框)
***隐藏项(不会显示在页面上,但是存在于 html代码里面)
***提交按钮
--提交之前地址:C:UsersHappyDogDesktopindex.html
**当在输入项里面写了name属性之后
--file:///c:/users/happydog/desktop/index.html?phone=123123&pwd=12321312&sex=man&love=y&love=pp&birth=1992&tex=1231245
**?输入项name的值=输入的值&
**参数类似于key-value形式
***使用(点击)图片来提交
***重置按钮 :回到输入项的初始状态
***普通按钮(和js在一起使用的)
案例:使用表单标签实现注册页面
表格单元格内容为空时,一般用占位符( (转义空格))来填充
html中的其他的常用标签的使用
** b(加粗) s(删除线) u(下划线) i(斜体) pre(原样输出) sub(下标) sup(上标) div(自动换行) span(在一行显示) p(段落标签)
html的头标签的使用
**html两部分组成 head 和 body
**在head里面的标签就是头标签
**title标签:表示在标签上显示的内容
**标签 :设置页面的一些相关内容
--
--定时跳转到指定页面
**base标签 :设置超链接的基本的设置
--可以统一设置超链接的打开方式
**link标签 :引入外部文件
框架标签的使用
**
后面
**如果现在有这样一个需求:
--在js里面需要获取到input里面的值,如果把script标签放在head里面,会出现问题
--html解析是从上到下解析的,script标签放到的是head里面,直接在里面取input的值,因为页面还没有解析到input那一行,肯定取不到
js的重载 js不存在重载,但是可以模拟实现
例子:function add11(a,b) {
return a+b;
}
function add11(a,b,c) {
return a+b+c;
}
function add11(a,b,c,d) {
return a+b+c+d;
}
alert(add11(2,2)); // NaN
alert(add11(2,2,3)); // NaN
alert(add11(2,2,4,5)); // 13
js的String对象
** 创建String对象 var str = "abc';
**方法和属性(文档)
--属性 length :字符串的长度
--方法
1)与html相关的方法
-- bold():加粗 fontcolor():设置字符串的颜色 fontsize():设置字体的大小 link():将字符串显示成超链接
2)与java相似的方法
--concat():连接字符串 charAt():返回指定位置的字符串 indexOf():返回字符串位置 split():切分字符串 成数组 replace("",""):替换字符串--传递两个参数:第一个参数是原始字符,第二个参数是要替换成的字符 substr(5,3)从第五位开始,向后截取三个字符 substring(3,5) 从第三位开始包括第三位到第五位结束,不包括第五位 [3,5)
js的Array对象
**创建数组的三种方法
1)var arr1 = [1,2,3];
2)var arr1 = new Array(3); // 长度是三
3)var arr1 = new Array(1,2,3); // 元素是1,2,3
var arr = []; //创建一个空数组
**属性 length:查看数组的长度
**方法
concat();连接数组 join();根据指定的字符分割数组 push();向数组末尾添加元素,返回数组的新的长度**如果添加的是一个数组,这个时候把数组当做一个整体字符串添加进去 pop();删除并返回数组的最后一个元素 reverse();颠倒数组中的元素的顺序
js的Date对象
** 在java里面获取当前时间
Date date = new Date();
// 格式化 //toLocaleString()
** js里面获取当前时间
var date = new Date();
// 转换成习惯的格式 date.toLocaleString();
js的Math对象 数学的运算
** 里面的都是静态方法,使用可以直接使用 Math.方法();
js的全局函数
**由于不属于任何一个对象,直接写名称使用
** eval(); 执行js代码(如果字符串是一个js代码,使用方法直接执行)
-- var str = "alert('1234');";
// alert(str); //alert('1234');
eval(str); // 1234
** .....
js的函数的重载 什么是重载?方法名相同,参数不同
*js不存在函数的重载,只会调用最后一个方法,但是可以通过其他方式模拟重载。js的函数把传递的参数保存到 arguments数组里面 可以利用判断arguments数组的长度 来对应返回不同的处理结果
模拟重载效果代码实现:
function add1() {
if(arguments.length ==2 ) {
return arguments[0] + arguments[1];
} else if ( arguments.length == 3) {
return arguments[0] + arguments[1] + arguments[2];
} else if ( arguments.length == 4) {
return arguments[0] + arguments[1] + arguments[2] + arguments[3];
} else {
return 0;
}
}
// 调用
alert(add1(1,2)); //3
alert(add1(1,2,3)); //6
alert(add1(1,2,3,4)); //10
alert(add1(1,2,3,4,5)); //0
js的bom对象
**bom :broswer object model:浏览器对象模型
**有哪些对象?
-- navigator :获取客户机的信息(浏览器的信息)
-- screen : 获取屏幕的信息
-- location :请求的url地址
*** href属性
1)获取到请求的url地址
--document.write(location.href);
2)设置url地址
--页面上安置一个按钮,按钮上绑定一个事件,当点击这个按钮,页面可以跳转到另外一个页面
-- history :请求的url的历史记录
-- 创建三个页面(模拟上下历史的效果)
1)创建一个页面a.html 写一个超链接 到 b.html
2)创建 b.html 超链接到 c.html
3)创建 c.html
-- 到访问的上一个页面
history.back();
history,go(-1);
-- 到访问的下一个页面
history.forward();
history.go(1);
-- window(重点掌握) 窗口对象 顶层对象(所有bom对象都是在window里面操作的)
**方法
-- window.alert(); 简写为:alert(); 页面弹出一个窗口,显示内容
-- confirm("显示的消息内容"); 确认提示框 有返回值 true和false
-- prompt(); 输入的对话框(现在使用的不多) ,有两个参数:显示内容和默认值
-- open("url地址","","窗口特征,比如窗口宽度和高度"); 打开一个新窗口
-- close(); 关闭窗口(浏览器兼容性比较差)
-- 做一些定时器
*** setInterval("js代码",毫秒数); window.setInterval("alert('123');",3000); 表示每三秒执行一次alert方法
*** setTimeout("js代码",毫秒数); 表示在毫秒数之后执行,但是只会执行一次
***clearInterval(); 清除掉setInterval设置的定时器
-- var id1 = setInterval("alert('123');",3000);
clearInterval(id1);
***clearTimeout(); 清除掉setTimeout设置的定时器
js的dom对象
**dom :document object model: 文档对象类型
**文档:超文本文档(超文本标记文档) html、xml
**对象:提供了属性和方法
**模型:使用属性和方法操作超文本标记型文档
***可以使用js里面的dom里面提供的对象,使用这些对象的属性和方法,对标记型文档进行操作
***想要对标记型文档进行操作,首先需要把标记型文档里面的所有内容封装成对象
-- 需要把html里面的标签、属性、文本内容都封装成对象
***要想对标记型文档进行操作,解析标记型文档
***解析过程:根据html的层级结构,会在内存中分配一个树形结构,需要把html中的每部分封装成对象
*只能有一个根节点
在根节点下面可以有多个子节点,没有子节点的节点称为叶子节点
-- document对象:整个html文档
-- element对象:标签对象
-- 属性对象
-- 文本对象
** Node节点对象:是这些对象的父对象
DHTML:是很多技术的简称
** html:封装数据
** css:使用属性和属性值设置样式
** dom:操作html文档(标记型文档)
** javascript:专门指的是js的语法语句(ECMAscript)
document对象 表示整个文档
**常用方法
-- write()方法:1)向页面输出变量 2)向页面输出html代码
-- getElementById(); 表示通过id得到元素(标签)
-- getElementsByName(); 通过标签的name的属性值得到标签,返回的是一个集合(数组)
-- getElementsByTagName("标签的名称"); 返回的是一个集合(数组)
****注意的地方:只有一个标签,这个标签只能使用name获取到,这个时候,使用getElementsByName返回的是一个数组,但是现在只有一个元素,这个时候不需要遍历,而是可以直接通过数组的下标获取到值
var input1 = document.getElementsByName("name1")[0];
alert(input1.value);
案例:window弹窗案例
**实现过程:1)需要创建一个页面:两个输入项和一个按钮,按钮上边有一个事件,作用是弹出一个新窗口
2)创建弹出页面:表格 每一行表格上有一个按钮和编号和姓名;按钮上有一个事件:把当前的编号和姓名,赋值到第一个页面相应的位置
**跨页面的操作 opener :可以得到创建这个窗口的窗口,也就是可以得到父窗口
案例:在末尾添加节点
1)创建li标签
2)创建文本
3)把文本加入到li下面
4)把li加入到ul下面
元素对象(element对象):要操作element,首先必须要获取到element 使用document里面相应的方法获取
**方法
****获取属性里面的值 getAttribute("属性名称");
****设置属性的值 setAttribute(name,value);
****删除属性 removeAttribute("属性名称"); 不能删除value
** 想要获取标签下面的子标签
**使用属性 childNodes,但是这个属性兼容性很差
**获得标签下面子标签的唯一有效方法,使用getElementsByTagName方法
Node对象的属性
**nodeName
**nodeType
**nodevalue
**使用dom解析html时候,需要html里面的标签,属性和文本都封装成对象
**标签节点对应的值
nodeType : 1
nodeName : 大写标签名称,比如SPAN
nodevalue : null
**属性节点对应的值
nodeType : 2
nodeName : 属性名称
nodevalue : 属性的值
**文本节点对应的值
nodeType : 3
nodeName : #text
nodevalue : 文本内容
**
文本内容
Node对象的属性二
**父节点 ul是li的父节点
*** parentNode :父节点
**子节点 li是ul的子节点
*** childNodes : 得到所有子节点,但是兼容性很差
*** firstChild : 获取第一个子节点
*** lastChild : 获取最后一个子节点
**同辈节点 li与li之间是同辈节点
**nextSibling : 返回一个给定节点的下一个兄弟节点
**previousSibling : 返回一个给定节点的上一个兄弟节点
操作dom树
** appendChild方法:
*** 添加子节点到末尾
*** 特点:类似于剪切粘贴的效果
** insertBefore(newNode,oldNode);
*** 在某个节点之前插入一个新的节点 通过父节点添加
*** 两个参数 1)要插入的节点 2)在谁之前插入
*** 插入一个节点,节点不存在,创建
1)创建标签
2)创建文本
3)把文本添加到标签下面
**代码实现:(在
貂蝉之前添加
董小宛)
**removeChild方法:删除节点
***通过父节点删除,不能自己删除自己
**代码实现 : 删除
杨玉环
** replaceChild(newNode,oldNode); 替换节点
***两个参数:1)新的节点(替换成的节点) 2)旧的节点(被替换的节点)
***不能自己替换自己,通过父节点替换
** cloneNode(boolean) : 复制节点
**代码实现:把ul列表复制到另外一个div里面
**操作dom总结:
**获取节点使用方法
getElementById() : 通过节点的id属性,查找对应节点
getElementsByName() : 通过节点的name属性,查找对应节点
getElementsByTagName() : 通过节点名称,查找对应节点
**插入节点的方法
insertBefore方法 : 在某个节点之前插入
appendChild方法 : 在末尾添加,类似于剪贴粘贴
**删除节点的方法
removeChild方法 : 通过父节点删除
**替换节点的方法
replaceChild方法 : 通过父节点替换
innerHTML属性(重点)
** 这个属性不是dom的组成部分,但是大多数浏览器都支持的属性
** 第一个作用:获取文本内容
var span1 = document.getElementById("sid");
alert(span1.innerHTML);
** 第二个作用:向标签里面设置内容(可以是html代码)
测试文本
** 练习:向div里面添加一个表格
var tab = "
";
div11.innerHTML = tab;
案例:动态显示时间
** 得到当前时间
var date = new Date();
var d1 = date.toLocaleString();
** 需要让页面每一秒获取时间
setInterval方法 定时器
** 显示到页面上
每一秒向div里面写一次时间 使用innerHTML属性
** 代码实现 动态显示时间
案例:全选练习
** 使用复选框上面一个属性判断是否选中
** checked 属性
** checked = true; 选中
** checked = false; 未选中
** 创建一个页面
** 复选框 和 按钮
***四个复选框表示爱好
***还有一个复选框操作全选和全不选 有一个事件
***三个按钮 全选 全不选 反选 每个按键都分别有事件
**代码实现
全选/全不选
篮球
排球
羽毛球
乒乓球
案例:下拉列表左右选择
** 下拉选择框
** 创建一个页面
** 两个下拉框 设置属性multiple
** 四个按钮, 都有事件
** 代码实现:
案例:下拉框联动效果(省市联动)
** 创建一个页面,有两个下拉选择框
** 在第一个下拉框里面有一个事件:改变事件 onchange事件
** 方法 add1(this.value); 表示当前改变的 option 里面的value值
** 创建一个二维数组,存储数据
** 每个数组中第一个元素是国家名称,后面的元素是国家里面的城市
**代码实现:
以上这篇JavaWeb学习笔记分享(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持考高分网。