一、Web項目(可跳過,直接從下一個標題開始) 1、Web項目: 指的是帶網頁的項目,通過瀏覽器可以訪問的項目。比如:淘寶、天貓等。 2、Web項目構成: 瀏覽器(客戶端)、伺服器、資料庫。 3、Java Web項目訪問流程: 客戶端通過Servlet/JSP與伺服器進行聯繫,伺服器通過JDBC與數 ...
一、Web項目(可跳過,直接從下一個標題開始)
1、Web項目:
指的是帶網頁的項目,通過瀏覽器可以訪問的項目。比如:淘寶、天貓等。
2、Web項目構成:
瀏覽器(客戶端)、伺服器、資料庫。
3、Java Web項目訪問流程:
客戶端通過Servlet/JSP與伺服器進行聯繫,伺服器通過JDBC與資料庫進行聯繫。
4、Java Web程式員學習目標:
(1)如何對伺服器進行編程。
(2)如何對資料庫進行編程。
(3)如何使伺服器訪問資料庫。
(4)如何對客戶端進行編程。
(5)如何使客戶端訪問伺服器。
(6)如何使用框架提高效率。
5、Web基礎(寫網頁):
(1)HTML:用來勾勒出網頁的結構與內容。
(2)CSS:用來裝飾網頁。控制頁面的外觀和表現。
(3)JavaScript:用來使網頁出現動態的效果。控制頁面的行為。
二、HTML
1、HTML工作原理:
HTML是部署在伺服器上的文本文件。
(1)根據HTTP協議,瀏覽器發送請求到伺服器。
(2)伺服器做出響應,並返迴響應請求到瀏覽器。
(3)瀏覽器執行HTML,並顯示內容。
即HTML部署在服務端,運行在客戶端。
2、XML:
(1)XML(Extensible Markup Language)指可擴展標記語言。主要用於存儲或傳輸數據以及作為配置文件。(重點為數據的內容)
(2)可擴展表現為:標簽可擴展、屬性可擴展、元素之間嵌套關係可擴展。
(3)嚴格要求標簽的嵌套、配對,屬性必須要有值,屬性值寫在引號中。
(4)XML解析方式:
DOM解析方式:指Document Object Model,即文檔對象模型,是W3C組織推薦的一種處理XML的一種方式。DOM解析文檔時,會將文檔中所有元素,按照其出現的層次關係,將其解析成一個一個的Node對象(節點)。DOM優點:把xml文件在記憶體中構造出樹形結構,可以遍歷並修改節點。缺點:如果文件較大,記憶體有壓力,解析時間長。
SAX解析方式:指simple API for XML ,是一種XML解析的替代方法。SAX逐行掃描文檔,邊掃描邊解析。相比於DOM,SAX是一種速度更快、更有效的方法,且SAX可以在解析文檔的任意時刻停止解析。SAX優點:解析速度快,沒記憶體壓力。缺點:不能對節點進行修改。(比如安卓)
3、HTML:
(1)HTML(HyperText Markup Language)指超文本標記語言,是一種純文本類型的語言。用於顯示數據。(重點是數據的外觀)
(2)可以理解為固定的XML,標簽固定、屬性固定、元素嵌套關係固定。
(3)HTML存在多個版本,若不能正確識別版本,則瀏覽器不能正確的顯示頁面。使用<!DOCTYPE>用於聲明HTML版本。
例如: 聲明HTML5版本, <!DOCTYPE html>
(4)基本結構:
<!-- 將文檔聲明為HTML5版本 --> <!DOCTYPE html> <!--html是唯一的根--> <html> <head> <!--設置文檔標題、編碼、引入的資源--> </head> <body> <!--頁面上要呈現的內容--> Hello HTML! </body> </html>
(5)<head>標簽:
是所有頭部元素的容器。
<head>可以有元素<title>,<meta>,<link>,<style>,<script>。用於設置文檔標題、編碼、引入的資源。
<title>定義頁面標題,若不設置,則預設為當前文件名。
<meta>提供關於HTML文檔的元數據,該數據不會顯示在頁面上,但對於機器是可讀的。常見屬性有:content, http-equiv, charset。用於規定頁面的描述、關鍵字、文檔的作者、最後修改的時間以及其他元數據。
<!-- 將文檔聲明為HTML5版本 --> <!DOCTYPE html> <!--html是唯一的根元素 --> <html> <head> <!-- 設置標題、編碼、引入的資源 --> <!-- 設置文檔標題 --> <title>我的第一個網頁</title> <!-- 設置編碼格式, 要和文檔保存的編碼格式相同--> <meta charset = "utf-8"/> </head> <body> <!-- 文檔呈現的內容 --> Hello HTML! </body> </html>
三、HTML標簽
1、文本元素(文本標簽)
(1)作用:
文本是網頁上的重要組成部分,直接書寫的文本會使用瀏覽器的預設樣式顯示。
(2)分類:
標題元素(<h1> ~ <h6>)。
段落元素(<p>)。
列表元素(<ol> <li>, <ul> <li>)。
分區元素(<div>, <span>)。
行內元素(<i>, <em>, <br>等)。
(3)標題元素(<h1> ~ <h6>):
標題元素使文字突出,一般用於文章的標題,顯示不同的字體大小。
語法規則:
<h#></h#>,其中# = 1,2,3,4,5,6。其中<h1>為最大號標題。
(4)段落元素(<p>):
段落元素提供了結構化文本的方式。文本會用單獨的段落顯示,與前後文本分開,並添加一段額外的垂直空白距離。可以使用<br>主動換行。
語法規則:
<p>文本內容</p>。
(5)列表元素(<ol> <li>, <ul> <li>):
列表將具有相似特征或者具有先後順序的幾行文字進行排序。所有的列表都由列表類型和列表項組成。
列表類型:有序列表(<ol>),無序列表(<ul>)。
列表項指:<li>,用於顯示具體的列表內容。
語法規則:
【有序列表(在文本內容前加數字表示順序):】 <ol> <li>文本內容</li> <li>文本內容</li> </ol> 【無序列表(在文本內容前加小圓點表示無序):】 <ul> <li>文本內容</li> <li>文本內容</li> </ul> 【有序、無序嵌套:】 <ol> <li> 文本內容 <ul> <li>文本內容</li> <li>文本內容</li> </ul> </li> <li>文本內容</li> </ol>
(6)分區元素(<div>, <span>)
分區元素用於元素分組,常用於頁面佈局,便於開發。
語法規則:
【塊分區元素(會影響頁面佈局)】: <div>文本內容</div> 【行內分區元素(設置同一行文字中的不同格式)】: <span>文本內容</span>
(7)行內元素(<i>, <em>, <br>等)
<i>, <em>元素用來定義斜體字。 <b>, <strong>元素用來定義粗體字。 <del>元素用來定義帶刪除線的文字。 <u>元素用來定義帶下劃線的文字。 <br>元素用來換行。 表示空格(其分號不能少)。 < 表示小於號(<)。 > 表示大於號(>)。 & 表示(&)。 © 表示版權(©)。
2、圖像、超鏈接、錨點、表格
(1)圖像<img>:
使用<img>元素將圖像添加到頁面。
必須存在的屬性:src(添加路徑)。常用屬性:width, height。
語法規則:
<img src="" width="" height=""> src屬性:指圖片路徑。 width屬性:指圖片寬度。 height屬性:指圖片高度。
(2)超鏈接<a>:
使用<a>元素創建一個超鏈接。
語法規則:
<a href ="" target = "">文本</a>。 href屬性:指鏈接的URL。 target屬性:指目標的打開方式,可取值為_blank(打開新視窗), _self(當前視窗打開)等。
(3)錨點(特殊的超鏈接):
錨點是文檔中某行的一個記號,用於鏈接(跳轉)到文檔中的某個位置。
語法規則:
定義錨點: <a name = "name1">錨點一</a> 鏈接到錨點(要在錨點名前加#): <a href = "#name1">回到錨點一</a> 預設的鏈接為回到頂部,不需要設置錨點。 格式: <a href = "#"></a>
(4)表格:
表格通常用來組織結構化的信息。表格是由一些矩形框(單元格)按照從左到右,從上到下的順序排列而成的。表格的數據顯示在單元格內。
表格元素為: table(表格), td(列,是單元格), tr(行)。 預設情況下,表格的邊線看不見,可以給table統一設置邊線可見。 cellpadding:單元格邊框與內容間的間距。 cellspacing:單元格之間的間距。 常用屬性: <table>常用屬性:border, width, height, align, cellpadding, cellspacing. <tr>常用屬性:align, valign . <td>常用屬性:align, valign, width, height, colspan, rowspan。 rowspan:跨行,使當前單元格沿著垂直方向延伸,值為合併單元格數。 colspan:跨列,使當前單元格沿著水平方向延伸,值為合併單元格數。 caption元素:為表格定義標題,預設居中顯示在表格上方。 舉例: <!-- 創建一個兩行兩列的表格 --> <table border="1px" width="100px" height="100px"> <caption> 測試 </caption> <tr> <td colspan="2" align="center"> aaa </td> </tr> <tr> <td> ccc </td> <td> ddd </td> </tr> </table> 表格行分組: 表格可以分成3部分:表頭,表主體和表尾。分組的目的是為了方便對組內元素設置樣式以及編程(JS)。 表頭行分組:<thead></thead> 表主體行分組:<tbody></tbody> 表尾行分組:<tfoot></tfoot> 【舉例:】 <!-- 創建一個兩行兩列的表格,使用<tbody> --> <table border="1px" width="100px" height="100px"> <caption> 測試 </caption> <tbody> <tr> <td colspan="2" align="center"> aaa </td> </tr> <tr> <td> ccc </td> <td> ddd </td> </tr> </tbody> </table>
3、表單<form>
(1)表單的作用:
表單用於顯示、收集信息,並提交信息到伺服器。表單是瀏覽器向伺服器傳輸數據的手段。
表單處理:
實現數據交換的可見界面元素,比如文本框、按鈕等。
提交後的表單處理(不可見)。
(2)表單<form>:
使用<form>元素創建表單。併在<form>元素中添加表單控制項元素。即form元素在頁面上有固定的表單範圍,其內部的空間才可提交。
主要屬性:
action:定義表單被提交時發生的動作,通常包含服務方腳本的URL(JSP或PHP等)。
method:指出表單數據的提交方式,取值為get或者post。
enctype:表單數據進行編碼的方式。
name:表單的名稱。
(3)表單控制項:
表單控制項元素是包含在表單元素中具有可視化外觀的HTML元素,用於訪問者輸入信息。即表單控制項是一種HTML元素,是信息輸入項。表單可以包含很多不同類型的表單控制項。
常用表單控制項:
input元素:文本輸入控制項、按鈕、單選和覆選框、選擇框、文件選擇框和隱藏控制項等。
textarea元素:定義多行的文本輸入控制項。
select和option元素:可創建單選或多選菜單。
(4)<input>標簽:
<input>元素用於收集用戶信息。該元素是一個單標記,即格式為<input />。
屬性: type:根據不同type值,可以創建各種類型的輸入欄位,比如文本框、覆選框等。 value:控制項的數據。 name:控制項的名稱。 文本框與密碼框: 文本框:<input type="text" /> 密碼框:<input type="password" /> 【主要屬性:】 value屬性:由訪問者自由輸入的任何文本。 maxlength屬性:限制輸入的字元數。 readonly屬性:設置文本控制項可讀。 【舉例:】 <!-- label是表單中的文本,通過for屬性可以綁定到input元素上,使得點擊此label時,相當於點擊了對應的input。id相當於元素的身份證號,用來引用該元素 --> <label for="userName">賬號:</label> <input type="text" id="userName"/> <label for="pwd">密碼:</label> <input type="password" id="pwd" /> 單選框與覆選框: 單選框:<input type="radio" /> 覆選框:<input type="checkbox" /> 【主要屬性:】 value:文本,當提交form時,如果選中此單選按鈕,那麼該value值將被髮送到伺服器。 name:用於實現分組,一組單選框或者覆選框名稱必須相同。 checked:設置選中。 【舉例:】 <!-- 單選框(按鈕) ,一組單選框間需彼此互斥,需使其同名,即radio同名.checked表示預設選項(預設選中)--> <input type="radio" name="sex" id="male" checked/> <label for="male">男</label> <input type="radio" name="sex" id="female" /> <label for="female">女</label> <!-- 多選框(按鈕)name屬性用於分組,id用於標識 --> <input type="checkbox" name="favorites" id="basketball" /> <label for="basketball">籃球</label> <input type="checkbox" name="favorites" id="football" /> <label for="football">足球</label> <input type="checkbox" name="favorites" id="volleyball" /> <label for="volleyball">排球</label> 提交、重置、普通按鈕: 提交按鈕:<input type="submit" />傳送表單數據到伺服器端或其他程式進行處理。 重置按鈕:<input type="reset" />清空表單數據,並將表單控制項設置為最初的預設值。 普通按鈕:<input type="button" />用於執行客戶端腳本。 【主要屬性:】 value:按鈕的標題文本,即按鈕上顯示的文本內容。 【舉例:】 <input type="submit" value="提交"/> <input type="reset" value="重置"/> <input type="button" value="取消"/> 隱藏域、文件選擇框: 隱藏域:<input type="hidden" />在表單中包含不希望用戶看見的信息。 文件選擇框:<input type="file" />選擇要上傳的文件。 【舉例:】 <!-- 隱藏域,即隱藏的文本框(看不見),用來封裝一些不希望被用戶看到的數據。該控制項的數據不需手動輸入,而是預置數據。 --> <input type="hidden" value="123"/> <!-- 文件選擇框 ,用於提交文件--> <lable for="attachment">上傳附件:</lable> <input type="file" id="attachment" />
(5)<textarea>標簽:
文本域:相當於多行文本框。 語法:
<textarea>文本</textarea>
主要屬性: cols:指定文本區域的列數。 rows:指定文本區域的行數。 readonly:只讀。 【舉例:】 <!-- 文本域可以使用cols設置列數,使用rows設置行數。文本內容為預設值,可不寫。--> <label for="desc">自我介紹</label> <textarea id="desc" cols="30" rows="5"> Hello World! </textarea>
(6)<select>標簽:
下拉選項:下拉框,用於多個內容的選擇。 語法: <select> <option>---請選擇---</option> <option value="1">Java</option> <option value="2">Php</option> <option value="3">.net</option> </select>
四、CSS
1、CSS
(1)什麼是CSS?
CSS(Cascading Style Sheets),指層疊樣式表。樣式通常存儲在樣式表中,定義如何顯示HTML,即CSS給HTML化妝(修飾)的。
(2)如何使用CSS?
內聯方式:即樣式表定義在單個HTML元素中。
內部樣式表:樣式定義在HTML頁的頭元素中。
外部樣式表(推薦使用):將樣式定義在一個外部的CSS文件中(.css文件)。由HTML頁面引用樣式表文件。
(3)CSS內聯樣式:
樣式定義在HTML標簽的style屬性里。
語法規則:
1、只需將分號隔開的一個或多個屬性/值對作為元素的style屬性的值。 2、屬性和屬性值間用(:)冒號連接。 3、多個屬性間用(;)分號隔開。 【格式:】 <h1 style="color:red;">內聯樣式演示</h1>
(4)CSS內部樣式:
樣式定義在HTML文檔的頭部標簽<head>的<style>標簽內。
語法規則:
在<head>元素里添加<style>元素,然後在<style>元素里添加樣式規則。 【格式:】 <head> <title>CSS演示</title> <meta charset="utf-8" /> <!-- 內部樣式 --> <style type="text/css"> h2{ color:blue; } </style> </head>
(5)CSS外部樣式:
樣式定義在獨立的(.css)文件里。是一個純文本文件,文件尾碼名(.css)。該文件只包含樣式規則。然後在HTML的頭部標簽<head>中通過<link>元素來引用。
語法規則:
<!-- 外部樣式,需引用(.css)文件。 rel表示引用的是什麼文件,type表示引用的格式。href表示路徑--> <link rel="stylesheet" type="text/css" href="../css/CSS演示.css"/>
(6)CSS規則特性:
繼承性: 父元素的CSS聲明可以被子元素繼承、比如字體、顏色等。
層疊性: 同一個元素若存在多個CSS規則,對於不衝突的聲明可以進行疊加。
優先順序: 同一個元素若存在多個CSS規則,對於衝突的聲明可以以優先順序高的為準。即相同的樣式,如果重覆定義,則以最後一次定義為準(就近原則)。
(7)CSS寫法:
CSS由CSS選擇器以及CSS聲明組成。
選擇器用於定位到某個元素。
聲明用於給元素附加效果。
2、CSS選擇器
(1)分類:
元素選擇器。
類選擇器。
id選擇器。
選擇器組。
派生選擇器。
偽類選擇器。
(2)元素選擇器:
通過元素名(標簽名)來選擇CSS作用的目標。
格式: p{ } 使用情景: 如果頁面中有多個相同元素需要相同的樣式效果,那麼可以使用元素選擇器。 【舉例:】 <style type="text/css"> p{ color:red; } </style>
(3)類選擇器:
類選擇器允許以一種獨立於文檔元素的方式來指定樣式。所有能附帶class屬性的元素都可以使用此樣式聲明,並將元素的class屬性值設置為樣式類名。
格式: .className{ } 使用情景: 如果頁面中有不同的元素需要相同的樣式效果,可以使用類選擇器。 【舉例:】 <style type="text/css"> .important{ color:red; } </style> <h1 class = "important">Hello</h1> <h2 class = "important">World</h2> 可以將類選擇器和元素選擇器結合,以實現一個元素中不同樣式的控制。 【格式:】 元素選擇器.className{ } 【舉例:】 <style type="text/css"> p.test1{ color : red; } p.test2{ color : yellow; } </style> <p class = "test1">Hello</p> <p class = "test2">Hello</p>
(4)id選擇器:
id選擇器以一種獨立於文檔元素的方式來指定樣式。僅作用於id的值。
格式:
【格式:】 #id{ } 【舉例:】 <style type="text/css"> #d1{ color:red; } </style> <div id="d1">HelloWorld</div>
(5)選擇器組:
選擇器組是以逗號隔開的選擇器列表,將一些相同的規則作用於多個元素。
【格式:】 .className, #id{ } 【舉例:】 <style type="text/css"> .test1, #e2{ color : blue; } </style> <p class = "test1" id="e1">Hello</p> <p class = "test2" id="e2">Hello</p>
(6)派生選擇器:
派生選擇器用來選擇子元素。
分類:
後代選擇器:選擇某元素的所有後代(子孫)元素。(以空格隔開)
子元素選擇器:選擇某元素的所有子(兒子)元素。(以>隔開)
【舉例:後代選擇器】 <style type="text/css"> /*將 id=d1 元素中 所有元素中的 p元素 改為紅色*/ #d1 p{ color:red; } </style> <div id="d1"> <p id="p1">Hello</p> <p id="p2">Hello</p> </div> 【舉例:子元素選擇器】 <style type="text/css"> /*將 id=d1 元素中 id=p1 的元素 改為紅色*/ #d1>#p1{ color:red; } </style> <div id="d1"> <p id="p1">Hello</p> <p id="p2">Hello</p> </div>
(7)偽類選擇器:
偽類用於設置同一元素在不同狀態下的樣式。
常用偽類: :link:向未被訪問的超鏈接添加樣式。 :visited:向已被訪問的超鏈接添加樣式。 :active:向被激活的元素添加樣式。 :hover:當滑鼠懸停在元素上方時,向該元素添加樣式。 :focus:當元素獲取焦點時,向該元素添加樣式。 【舉例:】 <!DOCTYPE html> <html> <head> <title>CSS演示</title> <meta charset="utf-8" /> <style type="text/css"> /*瀏覽器從未點擊過的