javaWeb Note1
HTML
1.
HTML: 超文本標(biāo)記語言,即HTML(Hypertext Markup Language),是用于描述網(wǎng)頁文檔的一種標(biāo)記語言
?
2.
最簡(jiǎn)單的一個(gè)html文件的內(nèi)容應(yīng)該包括 html開頭、head、body是互相嵌套的
我的第一個(gè)網(wǎng)頁
<html>
?????? <head>
????????????? <title> 百度</title>
?????? </head>
???????????????????? <body>
???????????????????? 百度一下
???????????????????? </body>
</html>
?
3.
看來要記還有要學(xué)習(xí)的東西真的是很多呢,在平常的學(xué)習(xí)應(yīng)用中記憶所接觸的HTML元素!!
?
?
4. 下面是HTML元素表!!
html代碼元素列表說明及HTML標(biāo)記參考手冊(cè)
HTML語言是網(wǎng)頁制作中最基礎(chǔ)的代碼,博客日志許多都支持HTML標(biāo)記,能熟悉HTML標(biāo)記對(duì)博客和個(gè)人網(wǎng)站的美化會(huì)有很大的幫助。
<html> </html>標(biāo)志著html文件的開始與結(jié)束
<head> </head>頭部標(biāo)志符
<title> </title>網(wǎng)頁的標(biāo)題
<boby> </boby>構(gòu)成web的主體
1.background 定義網(wǎng)頁的背景圖案
2.bgcolor 背景色(默認(rèn)白)
3.text 文字顏色(默認(rèn)黑)
4.link 超鏈接顏色(默認(rèn)藍(lán))
5.alink 當(dāng)前被選中的超鏈接顏色(默認(rèn)紅)
6.vlink 已被訪問過的超鏈接顏色(默認(rèn)紫)
<font> </font>標(biāo)志符可以控制字符的樣式
1.face 設(shè)置文字的字體效果
2.color 設(shè)置文字顏色
3.size 設(shè)置字體大小
<b></b> 粗體 <strike></strike>刪除線
<big></big>大字體 <sub></sub>下標(biāo)
<i></i>斜體 <sup></sup>上標(biāo)
<s></s>刪除線 <u></u>下劃線
<small></small>小字體
<hn></hn>設(shè)置文件中的標(biāo)題 nj 1~6的數(shù)字
<p></p>(paragraph)劃分段落
<pre></pre>預(yù)格式化標(biāo)志符
<hr> 換行并繪制一條水平線(沒有結(jié)束標(biāo)志符)
1.width 水平線長(zhǎng)度
2.size 水平線粗細(xì)
3.noshade 無陰影
4.align 水平線的對(duì)齊方式(left center right)
5.color 水平線顏色
<br> 強(qiáng)制換行(沒有結(jié)束標(biāo)志符)
<ol>
<li>......</li>
<li>......</li>
.......
</ol> 設(shè)置有序列表 li可是1.2.3....或a.b.c....或A.B.C...或i.ii.iii.....或I.II.III....
(兩個(gè)屬性:type start)
<ul>
<li>......</li>
<li>......</li>
......
</ul> 無序列表 (一個(gè)屬性:type disc實(shí)心圓 circle空心圓 square方框)
<a></a>實(shí)現(xiàn)超鏈接
1.href 定義超鏈接所指向的文檔的URL
2.target 目標(biāo)窗口
3.name 錨名稱(該屬性一般在創(chuàng)建頁面內(nèi)超鏈接時(shí)使用)
<a href="/oblog312/URL"> </a>使用a標(biāo)志符創(chuàng)建超鏈接時(shí),可以使用相對(duì)路徑(同一網(wǎng)站內(nèi)的文件),也可以使用絕對(duì)路徑(指向本站點(diǎn)以外的文件)
<a name="錨點(diǎn)名稱"> </a>
.....
<a href="#錨點(diǎn)名稱"> </a> 創(chuàng)建網(wǎng)面內(nèi)超鏈接邏輯上分為兩步,首先定義錨點(diǎn),然后再創(chuàng)建指向錨點(diǎn)的超鏈接
<a href="mailto:電子郵箱地址"> </a>指向電子郵箱的超鏈接>
<img> 插入圖像
1.src 設(shè)置被引用的圖像文件所在的位置
2.alt 設(shè)置圖像的簡(jiǎn)單文字說明
3.width,height 設(shè)置圖像的寬度與高度
4.align 對(duì)齊方式(left,right,top,bottom,middle)
5.border 邊框?qū)挾?/span>
6.hspace ,vspace 定義了圖像與周圍元素的水平和垂直間距
<map name="圖像映射名稱">
<area>
<area>
......
</map>
<img src="/oblog312/"usemap="#圖像映射名稱"> <map></map>定義了圖像映射的區(qū)域
img通過usemap可以確定與所建立的圖像映射區(qū)域的關(guān)系
area定義圖像不同區(qū)域與不同文檔之間建立鏈接
1.shape 形狀(rect矩形 circle圓 poly多邊形)
2.coords 坐標(biāo)
3.target 目標(biāo)窗口
4.alt 替換文字
<table>
<caption> </caption>
<tr>
<th> </th><th> </th>......
</tr>
<tr>
<td> </td><td> </td>......
</tr>
<tr>
<td> </td><td> </td>
</tr>
......
</table> table標(biāo)記符定義表格 caption定義表格標(biāo)題 tr標(biāo)記符定義表格的行 th,td標(biāo)志符定義表格的單元格 th定義表頭單元格
table可以創(chuàng)建一個(gè)新的表格
1.width(寬),height(高)
2.border(邊框)
3.bgcolor(背景顏色)
4.align(對(duì)齊方式left right center)
5.cellpadding(填充距)
6.cellspacing(單元格間距)
7.rules(分隔線 none無分隔線 groups在行列之間有 rows只有行分隔線 cols只有列 all所有)
8.frame(邊框 void無邊框 above只顯示頂部邊框 below只顯示底部邊框 hsides只顯示頂,底部邊框 vsides只顯示左右邊框 lhs顯示左邊框 rhs顯示右 box顯示所有)
<tr> </tr>表行
1.align 對(duì)齊方式(left center right)
2.valign 垂直對(duì)齊方式 (top middle bottom baseline)
3.bgcolor 背景顏色
<td></td>表格數(shù)據(jù)
1.width,height
2.align(left right center)
3.valign(top middle bottom)
4.bgcolor
5.rowspan 單元表的行數(shù)
6.colspan 單元表的列數(shù)
<frameset>
<frame>
<frame>
......
<frame>
</frameset> frameset是將窗口分割成若干個(gè)子窗口,子窗口數(shù)取決于frame的個(gè)數(shù)
<frame> 標(biāo)記符來標(biāo)識(shí)子窗口(無結(jié)果符)
1.name
2.src(源) 設(shè)置框架內(nèi)容的URL
3.frameborder(框架邊框)
4.marginwidth (框架的左右邊距)
5.marginheight(框架的上下邊距)
6.scrolling(是否顯示滾動(dòng)條 auto自動(dòng) yes顯示 no不顯示)
7.noresize(不允許調(diào)整框架的尺寸)
<a herf="目標(biāo)文件"target="目標(biāo)框架名">超鏈接內(nèi)容</a>
1._top 表示將超鏈接的目標(biāo)文件裝入整個(gè)瀏覽器窗口
2._self 表示將超鏈接的目標(biāo)文件裝入當(dāng)前框架,以取代該框架中正在顯示的文件
3._blank 表示將超鏈接的目標(biāo)文件裝入一個(gè)新的瀏覽窗口
4._parent 表示將超鏈接的目標(biāo)文件裝入當(dāng)前框架的父框架
<iframe></iframe>定義了一個(gè)頁面內(nèi)的框架
1.src(源) 設(shè)置框架內(nèi)容的URL
2.name
3.width,height
4.align (top middle bottom)
5.frameborder(框架邊框)
6.marginwidth(框架左右邊框),marginheight(框架上下邊框)
7.scrolling(是否顯示滾動(dòng)條 auto yes no)
<form></form>表單
1.method(方法) 定義表單的提交方式
2.action(動(dòng)作) 指定表單所對(duì)應(yīng)的處理程序
<input> 定義了一個(gè)用于用戶輸入的表單元素(無結(jié)束標(biāo)記符)
1.name 標(biāo)識(shí)表單元素
2.type 指定表單元素的類型(text文本 password密碼 checkbox復(fù)選框 radio單選框 submit提交按鈕 reset重置按鈕)
<input type="text">將type指定為text,在瀏覽器中顯示一個(gè)文本輸入框,供用戶輸入信息
1.value (初始值)
2.size (尺寸)
3.maxlength(輸入文本的最大字符數(shù))
<input type="password">密碼文本框
例:<form>
密碼:<inputtype="password"name="password"size="10"maxlength="15">
</form>
<input type="checkbox">復(fù)選框
例:<from>
<p>你的愛好:</P>
<inputtype="checkbox"name="favorite1"value="music"checked>音樂
<inputtype="checkbox"name="favorite2"value="sports">體育
<inputtype="checkbox"name="favorite3"value="other">其它
</form>
<input type="radio">單選框
例:<form>
<p>公司的人數(shù):</p>
<p><input type="radio"name="number">少于10人</p>
<p><input type="radio"name="number"checked>10人至100人</p>
<p><input type="radio"name="number">100人以上</p>
</form>
<input type="submit">提交按鈕
<form>
<input type="submit"value="提交">
</form>
<input type="reset">重置按鈕
<input type="image">圖像提交按鈕
<input type="file">
<input type="buttom">
<input type="hidden">
<textarea> </textarea>定義一個(gè)用于用戶多行輸入的表單元素
1.name 指定文本域的名稱
2.rows 指定文本域的高度
3.cols 指定文本域的寬度
<select>
<option></option>
<option></option>
......
<option></option>
</select> 定義了一個(gè)選項(xiàng)列表表單元素
1.name 指定選取項(xiàng)列表的名稱
2.size 指定列表選項(xiàng)顯示時(shí)一次顯示選項(xiàng)的數(shù)目
3.multiple使用該屬性可以允許多重選擇
4.value 指定當(dāng)該選項(xiàng)被選中并提交后,瀏覽器傳給服務(wù)器的數(shù)據(jù)
5.selected 指定哪一個(gè)選項(xiàng)在默認(rèn)狀態(tài)下是選中狀態(tài)
<label></label>選中該控件
<marquee></marquee>創(chuàng)建一些滾動(dòng)字幕
1.direction(方向 left right up down)
2.behavior (行為 scroll繞圈滾動(dòng) slide只滾一次 alternate來回滾動(dòng))
3.loop (循環(huán))
4.scrollamount(滾動(dòng)的速度)
5.scrolldelay(滾動(dòng)延時(shí))
6.align(對(duì)齊方式 top middle bottom)
7.bgcolor
8.height,width
9.hspace,vspace(垂直和水平間距)
<applet>
<param>
<param>
......
</applet> applet用來在網(wǎng)頁中插入一個(gè)Java小應(yīng)用程序?qū)ο?/span>
1.code(源代碼) 指定Java小應(yīng)用程序的源代碼文件(.class文件)
2.name
3.width,height
4.align
param用來定義Java小應(yīng)用程序中的參數(shù)
1.name
2.value(值)給變量賦值
3.valuetype(值類型 data表示value指定的值將作為一個(gè)字符串傳遞的對(duì)象
ref表示value指定的值是一個(gè)URL
object表示value指定的值是一個(gè)指向同一文檔中一個(gè)object的標(biāo)志符)
4.type(類型)當(dāng)valuetype屬性的值設(shè)置為ref時(shí),此屬性指定了URL所代表資源的內(nèi)容類型
<object>
<param>
<param>
......
</object> object可以定義很多種不同的多媒體文件
1.classid:該屬性指定了瀏覽器中用來播放相應(yīng)多媒體對(duì)象的控件ID
2.codebase:定義多媒體文件相對(duì)位置的根目錄
3.codetype:指定當(dāng)下載由classid所指定的對(duì)象時(shí)使用的數(shù)據(jù)內(nèi)容的類型
4.data:定義多媒體文件的位置
5.type:定義多媒體文件的類型
6.width,height
selector{property1:value1;property2:value2......}selector表示需要應(yīng)用式樣的對(duì)象
property表示由css標(biāo)準(zhǔn)定義的樣式屬性
value表示樣式賂性的值
例:h2{text-align:center;font-family:楷體_gb2312}
selector.classname{property1:value1;......} 標(biāo)記符類
.classname{property:value;......} 通用類
#IDname{property:value;......}用戶定義ID
虛類
a:link或:link 當(dāng)超鏈接末被訪問過時(shí),超鏈接的顯示方式
a:visited或:visited 當(dāng)超鏈接已經(jīng)被訪問過時(shí),超鏈接的顯示方式
a:active或:active當(dāng)超鏈接當(dāng)前為選中姿態(tài)時(shí),超鏈接的顯示方式
a:hover或:hover 當(dāng)鼠標(biāo)指針懸停在超鏈接上時(shí),超鏈接的顯示方式
例: a:link{color:blue}
長(zhǎng)度單位
1.em:它所代表的長(zhǎng)度是當(dāng)前字體中m字母的寬度
2.ex:它所代表的長(zhǎng)度是當(dāng)前字體中x字母的高度
3.px:像素,它是相對(duì)于計(jì)算機(jī)屏幕的分辨率來定義的
in:英寸,1in=2.54cm 1cm=10mm
pt:點(diǎn),1點(diǎn)=1/72in pc:帕 1帕=12點(diǎn)
font-family(字體族)
font-family:字體名稱 | 字體族名稱
例: p{font-family:黑體,宋體,serif}
font-style(字體風(fēng)格)
font-style:字體風(fēng)格名稱
例:p{font-style:oblique}
font-size(字體大小)
font-size:絕對(duì)大小 | 相對(duì)大小 | 百分比
font-variant(字體變形)
font-varient:字體變形值
1.normal(普通)
2.small-caps(小型大寫字母)
font-weight(字體加粗)
font-weight:字體加粗值
1.normal(普通)
2.bold(加粗)
3.bolder(更粗)
4.lighter(更細(xì))
letter-spacing(字符間距)
letter-spacing:數(shù)值
text-decoration(文字修飾)
text-decoration:文字修飾效果
1.none 無
2.underline 下劃線
3.overline 上劃線
4.line-through 刪除線
5.bink 閃爍
text-transform(文本轉(zhuǎn)換)
text-transform:文本轉(zhuǎn)換方式
1.none 無
2.capitalize 使所有單詞的第一個(gè)字母大寫
3.uppercase 使所有單詞字母都大寫
4.lowercase 使所有單詞字母都小寫
text-align(文本對(duì)齊方式)
text-align:對(duì)齊方式
1.left
2.right
3.justify 可調(diào)整
text-indent(文本縮放)
text-indent:縮放的數(shù)值
line-height(行高)
line-height:數(shù)值
margin(頁邊距)
margin:數(shù)值
padding(填充距)
padding:數(shù)值
例: table{padding:2cm3cm 5cm}上填充距2cm,左右填充距為3cm,下填充距5cm
border-style(邊框樣式)
border-style:邊框樣式
1.none
2.dotted 點(diǎn)線
3.dashed 虛線
4.solid 實(shí)線
5.double
6.groove 凹線
7.ridge 凸線
8.inset 內(nèi)陷
9.outset 外凸
border-color(邊框顏色)
border-color: 顏色值
border-width(邊框?qū)挾?/span>)
border-width:數(shù)值
1.thin 細(xì)
2.medium 中
3.thick 寬
border(邊框)
border:邊框樣式|邊框?qū)挾?/span>|邊框顏色
例: h1{border:5pxsolid red}
float(浮動(dòng))
float:參數(shù)
1.none
2.left
3.right
?
?
?
?
5.
加水平線:<hr>;
水平線的默認(rèn)位置為 居中 —align = “center”;
可以設(shè)置水平線的像素寬度—weight= “100”;
單獨(dú)開來:<hr align= “right” weight= “200”>
?
6.
<br> 換行 branch
可以使用在正文之中
7.
段落paragraph
<p>somethings</p>
8.
F5刷新一下~~ 哈哈
?
9.body中任何地方可以放置 表示空格!
?
10.
<html>
?????? <head>
????????????? <title>百度</title>
?????? </head>
???????????????????? <body>
???????????????????? 百度一下<br>你就知道 你知道嗎?
???????????????????? <p>?? ?i???don't knowdf where you a re?</p><p>i know you aremy baby</p>
??????????????????????????? <hrwidth = "8%" size = "50%" color = "pink" align ="left">
???????????????????? </body>
</html>
?
?
11.
<ol> ordered list 有序列表
<ul> unordered list 無序列表
內(nèi)置<li>list 標(biāo)簽
?
12.
<html>
????????????? <head>
??????????????????????????? <title>這是網(wǎng)頁標(biāo)題哦</title>
????????????? </head>
?????????????
????????????? <body>
??????????????????????????? <h1><fontcolor = "red">這是網(wǎng)頁的內(nèi)容</font></h1>
??????????????????????????? <ahref = "http:www.baidu.com" target = _blank>這是一個(gè)連接</a> <!--該鏈接會(huì)覆蓋當(dāng)前的網(wǎng)頁,可以使用 target 指定-->
??????????????????????????? <!--當(dāng)然現(xiàn)在主流的瀏覽器都支持中鍵顯示,即點(diǎn)擊連接使用鼠標(biāo)中鍵一樣可以新建頁面-->
???????????????????????????
????????????? </body>
?????????????
</html>
?
?
11.
?HTML中很重要的貌似就是表單,先來學(xué)建表table!表格
?
表格是由 行和列構(gòu)成 在HTML中 tr 表示行 td表示列,一些屬性可以嵌套在表格等元素中
比如說 框線的寬度,默認(rèn)值是零 也就是無框線!,什么位置,顏色的都可以指定
<html>
?
<head>
????????????? <title>百度一下你就知道</title>
????????????? <h1>標(biāo)題來了</h1>
</head>
?
<body>
????????????? <tableborder = "1"? align ="center" width = "100">
??????????????????????????? <tr>
?????????????????????????????????? <tdalign = "center">aa</td>??<!--在行中嵌套列,表示兩行三列-->
?????????????????????????????????? <tdalign = "center">bb</td>
?????????????????????????????????? <tdalign = "center">cc</td>
???????????????????????????
??????????????????????????? </tr>
?????????????????????????????????? <tdalign = "center">aa</td>
?????????????????????????????????? <tdalign = "center">bb</td>
?????????????????????????????????? <tdalign = "center">cc</td>
???????????????????????????
??????????????????????????? <tr>
???????????????????????????
??????????????????????????? </tr>
???????????????????????????
????????????? </table>
?
</body>
?
?
?
?
</html>
?
還有在tr中可以嵌套<th></th>這樣的話內(nèi)容是居中并且加粗,這種多用于表頭的構(gòu)造!
12.s
下面是最紅要的 表單 ——form<from></form>
Text: 普通的文本框? 是單一的屬性 使用input typer=”text”實(shí)現(xiàn)
同樣的有password 頁面不會(huì)顯示
checkBox : 復(fù)選框 即有多個(gè)分支選擇, 就是那個(gè)都顯示的
性別選項(xiàng) , 你懂得 ,唯一,前提是屬性屬于同一個(gè)姓名組,下面是限制
<form>
??????????????????????????????????????????????????????? UserName: <input type = "text">??</br> </br> <!--這個(gè)是要換行了-->
??????????????????????????????????????????????????????? PassWord: <input type = "passWord"> </br>
??????????????????????????????????????????????????????? 愛好:???? :?<input type = "checkBox">學(xué)習(xí)
??????????????????????????????????????????????????????????????????????????????????? <inputtype = "checkBox">游泳
??????????????????????????????????????????????????????????????????????????????????? <inputtype = "checkBox">睡覺
??????????????????????????????????????????????????????????????????????????????????? </P>
???????????????????????????????????????????????????????????????????????????????????
???????????????????????????????????? 性別: 男:<input type ="radio" name = "Sexy">
???????????????????????????????????????????????????????????????? ? 女:<input type ="radio" name = "Sexy">
???????????????????????????????????????????????????????????????? ?
???????????????????????????????????????????????????????????????? ?
???????????????????????????????????? </form>
?
?
13.
下拉表單,使用select元素實(shí)現(xiàn) 添加使用<option>選項(xiàng)
14.
TextArea ;文本區(qū)<textArea></textArea>
?
15.
文件上傳input type = “file”
16.
上面是輸入?yún)^(qū) ,接著是按鈕區(qū)
提交按鈕:submit <input type = “submit” value = “button name”>,如果沒有制定區(qū)域的話,默認(rèn)是提交當(dāng)前頁面的所有信息
<input type = “reset”value = “buttonName”>
重置內(nèi)容,即將頁面恢復(fù)至最初狀態(tài)
17.
當(dāng)然也有原始的button <input type = “button”>
這個(gè)按鈕用于彈出對(duì)話框,涉及到j(luò)avascrap內(nèi)容
?
18.
加載圖片,<imgsrc = “相同目錄下圖片名稱,或者圖片路徑,或者網(wǎng)絡(luò)圖片連接”>
?
<form>
??????????????????????????????????????????????????????? UserName: <input type = "text">??</br> </br> <!--這個(gè)是要換行了-->
??????????????????????????????????????????????????????? PassWord: <input type = "passWord"> </br>
??????????????????????????????????????????????????????? 愛好:???? :?<input type = "checkBox">學(xué)習(xí)
??????????????????????????????????????????????????????????????????????????????????? <inputtype = "checkBox">游泳
?????????????????? ???????????????????????????????????????????????????????????????? <inputtype = "checkBox">睡覺
??????????????????????????????????????????????????????????????????????????????????? </P>
???????????????????????????????????????????????????????????????????????????????????
???????????????????????????????????? 性別: 男:<input type ="radio" name = "Sexy">
???????????????????????????????????????????????????????????????? ? 女:<input type ="radio" name = "Sexy">
???????????????????????????????????????????????????????????????? ? </br>
???????????????????????????????????????????????????????????????? ? </br>
???????????????????????????????????????????????????????????????? ?
???????????????????????????????????? 學(xué)歷: <select>
?????????????????????????????????????????????????????????????????????????? <option>本科</option>
?????????????????????????????????????????????????????????????????????????? <option>研究生</option>
?????????????????????????????????????????????????????????????????????????? <option>碩士</option>
?????????????????????????????????????????????????????????????????????????? <option>博士</option>
??????????????????????????????????????????????????????? </select>
???????????????????????????????????????????????????????
??????????????????????????????????????????????????????? </br>
???????????????????????????????????? 請(qǐng)描述一下你自己:
?????????????????????????????????????????????????????????????????????????? <textArea>
?????????????????????????????????????????????????????????????????????????? </textArea>
??????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????????????????????? </br>
???????????????????????????????????? 請(qǐng)上傳文件:? <input type = "file">
??????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????? </br>
?????????????????????????????????????????????????????????????????????????? </br>
???????????????????????????????????? ????????????????????????????????????
????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????? <inputtype = "submit" value = "提交">
??????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????? <inputtype = "reset" value = "重置">
??????????????????????????????????????????????????????????????????????????
???????????????????????????????????? 上傳圖片: <img src ="`MZZS8~4DNB942TU1S%~L~J.gif">
???????????????????????????????????????????????????????????????? ?
???????????????????????????????????? </form>
?
?
19.
電子商務(wù)專業(yè),熱忱于編程技術(shù),大學(xué)伊始,立志成為一名出色的系統(tǒng)分析師;
計(jì)算機(jī)知識(shí)過硬,英語能力突出,編程軟件拒絕使用中文,英語六級(jí),聽說及口語能力強(qiáng),可以應(yīng)付老外;
大一開始學(xué)習(xí)編程技術(shù),學(xué)習(xí)過C、C#、最后定位于Java,并認(rèn)定它就是我的飯碗和我一生奮斗的方向;在這個(gè)所謂大學(xué)的年代,我敢說我因?yàn)镴ava,真的就大學(xué)了一回!
精通Java SE、MySqlSqlServer 數(shù)據(jù)庫、JavaWeb 編程、目前正學(xué)習(xí)Android編程
所謂證書:英語六級(jí)、計(jì)算機(jī)四級(jí)、普通話
?
20.
CSS:Cascading Style Sheet 層疊樣式表
21.
元素具有屬性!
22.
http是一個(gè)基于請(qǐng)求/響應(yīng)模式的,無狀態(tài)的協(xié)議
23.
tomCat環(huán)境變量的配置,參見web第四課時(shí)。當(dāng)運(yùn)行Tomcat.bat時(shí),看到Tomcat服務(wù)器在主機(jī)端口號(hào)為8080
如果在網(wǎng)頁上輸入http://localhost:8080/則可以顯示Tomcat主頁面,并恭喜你安裝成功了!
?
24
Tomcat 是一個(gè)輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場(chǎng)合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對(duì)于一個(gè)初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)對(duì)HTML 頁面的訪問請(qǐng)求。實(shí)際上Tomcat 部分是Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你
??
Apache Tomcat
運(yùn)行tomcat 時(shí),它實(shí)際上作為一個(gè)與Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。
tomcat目錄結(jié)構(gòu)
/bin:存放windows或Linux平臺(tái)上啟動(dòng)和關(guān)閉Tomcat的腳本文件
/conf:存放Tomcat服務(wù)器的各種全局配置文件,其中最重要的是server.xml和web.xml
/doc:存放Tomcat文檔
/server:包含三個(gè)子目錄:classes、lib和webapps
/server/lib:存放Tomcat服務(wù)器所需的各種JAR文件
/server/webapps:存放Tomcat自帶的兩個(gè)WEB應(yīng)用admin應(yīng)用和 manager應(yīng)用
/common/lib:存放Tomcat服務(wù)器以及所有web應(yīng)用都可以訪問的jar文件
/shared/lib:存放所有web應(yīng)用都可以訪問的jar文件(但是不能被Tomcat服務(wù)器訪問)
/logs:存放Tomcat執(zhí)行時(shí)的日志文件
/src:存放Tomcat的源代碼
/webapps:Tomcat的主要Web發(fā)布目錄,默認(rèn)情況下把Web應(yīng)用文件放于此目錄
/work:存放JSP編譯后產(chǎn)生的class文件
?
?
24.
Servlet和jsp是應(yīng)用于服務(wù)器端的網(wǎng)絡(luò)技術(shù)
Servlet:小服務(wù)程序是Java服務(wù)器端編程,不同于我們之前寫的一般的Java應(yīng)用程序,servlet 程序是運(yùn)行在服務(wù)器上的,服務(wù)器有很多種,最常用的就是Tomcat
?
?
25.
新建的web項(xiàng)目,webRoot文件夾下放置的是頁面
26.
Myeclipse的準(zhǔn)備工作很多,剛開始的JSP文件并不能輸入中文,要修改編碼格式encoding!
?
27.
對(duì)于JSP程序改完之后,服務(wù)器不需要重啟,但是對(duì)于servlet程序來說,每一次改動(dòng)都要重啟服務(wù)器!
28.
我們可以將Servlet看作是
嵌套了HTML
代碼的類;可以將JSP看作是潛逃了Java代碼的HTML頁面
不是一個(gè)jsp運(yùn)行會(huì)生成一個(gè)對(duì)應(yīng)servlet。而是jsp運(yùn)行的時(shí)候就是轉(zhuǎn)成了servlet,也就是java程序來執(zhí)行。其實(shí)jsp的中的標(biāo)簽就相當(dāng)于servlet中out.println()打印出的文本
比如我response.out.println("<i>hello</>");就相當(dāng)于jsp中的<i>hello</>
。jsp也是一個(gè)servlet,有的時(shí)候我們可以把請(qǐng)求交給jsp。一個(gè)servlet的response,就是這個(gè)servlet要發(fā)送給瀏覽器的東西,如果你在這個(gè)response中打印了,文本,就會(huì)發(fā)送文本給瀏覽器,如果打印標(biāo)簽就會(huì)發(fā)送標(biāo)簽給瀏覽器,這樣瀏覽器就解析成html了
?
hello.jsp
<html>
<body>
hello
</body>
</html>
?
執(zhí)行的時(shí)候先是轉(zhuǎn)成
servlet
doGet()
{
response.getWriter.println("<html>\n<body>\nhello\n</body>\n</html>")
}
然后發(fā)送<html>
<body>
hello
</body>
</html>
這些文本給瀏覽器,瀏覽器就解析為一個(gè)html了
?
?
?
29.
?
Out.flush()方法清空緩存
?
?
?
30.
表單將頁面的信息提交個(gè)服務(wù)器,但是當(dāng)然要制定提交給誰:
Form 中的action屬性,制定Servlet。
也就是說jsp負(fù)責(zé)從用戶端接受信息,并將信息發(fā)送給指定Servlet
比如說,用jsp制作表單,獲取用戶名與密碼,然后在Servlet處理用戶信息,是可以獲取用戶的各種信息的!
31.
Fa?ade :門面模式
?
32.
<servlet> ??? <servlet-name>servlet1</servlet-name> ??? <servlet-class>untitled1.Servlet1</servlet-class> ? </servlet> ? <servlet-mapping> ??? <servlet-name>servlet1</servlet-name> ??? <url-pattern>/servlet1</url-pattern> ? </servlet-mapping> 其中<servlet-name>表示Servlet的命名,<servlet-class>表示此Servlet所在哪個(gè)包,是哪個(gè)類<url-pattern>是與過濾器配合使用的,過濾器是Filter,其配置也是在這個(gè)文件里設(shè)置。找找過濾器的相關(guān)知識(shí),就能更明白這個(gè)配置的作用。這只是很基本的配置。?
33.
必須要為Servlet配置好WEB.xml文件!! Servlet-name 必須要和mapping的Servlet-name名字相同,但是名字沒有固定的要求
一般要把mapping 對(duì)放在下面
?
34.
Get 與 post方法的區(qū)別,有空去看下吧
1.????地址欄的輸出結(jié)果不同
2.????真正的原因在于向服務(wù)器段發(fā)送的形式是不同的
Post不會(huì)在地址欄中顯示信息
35.
通過瀏覽器進(jìn)行文件上傳時(shí),一定要使用post方式而絕不能使用get方式!
?
36.
通過瀏覽器地址輸入網(wǎng)址的方式來來訪問服務(wù)器端資源,
全部使用的是get方法請(qǐng)求的
?37.
前面要配置Servlet程序,必須要建一個(gè)類繼承了HttpServlet類,并且要配置web.xml文檔,都是需要手工完成的,當(dāng)然了MyEclipse提供了新建Servlet,也就是說會(huì)自動(dòng)幫你配置好web.xml,
?
Wizard 安裝向?qū)?#xff1a;第一個(gè)是Servlet的名字,這個(gè)名字必須要和Mappingname的名字一致,這里沒有顯示;Mapping URL默認(rèn)的前面都要加上一個(gè)servlet可以刪除,避免繁雜
生成好后,可以在web.xml中發(fā)現(xiàn),已經(jīng)幫你配置好了
?
38.
表單form中有一個(gè)屬性action用來指定與之對(duì)應(yīng)的Servlet,建議在以jsp名稱加上Servlet來命名Servlet
<form action =”testServlet”>
?
?
39.
Jsp
</head>
?
? <body>
? <form? action = "Test2Servelt"><!-- 指定對(duì)應(yīng)Servlet -->
??
?? username:??<input type ="username" name = "username"></br>
?? password:??<input type ="password" name = "password"/></br>
?? repassword: <input type = "password" name= "repassword"/></br>
?? age :??????<input type ="text" name = "age"/></br>
?????? <input type = "submit" value= "submit"/>
?????? <input type = "reset"? value = "reset"/>??
?? </form>
??
??
??
? </body>
?
Servlet
package com.jianjian.Servlet;
?
?
import java.io.IOException;
import java.io.PrintWriter;
?
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
?
public class Test2Servelt extends HttpServlet
{
?? @Override
?? protected void doGet(HttpServletRequest req, HttpServletResponse resp)
??????? throws ServletException, IOException
?? {
????? String username = req.getParameter("username");
????? //為什么要采用這種形式呢?其實(shí)沖英語字面意思應(yīng)該也能猜出個(gè)一二,jsp只是客戶端,本身
????? //并沒有做什么,重要的都在服務(wù)器端,也就是Servlet,是用來接受并處理客戶端信息
????? //req--request,請(qǐng)求就是客戶端,從客戶端獲取username;
????? //resp--respond回應(yīng);也就是服務(wù)器端
????? String password = req.getParameter("password");
????? String repassword = req.getParameter("repassword");
????? String ageString = req.getParameter("age");
????? int age = Integer.parseInt(ageString);
????? //用integer里的方法將字符串轉(zhuǎn)換為整型;
????? //下面是一個(gè)輸出技巧啊,拼接字符串技巧
????? String result = "";
????? if(password.equals(repassword)&&age >= 18)
????? {
??????? result+="RegisterSuccessful!" ;
???????
????? }
????? //當(dāng)然可以使用if else 但是這些情況彼此之間并不矛盾,而且result也可以疊加一兩項(xiàng)
????? if(!password.equals(repassword))
????? {
??????? result += "Error!password do not match!";
????? }
?????
????? if(age < 18)
???????
????? {
??????? result += "age is illegal!";
????? }
?????
????? resp.setContentType("text/html");//回應(yīng)的類型
????? PrintWriter out = resp.getWriter();
????? //將結(jié)果顯示在網(wǎng)頁上,顯然是輸出流;
????? //下面是嵌套的html代碼用來處理網(wǎng)頁輸出信息,當(dāng)然的想一想,控制臺(tái)雨網(wǎng)頁當(dāng)然是有區(qū)別的
????? //html代碼就是為了網(wǎng)頁輸出
????? out.println("<html><head><title>注冊(cè)</title></head>");
????? out.println("<body><h1>"+ result+"</h1></body></html>");
????? out.flush();
????? //清空緩存
?????
?????
?? }
}
?
?
?
這里用的是doGet方法,也可以用doPost 方法,并且直接可以調(diào)用
This.doGet(req,resp)
但是jsp默認(rèn)都是請(qǐng)求以doget方法,如果要改變必須要修改一下form
中的 method屬性
默認(rèn)的
<formaction = “Test2Servlet” method = “get”>修改為
<formaction = “Test2Servlet” method = “post”>
上面就是post的效果,不會(huì)在地址欄顯示用戶信息
?
?
?
?
40.
?
?? 表單form的Action同樣可以指定為jsp文件,用jsp文件來顯示另一個(gè)jsp文件的信息!
Result.jsp
?
<body>
? <%
? ??? Stringusername = request.getParameter("username");
? ??? Stringpassword = request.getParameter("password");
? ???
? ??? out.println("username:"+username+"<br>");
? ??? out.println("password:"+password+"<br>");
? %>
?
?
?
?
?
? </body>
Test2.jsp
<form? action = "result.jsp" method = "get">
?
?
?
?
?
?
?
?
41.
Set就是所謂的集合,不能有重復(fù)元素
?
?
42.
/*
?* 模擬雙色球生成器,定義1到33號(hào)的紅球組合1-16號(hào)的藍(lán)球
?*/
?
package com.jianjian.Servlet;
?
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
?
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
?
public class DoubleColorBall extends HttpServlet
{
?
?? @Override
?? protected void doGet(HttpServletRequest req, HttpServletResponse resp)
??????? throws ServletException, IOException
?? {
????? Set<Integer> set = new HashSet<Integer>();
????? Random random = new Random();
?
????? // 定義六個(gè)紅球
?
????? while (set.size() < 7)
????? {
??????? int value = random.nextInt(33) + 1;
??????? set.add(value);
????? }
????? // 定義的value 只不過是局部變量,外部也是可以重新定義名為value的變量的
?
????? // 下面定義籃球,
?
????? String redBall = "redBall? ";
????? for (Integer i : set)
????? {
??????? redBall += i + " ";
????? }
?
????? int value = random.nextInt(16) + 1;
????? String blueBall = "blueBall? ";
?????
????? blueBall += value ;
?????
????? resp.setContentType("text/html");
????? PrintWriter out = resp.getWriter();
?????
????? out.println("<html><head><title>result</title></head>");
????? out.println("<body><h1>"+ redBall +"</h1><br><h1>"+ blueBall + " </h1></body></html>");
?????
?
?? }
?
}
?
?
43.
?
?
JSP :JavaServer Page Java服務(wù)器端頁面
44.
<%%>中可以寫入任何合法的Java語句
所有的程序操作都是在服務(wù)器端進(jìn)行的
?
45.
Html注釋 <!--? -->是可以在源代碼中看到的
Jsp注釋 <%?? %>在源代碼中是看不到的
?
46.
在JSP中,最重要的部分就是Scriptlet—腳本小程序,所有嵌套在
HTML代碼中的Java程序都必須使用Scriptlet標(biāo)記出來,在JSP中一共有三種Scriptlet代碼!
1.<%%> 主要用于聲明局部變量,位于方法內(nèi)的變量,每次刷新完畢,不會(huì)改變?cè)兄?/span>? 又稱為腳本段,用的非常的多
2.<%!%> 主要用于聲明成員變量,位于類中的,每次刷新都會(huì)改變又稱為聲明,用的不太多因?yàn)槊看卧L問都要修改,那還得了
3.<%=%>
47.
?
?
?
?
?
?
?
?
看下面的聲明:
區(qū)別<%%><%=%>
?
<html>
<head>
????????????? <body>
?????????????????????????????????? <% int a =3 ; %>
?????????????????????????????????? <% ! int b= 3; %>
?
?????????????????????????????????? <%=a--%> <br>
?????????????????????????????????? <%=b--%>
???????????????????????????
?
????????????? </body>
?
</head>
?
</html>
?
可以發(fā)現(xiàn),每次刷新頁面,輸出a不變,但是b都是減一;這就是每次刷新調(diào)用方法;
48.
?????? <jsp:forward>指令用于轉(zhuǎn)向頁面,在該頁面后面的所有代碼都沒有機(jī)會(huì)執(zhí)行了,因?yàn)轫撁娴哪亓鞒桃呀?jīng)轉(zhuǎn)向了另外一個(gè)頁面了。
49.
表格 table? tr 表示行
?Td 表示列
?
50. 下面是用關(guān)聯(lián)創(chuàng)建的表 每個(gè)表格輸出數(shù)字遞增
<body>
?
????? <form action = "tableOutput.jsp"method = "get" >
?
??????? row:
??????? <input type="text"name="row">
??????? <br />
??????? col:
??????? <input type="text"name="col" />
??????? <br />
?
??????? <input type="submit"/>
?
?
?
????? </form>
?
?
?
?
?
?
?
?? </body>
?
<body>
???
??? <%
??? ? int row =Integer.parseInt(request.getParameter("row"));//獲取行數(shù)
??? ? int col =Integer.parseInt(request.getParameter("col"));
??? ?
??? ? int num = 1;
??? ?
??? ?
??? %>
??? <table border= "2"width = "80%" align = “center”>
???
??? <%for(int i = 0; i <row;i ++)
??? {
???
??? %>
??? ? <tr>
??? ???? <%
?????????? for(int j = 0 ; j < col; j++)
?????????? {
?????????????
??????? %>
?????????? <td>
????????????? <%=num++ %>
?????????? </td>
?????
???????? ?? <%}
??? ???????
??? ??????? %>??
??? ?
??? ?
??? ? </tr>
??? <%
??? }
???
???
??? %>
??? ?
???
???
???
???
???
???
??? </table>
???
???
???
???
???
???
???
? </body>
?
?
?
49.但是很遺憾,上述是理想的情況,如果用戶輸入的是非整數(shù),就會(huì)導(dǎo)致錯(cuò)誤代碼,所以最好是捕獲異常,用戶哪里出了錯(cuò),
下面是改進(jìn)后的,注意:try catch 是方法,注意變量的定義,發(fā)生異常后,如果不應(yīng)該再繼續(xù)進(jìn)行下去,要使用return返回
?
<body>
?
???
??? <%
??? int row = 0;
??? int col = 0;
??? int num = 1;
?try{
??? ? ?row = Integer.parseInt(request.getParameter("row"));//獲取行數(shù)
??? ? ?col = Integer.parseInt(request.getParameter("col"));
??? }
??? ?
??? catch(Exception ex)
??? {
????? out.println("輸入格式不正確!");?
????? return;
??? }
??? ?
??? ?
??? %>
??? <table border= "2"width = "80%" align= "center">
???
??? <%for(int i = 0; i <row;i ++)
??? {
???
??? %>
??? ? <tr>
??? ???? <%
?????????? for(int j = 0 ; j < col; j++)
?????????? {
?????????????
??????? %>
?????????? <td>
????????????? <%=num++ %>
?????????? </td>
?????
???????? ?? <%}
??? ???????
??? ??????? %>??
??? ?
??? ?
??? ? </tr>
??? <%
??? }
???
???
??? %>
??? ?
???
???
???
???
???
???
??? </table>
???
???
???
???
???
???
???
? </body>
?
?
?
?
?
?
?
?
?
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的javaWeb Note1的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基础补充和加强——希望对后来的人有所帮助
- 下一篇: Hadoop2调优(一):如何控制job