--------- android培训、java培训、期待与您交流! ----------
HTML
-------------------------------------------------------------------------------------------------------------------
HTML简介
1.Html就是超文本标记语言的简写,是最基础的网页语言
2.Html是通过标签来定义的语言,代码都是由标签所组成,因为可以通过标签中的属性值的改变对封装内数据进行操作。
3.Html代码不用区分大小写
4.HTML代码: <html> //开始
</html> //结束
<head></head> //头部分,定义的是网页的属性信息
<body></body> //体部分,是网页的显示内容
例:↓
5.head头部分是给Html网页增加一些辅助或者属性信息,它里面的内容会最先加载
6.body体部分是真正存放网页显示数据的地方
7.文件扩展名也是.html
8.HTML是一个非严谨性语言,写成这样也能运行
或者这样也能
综合例子:
<html>
<head>
<title>这是我的标题</title>
</head>
<body>
这是我的网页
</body>
</html>
--------------------------------------------------------------------------------------------------------------------
标签
●标签一定要成对出现:< >
●多数标签都是有开始标签和结束标签,其中有个别标签因为只有单一功能,或者没有要修饰的内容可以再标签内结束
如:<br/>:结束标签,<br>这么写也好使,但是按照HTML规范必须闭合
<hr/> :水平线
<img />
<input />
●想要对被标签修饰的内容进行更丰富的操作,就用到了标签中的属性,通过对属性值的改变,增加了更多的效果选择
●属性与属性值之间用”=”连接,属性值可以用双引号或单引号或者不用引号,一般都会用双引号。或公司规定书写规范
如果是不确定的数据下,双引号下可以嵌套单引号,如 ”’a’”
公司规定书写规范:标签名大写
属性名小写
属性值必须用双引号来引
table(空格)不一样↓
●标签格式:<标签名 属性名=’属性值’>数据内容</标签名>
<标签名 属性名=’属性值” />
●操作思想:为了操作数据,都需要对数据进行不同标签的封装,通过标签中的属性对封装的数据进行操作。标签就相当于一个容器,对容器中的数据进行操作,就是在在不断的改变容器的属性值。(这个思想一定要记住)
--------------------------------------------------------------------------------------------------------------------
常用标签:↓↓↓↓↓↓↓↓↓↓
--------------------------------------------------------------------------------------------------------------------
字体
1.字体标签:<font>
例:<font size =”5” color=”red”>字体标签示例</font>
//”5”:可以单引也可以双引‘5’,按照自己公司的规范来写
注:简单颜色可是直接写对应的英文,复杂颜色用16进制表示,表现形式#FF0000两个数为一组,按红,绿,蓝排列,如:#00FF00表示绿色。建议用工具选取。因为区别于它不是一个英文单词,所以都加#
#0000ff表示蓝色
#ffff00表示黄色
#ffffff表示白色
#000000表示黑色
//如自己调不出好看的颜色,可以在以后的学习中看到某些好看的颜色就记住他们的代码,自己用时复制粘贴即可
2.标题标签:<h1<h2><h3><h4><h5><h6>
因为标题是文本中常用的内容,为了方便操作而定义的。其实就是某个字号和粗体的组合
3.特殊字符:
如果要在页面显示一些特殊符号,防止浏览器解析需要进行转义,比如< > & 等。因为这些符号在代码中会被浏览器识别并解释,所以用一些特殊的方式来表示。
注:在Dreamweaver8中都具有联想功能 或者叫 随笔录入。
//必须掌握
例:<font color="#0033CC" size="7">这是我 要修饰的文字</font>
-------------------------------------------------------------------------------------------------------------------
列表
列表标签:<dl></dl>
<dt>:上层项目
<dd>:下层项目
例:
<dl>
<dt>上层项目</dt>
<dd>下层项目</dd>
</dl>
列表中项目符号标签:
<ul>:无序列表,符号标签(○●■),
<ol>:有序列表,数字标签(a A 1 i I),有缩进效果
<li>:具体项目内容标签。
此标签只在<ol> <ul>中有效 / 上面两个标签中的列表项都由<li>标签封装
//通过type属性更改项目符号,如果想做出效果更好的列表,如:黑色圆点用图片表示,就用到CSS(层叠样式表),用于专门丰富HTML显示效果
--------------------------------------------------------
例1:
<ol type="i" start="3">
<!- i:i打头排序,如:i,ii ,iii ->
<!- start:从3开始排序,如iii,iv,v,vi ->
<li>sdfasdfsddsadf</li>
<li>sdfasdfsddsadf</li>
<li>sdfasdfsddsadf</li>
<li>sdfasdfsddsadf</li>
<li>sdfasdfsddsadf</li>
<li>sdfasdfsddsadf</li>
</ol>
<ul type="circle" >
<!- ul type默认是黑圆点 ->
<!- circle:空心圆点 ->
<li>sdfasdfsddsadf</li>
<li>sdfasdfsddsadf</li>
<li>sdfasdfsddsadf</li>
<li>sdfasdfsddsadf</li>
<li>sdfasdfsddsadf</li>
<li>sdfasdfsddsadf</li>
</ul>
------------------------------------------------------------
例2:
<dl>
<dt>游戏名称</dt>
<dd>星际争霸</dd>
<dd>红色警戒</dd>
<dt>部门名称</dt>
<dd>技术部</dd>
<dd>培训部</dd>
</dl>
--------------------------------------------------------------
例3:
<ol>
<li>游戏名称</li>
<ul>
<li>星际</li>
<li>红警</li>
</ul>
<li>游戏内容</li>
<ol type=”a”>
<li>攻略</li>
<li>秘籍</li>
</ol>
</ol>
-------------------------------------------------------------------------------------------------------------------
注释
<!-- 注释文字 -->
例:↓
-------------------------------------------------------------------------------------------------------------------
图像
1. 图像标签:<img>
例1:
<img src=”1.jpg” align=”middle” border=”3” alt=”图片说明文字”/>
//align:属性定义图片的排列方式,border用来设置图像的边框。Src 连接一个文件
例2:
<img src="../Day22/1.jpg" alt="图片说明文字" height="400" width="400"/>
<!- ../Day22/1.jpg:相对路径 ->
<!- ../:向上一层目录 ->
<!- 根据规范结尾必须加alt属性,没有结束标签,直接闭合 ->
<!- height:图片高度 height:图片宽度 ->
//如果图片不存在,就显示成这样
2. 图像地图:<map>
应用:当要在图像中选取某一部分作为连接的时候。如:中国地图每个省所对应的区域。
map标签要和img标签联合使用。href是超链接
<img src="Sunset.jpg" alt="图片说明文字" usemap="#Map" />
<map >
<area shape="rect" coords="50,59,116,104" href="1.html" />
<area shape="circle" coords="118,203,40" href="2.html" />
</map>
----------------------------------------------------------------------------------------------------------------------
表格
表格标签:<table>
作用:格式化数据,是最常用的标签。
组成:标题标签:<caption>,给表格提供标题。
表头标签:<th>,一般对表格的第一行或者第一列进行格式化,就是粗体和居中显示的特点,但并不常用。
行标签:<tr>
单元格标签:<td>,加载行标签的里面。可以简单理解为,先有行,在行中在加入单元格。
表格由行组成,行由单元格组成 ↓
----------------------------------
表格语法格式
<table border=”1” bordercolordark="#336699"cellspacing=”0” cellpadding=”0” width=”60%”>
<tr>
<td>单元格内容;</td>
<td>单元格内容</td>
</tr>
<tr>
<td>单元格内容</td>
<td>单元格内容</td>
</tr>
</table>
Table:表格标签
border:边框
bordercolordark:边框颜色
cellspacing:单元格间距
cellpadding:单元格边距
<tr>:表格的行
<td>:单元格(列)
--------------------------------------
行标签:<tr>
单元格标签:<td>,加载行标签的里面。可以简单理解为,先有行,在行中在加入单元格。
示例代码:↓
例1: <tr>
<td>单元格一</td>
<td>单元格二</td>
</tr>
<tr>
<td>单元格一</td>
<td>单元格二</td>
</tr>
<tr>
<td align="center"><b>单元格一</b></td>
<td>单元格二</td>
</tr>
<!- table:表格 ->
<!- tr:行标签 ->
<!- td:单元格 ->
<!- th:对单元格的数据居中并加粗 ->
<!- <b></b>:加粗标签 ->
<!- align="center":居中显示 ->
例2: <table border="1" bordercolor="#00CCCC" width="70%" cellspacing="0" cellpadding="10">
<!- border:边框 ->
<!- bordercolor:边框颜色 ->
<!- width="70%:占窗体浏览器的百分之70 ->
<!- cellspacing:单元格间距 ->
<!- cellpadding:单元格边距 ->
例3:<table border="1" bordercolor="#00CCCC" width="70%" cellspacing="9"> ↓
例4:<table border="1" bordercolor="#00CCCC" width="70%" cellspacing="0"> ↓
例5:<table border="1" bordercolor="#00CCCC" width="70%" cellspacing="0" cellpadding="10"> ↓
------------------------------------------
表头标签:<th>,一般对表格的第一行或者第一列进行格式化,就是粗体和居中显示。并不常用。
例:<tr>
<th>单元格一</th>
<th>单元格二</th>
</tr> ↓
------------------------------------------
标题标签:<caption>,给表格提供标题。
示例:
<caption>表格标题</caption>
-----------------------------------------
表格的跨行和跨列
2.rowspan:跨行
示例:
<tr>
<th colspan="2">单元格一</th>
<th>单元格二</th>
</tr>
<tr>
<th rowspan="2">单元格一</th>
<th>单元格二</th>
</tr>
---------------------------
表格的THEAD、TFOOT和TBODY元素
每个表格可以有一个表头、一个表尾和一个或多个表体(即正文),分别以THEAD、TFOOT和TBODY元素表示。
1.THEAD包含关于表格列的信息,只能定义一个。
2.TFOOT包含关于表格列的信息,只能定义一个。
3.TBODY作用是:多定义多个,可以控制表格分行下载,从而提高下载速度。(网页的打开是先表格的的内容全部下载完毕后,才显示出来,分行下载可以先显示部分内容,这样会减少用户等待时间。)
TBODY目的:可以使得这些包含在内的代码不用在整个表格都解析后一起显示,就是说如果有多个行,那么如果得到一个TBODY行,就可以先显示一行。
TBODY这个标签可以控制表格分行下载,当表格内容很大时比较实用,在需要分行下载处加上<tbody>和</tbody>。
表格中默认都有一个TBODY标签,它下面才是tr,tr里面才是td,这个层次关系必须知道,只有了解它才能进行DOM编程 ,所以说表格的下个标签是tbody ↓
-------------------------------------------
示例代码:
格式1:↓
<table border="1" width=”40%”><!—width值为百分比可以让表格的宽度随浏览器窗口的大小变化-->
<caption>表格标题</caption>
<tr><!-- 第一行 -->
<th>姓名</th>
<th>年龄</th>
</tr>
<tr algin=”center”><!-- 第二行 -->
<td>张三</td>
<td>23</td>
</tr>
</table>
效果:↓
格式2:↓
<table border="1" width="40%">
<tr>
<tr>
<th colspan="2"> <!-- colspan:th标签占两列 -->
个人信息
</th>
</tr>
<tr align="center">
<td>张三</td>
<td>23</td>
</tr>
</tr>
</table>
效果:↓
-------------------------------------------------------------------------------------------------------------------
超链接
超链接标签:<a>
两种用法:↓
一:超链接<a href=””>
例1:<a href=”http://www.sina.com.cn” target=”_blank”>新浪</a>
当被点击后,会启动引擎对应解析程序
1.先找本地主机的hosts文件,如果没有找到该主机对应的ip地址
2.去公网DNS服务器上找对应的ip地址
href属性值可以是url,也可以是本地文件。target属性是指定在哪个窗口或者帧中打开。
例2:<a href=”mailto:abl@abc@sohu.com?subject=haha&cc=qq@163.com” >联系我们</a>
当点击超链接时,就会出现邮件相关联的解析程序,本机默认的是outlook
例:
<a href="http://www.sina.com">新浪网站</a>
<br/>
<a href="thunker://ssasasddadas">唐山大地震</a>
<br/>
<a href="mailto:abc@sohu.com?subject=hahahaha&cc==kkk@sina.com">联系我们</a>
<!-- ?subject=hahahaha:协议地址后面的参数信息,subject:参数名 hahahaha:参数值-->
<!-- &cc==kkk@sina.com:第二个参数值 -->
<hr/>
二:定位标记<a name=””>
一般在本页面中使用,当网页内容过长,定位标记会比拖动滚动条方便快捷。
注:定位标记要和超链接结合使用才有效。
例:
<a name=”标记”>标记位置</a>
<p>…….<!--很多空行以制造网页过长的效果 -->
<a href=”#标记”>返回标记位置</a>
注:使用定位标记时一定在href值的开始加入#标记名。
例1:<a name=”top”>顶部位置</a>
<a href=”top”>获取那个位置</a> //不加#走的是默认的文件引擎
<a href=”#top”>回到顶部位置</a> //#是一个标记,表示走的本页面的位置
→
例2:<a href="http://www.sina.com" target="_blank">新浪网站</a>
<!-- _blank:新建页面打开 -->
例3:<a href="http://www.xxxx.com"><img src="7.bmp" /></a>
分析真假地址1:下载地址是手点的图标一定是假的地址
分析真假地址2:注意任务栏的www.xxxx.com,地址不对,所以是假的就别点了。
-------------------------------------------------------------------------------------------------------------------
框架
框架标签:<frameset>
注:框架标签不可以放到<body>,一般为了代码的可读性,会到<head>和<body>之间。
例:
<frameset rows="10%,*">
<frame src="1.html" name="top" />
<frameset cols="30%,*">
<frame src="2.html" name="left" />
<frame src="3.html" name="right" />
</frameset>
</frameset>
这段代码会需要已经存在的3个html页面,分别是:1.html,2,html,3.html
效果:
注:当框架大小不想被鼠标拖动而改变,可以在frame标签中加入noresize属性,这个属性没有属性值,称为标记属性,加上就为固定。
在XHTML的规范中,所有的属性都要有属性值,那么标记属性的属性值就是自身,如:noresize=”noresize”
画中画标签:<iframe>
<iframe src=”1.html” >
很遗憾,画中画你没有看到,因为你的浏览器不支持iframe标签。
</iframe>
框架标签现在不是很常用,布局都用div+css+table。框架很少使用了。
-------------------------------------------------------------------------------------------------------------------
表单(重点掌握)
表单标签:<form>:表单标签是最常用的标签,用于与服务器端的交互a
<input>:输入标签 :接收用户输入信息。该标签因为type属性的值的不同,所对用的组件也不一样。
name属性和value属性:表单组件通常都需要定义它俩,因为要将数据发送给服务端,服务端只有知道了该name的值才可以对提交的数据进行分别获取
type属性:指定输入标签的类型。↓
l 文本框 text:输入的文本信息直接显示在框中。 输入的文本可见
例:用户名:<input type="text" name="user" /><br />
l 密码框 password:输入的文本以原点或者星号的形式显示/非明文,输入的文本不可见
例:密码:<input type ="password" name="psw" /><br />
l 单选框 radio :如:性checkbox 别选择。
注意,要被选中,必须要给单选框定义一个属性name。
当有多个单选框是,只能有一个别选中,那么这些单选框的name值必须相同
例:性别:<input type="radio" name="sex" value="nan" />男<input type="radio" name="sex" value="nv" />女<br />
//注意:name属性将多个单选按钮封装到一个组里
l 复选框 checkbox :如:兴趣选择。对多个数据进行同时选中时
例:技术:<input type="checkbox" name="tech" value="java" />java
<input type="checkbox" name="tech" value="html"/>html
<input type="checkbox" name="tech" value="jsp" />jsp<br />
l 文件上传 file :会自动生成一个文本框,和一个浏览按钮。可以进行文件选择的组件,通常用于附近和文件上传
例:上传文件:<input type="file" /><br />
l 按钮 button :可以为其自定义事件。自定义一个按钮默认是没有任何效果的,可以同通过注册事件并加入自定义效果
例:按钮:<input type="button" value="一个按钮" />
l 提交按钮 submit :用于提交表单中的内容。
例:<input type="submit" />
→
l 重置按钮 reset :将表单中填写的内容设置为初始值。
例:<input type="reset" />
→
l 隐藏字段 hidden :隐藏组件,封装隐藏信息,在页面上不显示不需要用户看到,但在提交的时候随其他内容一起提交。(其定义的name和value可以提交到服务端)
例:<input type="hidden" name="id" value="234323432332131" />
<input type="hidden" name="id" value="<%=new Date()%>" /> //可以算出里面公式的结果发生初期
l 图像 image :图像组件,它可以替代submit按钮,为了避免提交按钮的难看,可以通过image的src属性连接一个好看的按钮图片完成提交效果
例:<input type="image" src="7.bmp" />
<select>:选择标签 /下拉菜单 ,提供用户选择内容。如:用户所在的省市。
size 属性:显示项目个数
multiple属性:多选
例:选择下拉菜单:↓
<select name="country" multiple="multiple" size="2">
<option value="none">--选择国家--</option>
<option value="cn">中国</option>
<option value="en">英国</option>
<option value="usa">美国</option>
</select>
<option>:子项标签 属性 selected 没有属性值,加在子项上,其中一个子项上,子项就变成默认被选项。
例: <tr>
<td>国家:</td>
<td>
<select name="country">
<option value="none">--选择国家--</option>
<option value="cn">中国</option>
<option value="en">英国</option>
<option value="usa">美国</option>
</select>
</td>
</tr>
<textarea>:多行文本框 / 文本区域 ,如:个人信息描述。
例:<textarea cols="30" rows="10">
</textarea>
<fieldset> 标签将表单内容的一部分打包,生成一组相关表单的字段。
<legend></legend>元素为fieldset元素定义标题
例: <fieldset>
<legend>注册区域</legend>
</fieldset>
--------------------------------------------
表单提交:
1.先定义form表单中的action属性值,指定表单数据提交的目的地(服务端)。
action:指定数据提交的目的地
例:<form action="http://www.sina.com.cn"> <!-- 注册的信息提交给新浪 -->
<form action="http://192.168.1.254:10009"> <!-- 组成的信息提交给192.168.1.254的IP地址,10009端口
2.明确提交方式,通过指定method属性值。如果不定义,那么method的值默认是get。
method:提交方式,两种常用值get和post,get为默认(method="get" / method="post")
get和post这两种最常用的提交方式的区别:
1.get提交将数据显示在地址栏,对于敏感信息不安全。↓
post提交不显示在地址栏,对于敏感信息安全↓
2.地址栏中存放的数据是有限,所以get方式对提交的数据体积有限制。
post可以提交大体积数据。
3.对提交数据的封装方式不同:
get:将提交数据封装到了http消息头的第一行,请求行中。↓
post:将提交的数据封装到消息头后,在请求数据体中。↓
注意:通常表单使用post提交,因为编码方便。
对于Tomcat服务器端,默认的解码方式是ISO8859-1,那么中文会出现乱码。
通过post提交,可以使用request.setCharacterEncoding(“GBK”);来解决乱码问题,该方法只对数据体有效。
如果是get提交,request.setCharacterEncoding(“GBK”)该方法对乱码解决不了,必须先进行ISO8859-1编码,然后在进行GBK的解码。这种方式虽然对post提交的乱码也通用,但是麻烦。所以建立表单提交使用post。
使用表单的组件不一定要定义form标签,只有需要将数据进行服务端的提交的时候才会用到form标签
----------------------------------------
消息头:HTTP进行传输的时候,把客户端的信息发送给服务端去,按照客户端的需求对数据进行回馈
-----------------------------------------------
<label>:用于给各元素定义快捷键。
for 属性:指定快捷键作用的表单元素。必须与要作用的表单元素的id值相同。
accesskey 属性:指定快捷键,此快捷键需要和alt键组合使用。
例:对单行有效↓
<tr>
<td><label for="user" accesskey="u">用户名(u)</label></td>
<td><input type="text" name="user" /></td>
</tr>
对多行有效↓
<label accesskey="u" for="userid">:
<tr>
<td>用户名(U)</td>
<td><input type="text" name="user" /></td>
</tr>
</label>
----------------------------------
提交方法1:
<a href="http://192.168.1.254:10009?user=abc&repsw=1234&sex=nan">提交数据</a>
数据也能提交,但是是GET提交(超链接默认都是GET)
提交方法2:
所以有方法2就没有必要方法1了
---------------------------------------------
<pre></pre/>:保持原有数据格式不变
------------------------------------------
<p></p>:段落标签
例: <p>
asds<br />adasd
</p>
<p>
asdsadasd
</p>
-----------------------------------------
<b></b>:加粗标签
<i></i>:斜体标签
<u></u>:下划线标签
例:<p>
asdsadasd<b>asdasd</b>asdas<i>adsa</i>asdsad<u>adasdas</u>
</p>
<strong></strong>:和b标签一个效果,因为单词意思好理解(强壮的意思)
例:<p>
<strong>sa</strong>............
</p>
-----------------------------------------
<sub></sub>:下标标签
例:sas<sub>d</sub>
<sup></sup>:上标标签
例:s<sup>a</sup>
------------------------------------------
<marquee></marquee>:字幕从右往左飞
例:<marquee>
飞!
</marquee>
(动态效果,字幕从右往左飞)
direction:方向属性↓
direction=”down”:往上飞
“up”:往下飞
“left”:往左飞
“right”:往右飞
例:<marquee direction=”down”>
飞!
<marquee>
behavior:行为属性↓
behavior=”alternate”:上下弹效果
例:<marquee direction =“down” behavior=”alternate”>
飞!
</marquee>
behavior=”scroll”:上下穿效果 ↓
例:<marquee direction =“down” behavior=”scroll”>
飞!
</marquee>
behavior=”slide”:从上下来就不动了 ↓ (常用)
例:<marquee direction =“down” behavior=”slide”>
飞!
</marquee>
以上全是体标签结束 ↑
下面开始头标签 ↓
-------------------------------------------------------------------------------------------------------------------
头标签
头标签都放在<head></head>头部分之间。包括title base meta link
1.<title>:指定浏览器的标题栏显示的内容
2.<base>:(更新网站页面更改它的地址即可)
href属性:指定网页中所有的超链接的目录。可以是本地目录,也可以是网络目录。注意值的结尾处一定要用/表示目录。只作用于相对路径的超链接文件。
target属性:指定打开超链接的方式。如_blank表示所有的超链接都用新窗口打开显示。
3.<meta>:
name属性:网页的描述信息。当keywords时,content属性的内容就作为搜索引擎的关键字进行搜索
例:<meta name="keywords" content="犀利哥,凤姐,唐山大地震,曾哥" />
<!-- 百度搜索这4个关键字就可找到我的主页 -->
http-equiv属性:模拟HTTP协议的相应消息头。
例:<meta http-equiv=”refresh” content=”3;url=http://www.sina.com.cn” />
<!-- 表示打开此页面3秒后自动转到新浪页面,比如就像刚注册后的5秒后刷新跳转回到主页 -->
<meta http-equiv=”refresh” content=”3” />
<!-- 3秒一刷新主页好更新新数据,用于股票,聊天等等 -->
4.<link>:(给HTML页面关联一些指定文件进来)
rel属性:描述目标文档与当前文档的关系
<link rel=”stylesheet” href=”1.css” media=”print” />
加载这个1.css样式表,但在只限制在打印机上,在网页上看不到功能
<link rel=”stylesheet” href=”1.css” media=”screen” />
加载这个1.css样式表,但在页面上看到(屏幕显示)
<link rel=”stylesheet” href=”1.css” media=”screen,print” />
加载这个1.css样式表,在页面和打印机能看到效果
-------------------------------------------------------------------------------------------------------------------
XHTML XML
-----------------------------------------------------------
XHTML是可扩展的超文本标记语言(Extensible HyperText Markup Language)。
l XHTML是w3c组织在2000年的时候为了增强HTML推出的,本来是想替代HTML,但是发现Internet上用HTML写的网页太多,未遂!可以理解为它是HTML一个升级版(HTML4.01)。
//W3C:万维网路联盟(World Wide Web Consortium)
l XHTML的代码结构更为严谨,是基于XML的一种应用。(HTML是非严谨的,怎么写都可以!)
------------------------------------------------------------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html></html>:根标签
例:<html xmlns="http://www.w3.org/1999/xhtml">
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" (
//DOCTYPE html :HTML文档类型
//PUBLIC:大型国际化组织很多规范定义的关键字
//W3C//DTD XHTML 1.0 Transitional:W3C按照DTD方式以XHTML 1.0 的过渡版所制定的,默认都是这个过渡版
//EN:英文
xhtml1-transitional.dtd:一种规范规则的文件,代码都要约束并按照它的格式来写。
Dreamweaver中可以新建没有规范约束的HTML模板(新建文档→文档类型(无)→创建)
http://www.w3.org/TR/xhtml1/DTD/:命名空间,xhtml1-transitional.dtd属于这个名称空间
<html xmlns="http://www.w3.org/1999/xhtml">:html 属于这个空间(http://www.w3.org/1999/xhtml)
xmlns:名称空间
-------------------------------------------------------------------------
XML是可扩展标记语言(Extensible Markup Language)
l XML是对数据信息的描述。HTML是数据显示的描述。
l XML代码规定的更为严格,如:标签不结束被视为错误。
l XML规范可以被更多的应用程序所解释,将成为一种通用的数据交换语言。
l 各个服务器(如tomcat),框架都将XML作为配置文件。所以以后要重点学习一下。
2种配置文件
properties加载的键值对信息(ini文件)
XML
他们有什么区别?
properties加载的键值对信息(ini文件):用于简单数据描述,作为基本配置文件描述
XML:用于复杂的信息描述,更为通用一些,国际流行的软件都用它。
头标签结束 ↑
--------------------------------------------------------------------------------------------------------------------
正则表达式
正则表达式说明:↓
是一种专门用于操作字符串的规则。
通过一些符号来表示,简化对字符串的复杂操作。
弊端:阅读性较差
正则表达式地址:↓
常用的操作:
1.匹配:String matches(reges)
2.获取(查找):Pattern,Matcher
Pattern p =Pattern.compile(regex) //正则表达式封装成对象
Matcher m = p.matcher(String);
while(m.find())
{
System.out.prinln(m.group());
}
示例:获取文档中连续的数字
String regex = “\\d{5,};
Pattern p =Pattern.compile(regex);
Matcher m =p.matcher(String);
while(m.find())
{
String s = m.group();
s.replaceAll(regex,”#”);
}
3.切割:String split(regex);
4.替换:String replaceAll(regex,str);
网页爬虫:通过网络以及IO读取网页的源文件,并通过规则获取网页中的符合规则的数据。
简单的说就是:人为编写的一个自动化程度。比如搜索引擎的原理,它会派蜘蛛程序在一定的时间里去网上抓取网页,如果网站不被搜索引擎(百度)收录,那么就搜不到。
比如:mail爬虫
例:获取Email地址↓
String mailreg = “[a-zA-Z0-9_]{6,12}@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+”;
正则表达式中组的含义:将部分进行封装以便重用,\\num反向引用指定组
示例:IP地址排序
----------------------------------
正则表达式的构造摘要
字符类 | |
[abc] | a、b 或 c(简单类) |
[^abc] | 任何字符,除了 a、b 或 c(否定) |
[a-zA-Z] | a到 z 或 A 到 Z,两头的字母包括在内(范围) |
[a-d[m-p]] | a到 d 或 m 到 p:[a-dm-p](并集) |
[a-z&&[def]] | d、e 或 f(交集) |
[a-z&&[^bc]] | a到 z,除了 b 和 c:[ad-z](减去) |
[a-z&&[^m-p]] | a到 z,而非 m 到 p:[a-lq-z](减去) |
比较重要的两组正则表达式
预定义字符类 | |
. | 任何字符(与行结束符可能匹配也可能不匹配) |
\d | 数字:[0-9] |
\D | 非数字: [^0-9] |
\s | 空白字符:[ \t\n\x0B\f\r] |
\S | 非空白字符:[^\s] |
\w | 单词字符:[a-zA-Z_0-9] |
\W | 非单词字符:[^\w] |
X? | X,一次或一次也没有 |
X* | X,零次或多次 |
X+ | X,一次或多次 |
X{n} | X,恰好 n 次 |
X{n,} | X,至少 n 次 |
X{n,m} | X,至少 n 次,但是不超过 m 次 |
//用正则表达式一定全面测试,否则会出问题