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