javaWeb Note1

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中任何地方可以放置 &nbsp;表示空格!

 

10.

<html>

       <head>

              <title>百度</title>

       </head>

                     <body>

                     百度一下<br>你就知道 你知道嗎?

                     <p>    i   don't knowdf where you a&nbsp;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 = "提交">

                                                                           &nbsp;&nbsp;

                                                                           <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的中的標籤就相當於servletout.println()打印出的文本

比如我response.out.println("<i>hello</>");就相當於jsp中的<i>hello</>

jsp也是一個servlet,有的時候我們可以把請求交給jsp。一個servletresponse,就是這個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.

/*

 * 模擬雙色球生成器,定義133號的紅球組合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 + "&nbsp;</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>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章