2025年Java Server Pages 實(shí)驗(yàn)教程與實(shí)踐解析_第1頁(yè)
2025年Java Server Pages 實(shí)驗(yàn)教程與實(shí)踐解析_第2頁(yè)
2025年Java Server Pages 實(shí)驗(yàn)教程與實(shí)踐解析_第3頁(yè)
2025年Java Server Pages 實(shí)驗(yàn)教程與實(shí)踐解析_第4頁(yè)
2025年Java Server Pages 實(shí)驗(yàn)教程與實(shí)踐解析_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

目錄

試驗(yàn)一JSP簡(jiǎn)介_________________________

試驗(yàn)二JSP頁(yè)面與JSP標(biāo)識(shí)_______________

試驗(yàn)三Tag文獻(xiàn)與Tag標(biāo)識(shí)______________

試驗(yàn)四JSP內(nèi)置對(duì)象_____________________

試驗(yàn)五JSP的文獻(xiàn)操作__________________

試驗(yàn)六JSP中使用數(shù)據(jù)庫(kù)_________________

試驗(yàn)七JSP與JavaBean__________________

試驗(yàn)八綜合試驗(yàn)________________________

試驗(yàn)(_)JSP簡(jiǎn)介__________________________

試驗(yàn)時(shí)間:5月7日

試驗(yàn)?zāi)康?/p>

本試驗(yàn)是讓學(xué)生掌握怎樣設(shè)置WEB目錄,怎樣訪問%'EB目錄下的JSP頁(yè)面,怎樣修

改Tomcat服務(wù)器的端口號(hào)。

試驗(yàn)內(nèi)容

1.將下載的apache-tomcat-6.0.13.zip解壓到硬盤的某個(gè)分區(qū),例如D;

2.在硬盤分區(qū)D下新建一種目錄,名字為student,將student設(shè)置為WEB目錄,

并為該目錄指定名字為good的虛擬目錄。打開Tomcat的安裝目錄中conf文獻(xiàn)

夾里server,xml文獻(xiàn),找到</Host》的部分(server.xml文獻(xiàn)末尾然后在

</Host》的前面加入:

<Contextpath=w/good"docBase="d:/student”debug="0"

reloadable=wtruew/>

3.修改端口號(hào)為5678o在server,xml文獻(xiàn)中找到修改端口號(hào)部分,將端口號(hào)修

改為5678o

4.啟動(dòng)Tomcat服務(wù)器

5.用文本編輯器編寫一種簡(jiǎn)樸的JSP頁(yè)面biao.jsp,并保留到Web服務(wù)目錄

student中。

6.用瀏覽器訪問WebH錄student中JSP頁(yè)面biau.jsp.

試驗(yàn)代碼

biao.jsp

<%@pagecontentType="text/htnil;charset=GB2312"%>

<HTML>

<BODYBGCOLOR=yellow>

<h3>乘法表</h3>

<FONTSize=3>

<%

for(intj=l;j<=9;j++){

fdr(inti=l;i<=j;i++){

intn=i*j;

out.print(i+nX”+j+”="+n+"”);

out.print("<br>H);

%>

</FONTx/BODYx/HTML>

JSP頁(yè)面效果示例

http://!27.0.0.1:8(IS(l/chApter1/biso.jxp-limlovxInternet...[L-f&fX

文伸口*翎田M?惟決⑧IMC蕭th?

o?r|“xPH,p-

.//12:001刎/&9urlMsjsp

乘法表

1X1=1

1X2=22X2=4

1X3=32X3=63X3=9

1X4=42X4=83X4=124X4=16

1X5=52X5=103X5=154乂5=205*5=25

1X6=62X6=123X6=184X6=245X6=306X6=36

1X7=72X7=143X7=214*7:285X7=356X7=427X7=49

1X8=82X8=163X8=244X8=325X*406X8=487X8=568X^4

[x192X9=183**274X9=365*生456乂*$47**638*9=729X

3=81

yoR?iMCTMt\?<1OCI1?

試驗(yàn)成果分析

本試驗(yàn)的重點(diǎn)與難點(diǎn)是設(shè)計(jì)虛擬H錄和修改端口號(hào),在試驗(yàn)過程中認(rèn)真參照書

本上的詳細(xì)環(huán)節(jié),設(shè)置了指定名為good的虛擬目錄和修改端口號(hào)為5678.

設(shè)置了虛擬目錄即隱藏了怩b服務(wù)目錄的實(shí)際位置,顧客只能通過虛擬目錄訪

問Web服務(wù)目錄的jsp頁(yè)面。而根據(jù)本次試驗(yàn)設(shè)置可知一般狀況下我們選擇的是默

認(rèn)目錄,由于設(shè)置虛擬目錄有其一定的限制。

指導(dǎo)教師批閱

1、試驗(yàn)態(tài)度:不認(rèn)真(),較認(rèn)真(),認(rèn)真()

2、試驗(yàn)?zāi)康模翰幻鞔_(),較明確(),明確()

3、試驗(yàn)內(nèi)容:不完整(),較完整(),完整()

4、試驗(yàn)環(huán)節(jié):混亂(),較清晰(),清晰()

5、試驗(yàn)成果:錯(cuò)誤(),基本對(duì)的),對(duì)的()

6、試驗(yàn)成果分析:無(),不充足(),較充足(),充足()

7、其他補(bǔ)充:

總評(píng)成績(jī):

評(píng)閱教師(簽字):

評(píng)閱時(shí)間:

試驗(yàn)(二)JSP頁(yè)面與JSP標(biāo)識(shí)

試驗(yàn)時(shí)間:5月14日

試驗(yàn)?zāi)康模?/p>

1、本試驗(yàn)的目的是讓學(xué)生掌握怎樣在JSP頁(yè)面中使用組員變量,怎樣使用Java程

序片、Java體現(xiàn)式。

2、本試驗(yàn)的目的是讓學(xué)生掌握怎么樣在JSP頁(yè)面中使用include指令標(biāo)識(shí)在JW

頁(yè)面中靜態(tài)插入一種文獻(xiàn)的內(nèi)容。

3、本試驗(yàn)的目的是掌握怎樣在JSP頁(yè)面中使用include標(biāo)識(shí)動(dòng)態(tài)加載文獻(xiàn),使用

forward實(shí)現(xiàn)頁(yè)面的轉(zhuǎn)向。

試驗(yàn)內(nèi)容

1、將顧客輸入的單詞按字典次序排序。需要編寫兩個(gè)JSP頁(yè)面,名字分別為

inputWord.jsp和showDictionary.jspo

1)inputWord.jsp的詳細(xì)規(guī)定

該頁(yè)面有一種表單,顧客通過該表單輸入若干個(gè)單詞,并提交給

showDictionary.jsp頁(yè)面。

2)showDictionary.jsp的詳細(xì)規(guī)定

該頁(yè)面負(fù)責(zé)排序單詞,并將排序的所有單詞顯示給顧客。

(1)該JSP頁(yè)面有名字為dictionary、類型是TreeSet組員變量。

(2)該JSP頁(yè)面有publicvoidaddWord(Strings)措施,該措施將參數(shù)s指定的

字符串添加到組員變量dicIionary中。

(3)該JSP頁(yè)面在程序片中操作dictionary,即顯示所有的單詞。

2、規(guī)定使用include指令標(biāo)識(shí)使得每一種頁(yè)面都包具有導(dǎo)航條。在進(jìn)行試驗(yàn)之前,

將名字是leader.txt的文獻(xiàn)保留到本試驗(yàn)所使用的web服務(wù)目錄中。Leader.txt的內(nèi)

容如下:

Leader.txt

<%@pagecontentType=4ttext/htnil;charset二GB2312"%>

<ahref="first.jsp”>鏈接到頁(yè)面1</a>

<ahref=usecond.jsp”>鏈接到頁(yè)面2</a>

<ahref=uthird.jsp”>鏈接到頁(yè)面3</a>

試驗(yàn)規(guī)定編寫3個(gè)JSP頁(yè)面,詳細(xì)規(guī)定如下。

1)first.jsp的詳細(xì)規(guī)定

first.jsp使用include指令靜態(tài)插入leader.txt文本文獻(xiàn)。

2)second.jsp的詳細(xì)規(guī)定

second.jsp使用include指令靜態(tài)插入leader.txt文獻(xiàn)。

3)ihird.jsp的詳細(xì)規(guī)定

third.jsp使用include指令靜態(tài)插入leader.txtc

3、編寫3個(gè)JSP頁(yè)面:give和error.jsp。

(1)give的詳細(xì)規(guī)定

規(guī)定give頁(yè)面中使用include標(biāo)識(shí)動(dòng)態(tài)加載read頁(yè)面,并將--種文獻(xiàn)的名字例如

ok.txt傳遞給被加載的read頁(yè)面。

(2)read的詳細(xì)規(guī)定

規(guī)定read負(fù)責(zé)根據(jù)give頁(yè)面?zhèn)鬟f過來的文獻(xiàn)名字進(jìn)行文獻(xiàn)的讀寫操作,假如該文獻(xiàn)

不存在就使用forward動(dòng)作標(biāo)識(shí)將顧客轉(zhuǎn)向error.jsp頁(yè)面。

(3)error.jsp的詳細(xì)規(guī)定:負(fù)責(zé)顯示錯(cuò)誤信息。

試驗(yàn)代碼:

inputWord.jsp

<%@pagecontentType="text/html;charset=GB2312"%>

<HTML>

<BODYbgcolor=cyan>

<FONTsize=3>

<FORMaction="showDictionary.jsp"method=ge(name=lbrm>

請(qǐng)輸入單詞(用空格分隔):<INPUTtype="text"name="word">

<DR>(INPUTTYPE="submit”valuc="送出"namc=submit>

</FORM>

</BODY>

</HTML>

showdictionary.jsp

<%@pagecontentType="text/html;charset=GB2312"%>

<%@pageimport="java.util.*"%>

<HTML>

<BODYBGCOLOR=yellow>

<FONTSize=3>

<%!

TrccSct<String>dictionary=nc\vTrccSct<String>();

publicvoidaddWord(Strings){

Stringword|]=s.split("");

for(inti=0;i<word.length;i++)(

diclionary.add(word[i]);

)

%>

<%

Stringstr=request.getParameter("word");

addWord(str);

Itcrator<String>tc=dictionary.itcrator();

whilc(tc.hasNcxt()>{

Stringword=tc.ncxt();

out.print(""+word);

)

%>

</FONT>

</BODY>

</HTML>

First.jsp

<%@pagecontentType="text/hlml;charset=GB2312"%>

<HTML>

<BODYBGCOLOR=yeIlow>

vP>這是頁(yè)面1

<%@includcfile="lcadcr.txt"%>

</BODY>

</HTML>

<%@pagecontentType="text/html:charset=GB2312"%>

<HTML>

<BODYBGCOLOR=cyan>

<P>這是頁(yè)面2

<%@includefile="leader.txt"%>

</BODY>

</HTML>

Second.jsp

<%@pagecontentType="tcxt/html;charsct=GB2312"%>

<HTML>

<BODYBGCOLOR=cyan>

vP>這是頁(yè)面2

<%@includefile="leader.txt"%>

</BODY>

</HTML>

third.jsp

<%@pagecontentType="text/html;charset=GB2312"%>

<HTML>

<BODYBGCOLOR=green>

<P>這是頁(yè)面3

<%@includcfile="lcadcr.txt"%>

</BODY>

</HTML>

JSP頁(yè)面效果示例:

http://127-O.O.1:8O8O/c:hM|>t?r2/xsuond.jxp'-1n||x

文仲0)????1)??)收IK夷?)XMa)網(wǎng)助>QP

■IU!BM〃E.O.O.iia白R(shí)戶-

a依I?聲[3?)http//12T0.018080/ch<pt?r2/*?con4j*p

這是頁(yè)面2譙探到迎fin譙按馴更JfiQZ遂接到直回2

Chttp://127.0.0.1:8080/chaptcr2/eivcFilcHa?c....R[B(X

文件任)綱5SG)查看9收藏夾Q)IK(I)招助Qj)

O?▼匝/“2T.0.018■內(nèi)Xz?'

會(huì)收搬夾回http:"127.0.0.18O80/chttpt?r2/giv?Fil#Ktt

諛取名字是。k.tXt的文件,

ThisisreadFile.jsp.

文件D:\tomcat-6.0.30\apache-tomcat-6.0.30

\webapps\chapter2/ok.txt的內(nèi)容:

南非世界杯的冠軍是西班牙

衛(wèi)冕冠軍意大利小組未能出線

完成?Internet傘.+、100%-

ThisisreadFile.jsp.

文件D:\tomcat-6.0.30\apache-tomcat-6.0.30

\webapps\chapter2/ok.txt的內(nèi)容:

南非世界杯的冠軍是西班牙

衛(wèi)冕冠軍意大利小組未能出線

f15*7.O.O-1=BOBO/t?sr2,KAVWFi1■,■>?,?,?.三]叵:區(qū)

文什0)■■3》噌血束XM(I)都助QP

▼[自,127.00.1▼”X匕>-

*收K短http//127OO.18000/chapt*r2/<lv*FlL*N*

Thisiserror,jsp.

注頁(yè)WB?到的值總:Fa】。NotFound

完琥.Xne.rn.e%.%10OX-

試驗(yàn)成果分析:

通過試驗(yàn)過程分析可知:JSP頁(yè)面中的組員變量是被所有的顧客共享的變量。

JAVA程序片可以操作組員變量,任何一種顧客對(duì)JSP頁(yè)面組員變量操作的成果,都

會(huì)影響到其他顧客,假如多種顧客訪問一種JSP頁(yè)面,那么該頁(yè)面的JAVA程序片

就會(huì)被執(zhí)行多次,分別運(yùn)行在不一樣的線程中,即運(yùn)行在不一樣的時(shí)間片內(nèi)。運(yùn)行

在不一樣線程中的JAVA程序片的局部變量互不干擾,即一種顧客變化JAVA程序片

中的局部變量的值不會(huì)影響其他顧客的JAVA程序片中的局部變量:。

指導(dǎo)教師批閱:

8、試臉態(tài)度:不認(rèn)真(),較認(rèn)真(),認(rèn)真()

9、試驗(yàn)?zāi)康模翰幻鞔_(),較明確(),明確()

10、試臉內(nèi)容:不完整(),較完整(),完整()

11、試臉環(huán)節(jié):混亂(),較清晰(),清晰()

12、試臉成果:錯(cuò)誤(),基本對(duì)的(),對(duì)的()

13、試驗(yàn)成果分析:無(),不充足(),較充足(),充足()

14、其他補(bǔ)充:

總評(píng)成績(jī):

評(píng)閱教師(簽字):

評(píng)閱時(shí)間:

試驗(yàn)(三)Tas文獻(xiàn)與Tae標(biāo)識(shí)_____________________

試驗(yàn)時(shí)間:5月21日

試驗(yàn)?zāi)康模?/p>

1、讓學(xué)生.靈活掌握在Tag標(biāo)識(shí)中使用標(biāo)識(shí)體。

2、靈活掌握在Tag標(biāo)識(shí)中使用attribute指令。

3、靈活掌握在Tag標(biāo)識(shí)中使用variable指令。

試驗(yàn)內(nèi)容

1、編寫一種JSP頁(yè)面giveMess.Jsp和一種Tag文獻(xiàn)hand1eMess.TagoJSP頁(yè)面通

過調(diào)用Tag文獻(xiàn)在表格中的單元格顯示文本,該JSP頁(yè)面通過使用標(biāo)識(shí)體將要顯示

的文本傳遞給被調(diào)用的Tag文獻(xiàn)。

1)giveMess.Jsp的詳細(xì)規(guī)定

規(guī)定giveMess.Jsp頁(yè)面使用帶標(biāo)識(shí)體的Tag標(biāo)識(shí)米調(diào)用Tag文獻(xiàn),其中標(biāo)識(shí)體是

一行文本,如下:

<ok:handleMess>

南非世界杯

</ok:handleMess>

2)hcindleMess.Tcig的詳細(xì)規(guī)定

hcindleMess.tag使用<jsp:doBody/〉處理標(biāo)識(shí)體,將標(biāo)識(shí)體給出的文本顯示在表格

的單元格中。規(guī)定表格每行有三個(gè)單元,反復(fù)顯示標(biāo)識(shí)體給出的文本

2、編寫一種ShowCalendar.tag,該Tag文獻(xiàn)負(fù)責(zé)顯示口歷。編寫一種JSP頁(yè)面

giveYearMoth.jsp,該JSP頁(yè)面使用Tag標(biāo)識(shí)調(diào)用SnowCalander.tag文獻(xiàn),并且向

ShowCalender.tag文獻(xiàn)傳遞年份和月份。

(1)giveYcarMouth.jsp的詳細(xì)規(guī)定

givoYcarMouth.jsp通過Tag標(biāo)識(shí)調(diào)用ShowCalendar.tag文獻(xiàn),冰箱該Tag文獻(xiàn)傳

遞年份和月份。

(2)ShowCalendar.tag的詳細(xì)規(guī)定

該Tag文獻(xiàn)根據(jù)JSP頁(yè)面?zhèn)鬟f過來的額年份和月份來顯示日歷。規(guī)定該Tag文獻(xiàn)能

對(duì)JSP文獻(xiàn)傳遞過來的數(shù)據(jù)進(jìn)行判斷,例如,假如JSP頁(yè)面?zhèn)鬟f過來的數(shù)據(jù)不是數(shù)

值型數(shù)據(jù),Tag文獻(xiàn)負(fù)責(zé)顯示錯(cuò)誤信息。

3、編寫一種Tag文獻(xiàn)GelWord.lag,負(fù)責(zé)分解出字符串中的所有單詞,并將分解出

的所有單詞返回給調(diào)用該Tag文獻(xiàn)的JSP頁(yè)面。編寫一種JSP頁(yè)面giveString.jsp,

該頁(yè)面負(fù)責(zé)向Tag文獻(xiàn)傳遞一種由英文單詞構(gòu)成的字符串,并負(fù)責(zé)顯示Tag文獻(xiàn)返

回的所有單詞。

(1)giveString.jsp的詳細(xì)規(guī)定

giveString.jsp通過Tag標(biāo)識(shí)調(diào)用GetWord.Tag文獻(xiàn),并向該Tag文獻(xiàn)傳遞一種由

英文單詞構(gòu)成的字符串。giveString.jsp負(fù)責(zé)向Tag文獻(xiàn)GetWord,tag返回的所有

單詞。

(2)GetWord.Tag的詳細(xì)規(guī)定

規(guī)定Tag文獻(xiàn)GetWord使用attibute指令得到JSP頁(yè)面?zhèn)鬟f過來的字符串,使用

variable指令返回所有的單詞。

試驗(yàn)代碼:

giveMess.jsp

<%@pagecontentTypc="tcxt/html:Charset=GB2312"%>

<%@taglibtagdir="/WEB-INF/tags"prcfix=*'ok"%>

<body>

<Fontsize=2color=blue>表格每行反發(fā)顯示信息</font>

<tableborder=2>

<ok:handleMess>

南非世界杯

</ok:handleMess>

<ok:handleMess>

宛軍是西班牙

</ok:handleMess>

<ok:handleMess>

亞軍是荷蘭

</ok:handleMess>

</uble>

</body>

</html>

giveYearMonth.jsp

<%@pagecontentType="text/htnil;charset=GB2312"%>

<%@taglibtagdir="/WEB-INF/tags"prefix=',rili,,%>

<HTML>

<BODY>

<P>調(diào)用Tag文獻(xiàn)來顯示日歷.

<rili:ShowCalendaryear=""month="12"/>

</BODY>

</HTML>

giveString.jsp

<%@pagecontentType="text/htinl;Charset=GB2312"%>

<%@taglibtagdir="/WEB-INF/tags"prefix="words"%>

<HTML>

<%Strings="SouthAfricaWorldCup(Espanaischampion)";

%>

<BODYcolor=cyan>

<words:GetWordstr="<%=s%>"/>

字符串:vbr><h3><%=s%><br></h3>中的所有單詞:

<%

for(inti=0;i<wordList.size();i++){

out.print("<br>"+wordList.gct(i));

)

%>

</BODYx/HTML>

JSP頁(yè)面效果示例:

http://127.0.0.1:8080/chapte:3/civcYearlonth.jsp...□回國(guó)

文件9的婚/)55?收標(biāo)關(guān)④工Rd)幫既量)

▼I國(guó)—"2T.0.0.1£凰囹?qū)鵿P百置j|P|?|

心收蠹英國(guó)http:〃127.0.0/80aO/dQtS3/civ”《*i1l。...

調(diào)用Tag文件來顯示日歷.

2012年12月的日歷:

星期日¥期-星期二星期三星期四星期五星期六

一一一一—一|1

2[457[8

9101112131415

16171819曠21|22

2324[2526[2728[29

30[311-

0/\1001?

Chttp://127.:8080/cfiMpt3/exvwStrine.Jxp—???[?1(10]X

文懵山)偏旗q)查看W)收點(diǎn)茨Q)TAd)怵助Qi)

▼回vsrou.1▼“人?IF|

力收@http://12700.16000/ch<pt<r3/<ivtStrine...

字符串:

SouthAfricaWorldCup(Bspanaischampion)

中的全部單詞,

South

Africo

World

Cup

Espono

is

chanpion

完成9InternetQ?t100%,

試驗(yàn)成果分析:

TAG文獻(xiàn)是擴(kuò)展名為.tag的文本文獻(xiàn),其構(gòu)造幾乎與JSP文獻(xiàn)相似,一種TAG

文獻(xiàn)中可以有一般的HTML標(biāo)識(shí)符,某些特殊的指令標(biāo)識(shí),組員變量與措施、JAVA

程序片和JAVA體現(xiàn)式。

指導(dǎo)教師批閱:

15、試臉態(tài)度:不認(rèn)真(),較認(rèn)真(),認(rèn)真()

16、試驗(yàn)?zāi)康模翰幻鞔_(),較明確(),明確()

17、試驗(yàn)內(nèi)容:不完整(),較完整(),完整()

18、試臉環(huán)節(jié):混亂(),較清晰(),清晰()

19、試臉成果:錯(cuò)誤(),基本對(duì)的(),對(duì)的()

20、試臉成果分析:無(),不充足(),較充足(),充足()

21、其他補(bǔ)充:

總評(píng)成績(jī):

評(píng)閱教師(簽字):

評(píng)閱時(shí)間:

試驗(yàn)(四)JSP內(nèi)置對(duì)象________________________

試驗(yàn)時(shí)間:5月28日

試驗(yàn)?zāi)康?/p>

1、本試驗(yàn)的目的是讓學(xué)生掌握怎樣在JSP中使用內(nèi)置對(duì)象requesto

2、本試驗(yàn)的目的是掌握怎樣使用response對(duì)象動(dòng)態(tài)響應(yīng)顧客的祈求。

試驗(yàn)內(nèi)容

1、編寫一種JSP頁(yè)面inputNumber.jsp,該頁(yè)面提供一種表單,顧客可以通過表單

輸入兩個(gè)數(shù)和四則運(yùn)算符號(hào)提交給該頁(yè)面。顧客提交表單后,JSP頁(yè)面

inputNumber.jsp。將計(jì)算任務(wù)交給--種Tag文獻(xiàn)Computer.tag去完畢。

1)inputNumber.jsp頁(yè)面提供一種表單,規(guī)定表單中提供兩個(gè)text輸入框,供顧

客輸入數(shù)字;提供一種select下拉列表,該下拉歹!表有加、減、乘、除四個(gè)選項(xiàng),

供顧客選擇運(yùn)算符號(hào)。顧客在表單中輸入數(shù)字、選擇運(yùn)算符號(hào)提交給

inputNumber.jsp頁(yè)面。inputNumber.jsp使用Tag標(biāo)志調(diào)用Tag文獻(xiàn)Computer,tag,

并將表單提交的數(shù)字和運(yùn)算符號(hào)傳遞給Computer.tag。

2)Computer.tag的詳細(xì)規(guī)定

規(guī)定Computer.tag使用attribute指令得到JSP頁(yè)面?zhèn)鬟f過來的值,使用

variable指令講計(jì)算成果返回給JSP頁(yè)面inputNumber.jspo

2^編寫兩個(gè)JSP頁(yè)面inputRadius.jsp和drawCircle.jsp<?inputRadius.jsp頁(yè)

面提交圓的半徑給drawCircle.jsp頁(yè)面,drawCircle.jsp頁(yè)面使用response對(duì)■象

做出動(dòng)態(tài)響應(yīng)。

1)inputRadius.jsp的詳細(xì)規(guī)定

inputRadius.jsp提供表單,顧客在表單中輸入一種代表圓的半徑的數(shù)字,提交給

drawCircle.jsp頁(yè)面。

2)drawCircle.jsp

drciwCircle.jsp頁(yè)面首先使用request對(duì)象獲得inputRadius.jsp頁(yè)面提交的數(shù)

字,然后根據(jù)數(shù)字的大小做出不一樣的響應(yīng)。假如數(shù)字不不小于等于?;虿恍∮?00,

response對(duì)象調(diào)用setContentType(Strings)措施將contentType屬性的值設(shè)置

為text/plain,同步輸出“半徑不合理";假如數(shù)字不小于0并且不不小于等于100,

response對(duì)象調(diào)用setContType(Strings)措施符contentType屬性的值設(shè)置為

image/jpeg,并繪制一種圓;假如顧客在inputRadius.jsp頁(yè)面輸入了非數(shù)字,

response對(duì)象調(diào)用sendRedirect(URLurl)措施將顧客重定向到inputRadius.jsp

頁(yè)面。

試驗(yàn)代碼:

inputNumber.jsp

<%@pagecontentType="tcxt/html;charsct=GB2312"%>

<HTML>

<BODYbgcolor=cyan>

<Fontsize=5>

<FORMaction="receiveNumber.jsp"method=postname=form>

榆入運(yùn)算數(shù)、選投運(yùn)算符號(hào):vbr>

<Inputtype=textname="numberOne"size=6>

<Selectname="operator">

<Optionvalue="+">+

<Optionvalue="-">-

<Optionvalue="*">*

<Optionvalue='7">/

</Select>

<Inputtypc=tcxtname="numbcrTwo"sizc=6>

<BR><INPUTTYPE="submit"value=”提交你的選擇"name二"submit”>

</FORM>

</Font>

</BODY>

</HTML>

receiveNumber.jsp

<%@pagecontentType="text/html;charset=GB2312"%>

<%@taglibtagdir="/WEB-INF/tags"prefix="computer"%>

<%

Stringa=request.getParameter("numberOne");

Stringb=request.getParameter("numberTwo");

Stringoperator=request.getParameter("operator");

if(a==null||b==null){

a="";

b="";

)

if(a.length()>O&&b.Iength()>O){

%><compu:er:ComputernumberA="<%=a%>"numberB="<%=b%>"

operator=,'<%=operator%>'7>

計(jì)算成果:<%=a%><%=opcrator%x%=b%>=<%=result%>

<%)

%>

<ahref=inputNuniber.jsp>返回輸入數(shù)據(jù)界面</a>

Computer.Tag

<%@pagecontentType="text/html;charset=GB2312"%>

<HTML>

<BODYbgcolor=yellow>

<Fontsize=2>

<FORMaction="drawCircle.jsp"method=postname=form>

輸入圓的半徑:〈Inputtype=textname="radius"size=6>

〈INPUTTYPEsubmit”value="提交"name二"submit”,

</FORM>

</Font>

</BODY>

</HTML>

inputRadius.jsp

<%@pagecontcntTypc="tcxt/html;charsct=GB2312"%>

<%@pageimport="java.awt.*"%>

<%@pageimport="java.io.*"%>

<%@pageimport="java.awt.image.*"%>

v%@pageimport="java.a\vt.geom.*"%>

<%@pageimport="com.sun.image.codec.jpeg.*"%>

<HTML>

<BODYbgcolor=yellow><Fontsize=3>

<%StringR=request.getParameter("radius");

iry

{doublenumber=Double.parseDouble(R);

if(number<=O||number>IOO){

rcsponse.sctCon(cntType("text/pkun;charsct=GD2312");

out.println(number+"作為圓的半徑不合理");

I

elseif(number>O&&number<=100){

response.setContentType("image/jpeg");〃變化MIME類型

intwidth=100,height=100;

Buffered!mageimage=new

BuffercdImage(width,height,BuffcrcdImage.TYPE_INT_RGB);

Graphicsg=image.getGraphics();

g.setColor(Color.white);

g.fillRect(O,0,width,height);

Graphics2Dg_2d=(Graphics2D)g;

Ellipsc2Dcircle=ncwEllipse2D.Double(0,0,numbcr,number);

g_2d.setColor(Color.blue);

g_2d.fiil(circle);//繪制一種圓

g.dispose();

OutputStreamoutClient=response.getOutputStream();〃獲取指向顧客端

的榆出流

JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(outClient);

encoder.encode(image);

I

)

catch(Exceptione){

response.scndRcdircct("inputRadius.jsp'^);

)

%>

</FONT>

</BODY>

</HTML>

JSP

頁(yè)面效果示例:

Chttp://127.0.0.1:8080/chapter4/inputRadiu...二|叵區(qū)|

I

試驗(yàn)成果分析:

HTTP通信協(xié)議是在客戶機(jī)與服務(wù)器之間的一種提交信息與響應(yīng)信息的通信協(xié)

議,在JSP中,內(nèi)置對(duì)象封裝了顧客提交的信息,那么該對(duì)象調(diào)用對(duì)應(yīng)的措施可以

獲取封裝信息,雖然用該對(duì)象可以獲取顧客提交的信息。

指導(dǎo)教師批閱:

22、試臉態(tài)度:不認(rèn)真(),較認(rèn)真(),認(rèn)真()

23、試驗(yàn)?zāi)康模翰幻鞔_(),較明確(),明確()

24、試臉內(nèi)容:不完整(),較完整(),完整()

25、試臉環(huán)節(jié):混,亂(),較清晰(),清晰()

26、試臉成果:錯(cuò)誤(),基本對(duì)的(),對(duì)的()

27、試臉成果分析:無(),不充足(),較充足(),充足()

28、其他補(bǔ)充:

總評(píng)成績(jī):

評(píng)閱教師(簽字):

評(píng)閱時(shí)間:

試驗(yàn)(五)JSP中的文獻(xiàn)操作________________________

試驗(yàn)時(shí)間:6月4日

試驗(yàn)?zāi)康?/p>

掌握使用文獻(xiàn)輸入、輸出字節(jié)流讀寫文獻(xiàn)。

試驗(yàn)內(nèi)容

編寫四個(gè)JSP頁(yè)面givcContcnt.jspswritcContcn.jsplookContcnt.jsp、

readContcnt.jsp,兩個(gè)Tag文獻(xiàn)WriteTag.tag和RcadTag.tag.

1)givcContcnt.jsp的詳細(xì)規(guī)定

givcContcnt.jsp提供一種表單,規(guī)定該表單提供一種text文本輸入框,select

下拉列表和一種TextArea文本區(qū),顧客可以在text輸入框中輸入文獻(xiàn)的名字、在

select下拉列表選擇一種目錄(下拉列表的選項(xiàng)必須是Tomcat服務(wù)器所駐留計(jì)算機(jī)

上的目錄)、通過TextArea輸入多行文本。單擊表虺的提交按鈕text中輸入的文獻(xiàn)

名字、select卜?拉列表中選中的目錄以及TextArea文本區(qū)中的內(nèi)容提交給

writeConten.jsp頁(yè)面。

2)writeConten.jsp的詳細(xì)規(guī)定

writeConten.jsp頁(yè)面首先獲得giveConlent.jsp頁(yè)面提交的文獻(xiàn)所在目錄、名字

以及TextArea文本區(qū)中的內(nèi)容,然后使用Tag文獻(xiàn)標(biāo)識(shí)調(diào)用Tag文獻(xiàn)WriteTag.tag,

并將文獻(xiàn)所在目錄、名字以及extArca文本區(qū)中的內(nèi)容傳遞給WriteTag.tago

3)lookContent.jsp的詳細(xì)規(guī)定

lookContent.jsp頁(yè)面提供一種表單,該表單提供兩個(gè)text文本輸入框,顧客可

以在這兩個(gè)text文本框中輸入目錄和文獻(xiàn)名字。單擊表單的“提交”按鈕將text中

輸入的文獻(xiàn)目錄以及文獻(xiàn)名字提交給rcadContcnt.jspo

4)rcadContcnt.jsp的詳細(xì)規(guī)定

rcadContcnt.jsp頁(yè)面首先獲得lookContent.jsp頁(yè)面提交的文獻(xiàn)目錄、名字,然后使用

Tag標(biāo)識(shí)調(diào)用Tag文獻(xiàn)RcadTag.tag,并將文獻(xiàn)所在目錄、名字傳遞給RcadTag.tago

5)WriteTag.tag的詳細(xì)規(guī)定

WriteTag.tag文獻(xiàn)使用attribute指令獲得writeConten.jsp頁(yè)面?zhèn)鬟f過來的文獻(xiàn)目

錄、文獻(xiàn)名和文獻(xiàn)內(nèi)容,然后使用文獻(xiàn)字節(jié)輸出流將文獻(xiàn)內(nèi)容寫入到文獻(xiàn)中,該文

獻(xiàn)所在目錄就是writeConten.jsp頁(yè)面?zhèn)鬟f過來的文獻(xiàn)目錄,名字就是writeConten.jsp

頁(yè)面?zhèn)鬟f過來的文獻(xiàn)名字。

6)ReadTag.tag的詳細(xì)規(guī)定

ReadTag.tag文獻(xiàn)使用attribute指令獲得readContent.jsp頁(yè)面?zhèn)鬟f過來的文獻(xiàn)目

錄、文獻(xiàn)名,然后使用文獻(xiàn)字節(jié)輸入流讀取文獻(xiàn),并負(fù)責(zé)顯示所讀取的內(nèi)容。

試驗(yàn)代碼:

giveContent.jsp

<%@pagecontentType="lexl/hlml:charset=GB2312"%>

<%@taglibtagdir="/WEB-INF/tags"prefix="fiie"%>

<head>

<Ahref="giveContent.jsp">我要寫文獻(xiàn)</A>

<Ahref="lookContent.jsp",我要讀文獻(xiàn)</A>

</head>

<HTML>

<BODYbgcolor=yellow〉

<Fontsize=2>

<FORMaction="\vriteContcnt.jsp"mcthod=post>

請(qǐng)選擇一種目錄:

<Sclcctname=,,H>

<Optionvalue="C:/1000">C:/IOOO

<Optionvalue="D:/">D:/

<Optionvalue="D:/1000">D:/1000

</Select>

vBR>輸入保留文獻(xiàn),勺名字:〈Inputtype=textname="">

<BR>輸入文獻(xiàn)的內(nèi)容:vBR>

<TextAreaname=""Rows="5"Cols="38"x/TextArea>

<BR><Inputtype=submitvalue="提交"〉

</FORM>

</FONT>

</BODY>

</HTML>

writeContent.jsp

<%@pagecontcntType="tcxt/html;charsct=GB2312"%>

<%@taglibtagdir=VWEB-INF/tags”prefix=',file"%>

<HTML>

<BODYbgcolor=cyan>

<Fontsize=2>

<%String("");

String

String

bytec[]=C'iso-8859-l");

String(c);

%>

<”<%=>"”<%=>”

*'<%=>"/>

</FONT>

<ahref="lookContent.jsp">^.^i^3L^</a>

</BODY>

</HTML>

<%@pagecontentType="text/html;charset=GB2312"%>

<head>

<Ahrcf="giveContcnt.jsp">我要寫文獻(xiàn)</A>

<Ahref="lookContent.jsp”>我要讀文獻(xiàn)</A>

</hcad>

<HTML>

<BODYbgcolor=yellow>

<Fontsize=2>

<FORMaction="readContent.jsp"inethod=',post"name="form">

榆入文獻(xiàn)的途徑〔如:d:/1000):〈INPUTtype="text'*name='H,>

vBR>輸入文獻(xiàn)的名字(如:Hello.java):<INPUTtype="text”name="”>

<BR><INPUTtype="submit”value=“讀取“name="submit”>

</FORM>

</Font>

<ahref="giveContent.jsp”>我要寫文獻(xiàn)</a>

</BODY>

</HTML>

<%@pagecontcntTypc="tcxt/html;charsct=GB2312"%>

<%@taglihtagdir="/WEB-INF/tags"prcfix=,,filc"%>

<HTML>

<BODYbgcolor=cyan>

<Fontsize=2>

<%String("");

String("");

String

bytec[]=(Miso-8859-l");

Slring(c);

%>

<“<%=>""<%=>"

"<%=>"/>

</FONT>

<ahref="lookContent.j$p">我要讀文獻(xiàn)</a>

</BODY>

</HTML>

JSP頁(yè)面效果示例:

試驗(yàn)成果分析:

以字節(jié)為單位次序讀取文獻(xiàn),只要不關(guān)閉流,每次調(diào)用road措施就次序地讀

取源中的其他內(nèi)容,直到源的末尾或流被關(guān)閉。

流以字節(jié)為單位次序地寫文獻(xiàn),只要不關(guān)閉流,每次調(diào)用writer措施就次序

地向輸入流寫入內(nèi)容。

指導(dǎo)教師批閱:

29、試驗(yàn)態(tài)度:不認(rèn)真(),較認(rèn)真(),認(rèn)真()

30、試驗(yàn)?zāi)康模翰幻鞔_(),較明確(),明確()

31、試臉內(nèi)容:不完整(),較完整(),完整()

32、試驗(yàn)環(huán)節(jié)::昆亂(),較清嘛(),清晰()

33、試臉成果:錯(cuò)誤(),基本對(duì)的(),對(duì)的()

34、試驗(yàn)成果分析:無(),不充足(),較充足(),充足()

35、其他補(bǔ)充:

總評(píng)成績(jī):

評(píng)閱教師(簽字):

評(píng)閱時(shí)間:

試驗(yàn)(六)JSP中使用數(shù)據(jù)庫(kù)_______________________

試驗(yàn)時(shí)間:6月11日

試驗(yàn)?zāi)康?/p>

1、本試驗(yàn)的目的是掌握使用JDBC查詢數(shù)據(jù)庫(kù)中表的記錄。

2、本試驗(yàn)的目的是掌握使用JDBC更新數(shù)據(jù)庫(kù)中表的記錄。

3、本試驗(yàn)的H的是掌握使用JDBC刪除數(shù)據(jù)庫(kù)中表的記錄。

試驗(yàn)內(nèi)容

1、編寫一種JSP頁(yè)面inputMess.jsp。編寫一種Tag文獻(xiàn)FindBook.tago

1)inputMess.jsp的詳細(xì)規(guī)定

inputMess.jsp頁(yè)面?提供表單。表單容許顧客輸入要查詢的內(nèi)容,以及選擇針對(duì)

該內(nèi)容的查詢條件,例如,輸入“實(shí)用”,那么可以制動(dòng)該內(nèi)容是書名的一部分或

作者姓名等。inputMess.jsp頁(yè)面查詢條件提交給目前頁(yè)面,目前頁(yè)面調(diào)用

FincBook.tag文獻(xiàn)完畢查詢操作。

2)FindBook.tag的詳細(xì)規(guī)定

FindBook.tag文獻(xiàn)使用attribute指令獲得inputMess.jsp頁(yè)面?zhèn)鬟f過來的字段的查

詢條件,然后與數(shù)據(jù)源informantion簡(jiǎn)歷連接、根據(jù)得到的查詢條件查詢bookForm

表。FindBook.tag文獻(xiàn)使用variable指令將查詢成果返回給inputMess.J叩頁(yè)面。

2、編寫一種JSP頁(yè)面updateRecord.jsp和兩個(gè)Tag文獻(xiàn)UpdateRecord.tag>

GetRecord.tagoupdateRecord.jsp負(fù)責(zé)調(diào)用GetRecord.tag文獻(xiàn),顯示GetRecord.tag

返回待更新的記錄的有關(guān)字段的值;updateRecord.jsp調(diào)用UpdatcRccord.tag文獻(xiàn),

并顯示UpdatcRccord.tag返回的有關(guān)更新記錄與否成功的信息。

1)updateRecord.jsp的詳細(xì)規(guī)定

updateRecord.jsp頁(yè)面提供一種表單,該表單容許顧客輸入某種圖書的ISBN號(hào)

以及針對(duì)該ISBN號(hào)的圖書的更新信息;該頁(yè)面負(fù)責(zé)將圖書的ISBN號(hào)傳遞給

GeRecord.tag,將圖書的更新信息傳遞給UpdatcRccord.tag<,

2)GctRccord.tag的詳細(xì)規(guī)定

GctRccord.tag文獻(xiàn)使用attribute指令獲得updateRecord.jsp頁(yè)面?zhèn)鬟f過來的圖書的

ISBN號(hào),并顯示和該圖書對(duì)應(yīng)的記錄。

3)UpdateRecord.tag的詳細(xì)規(guī)定

UpdateRecord.tag文獻(xiàn)使用attribute指令獲得updateRecord.jsp頁(yè)面?zhèn)鬟f過來的圖

書更新信息,然后更新數(shù)據(jù)庫(kù)中bookForm表中的記錄,并返回更新與否成功的消

息給updateRecord.jsp

3、編寫一種JSP頁(yè)面inputDeletedlSBN.jsp和一種Tag文獻(xiàn)DelRecord,tag<>

1)inputDeletedlSBN.jsp的詳細(xì)規(guī)定

inputDeletedlSBN.jsp頁(yè)面提供一種表單,該表單容許顧客圖書的

ISBN提交到本頁(yè)面。

2)DelRecord.tag的詳細(xì)規(guī)定

InputDeletedlBSN.jsp頁(yè)面首先獲得本頁(yè)面提交的圖書的ISBN,然后

使用Tag標(biāo)識(shí)調(diào)用DelRecord.tag刪除數(shù)據(jù)庫(kù)表中對(duì)應(yīng)的記錄。

試驗(yàn)代碼:

<%@pagecontentType="text/html;charset=GB2312"%>

<%@taglibtagdir="/WEB-INF/tags"prefix="deleteRecord"%>

<HTML>

<BODY>

<FONTsize=2>

<FORMaction:method=post,

刪除記錄:

<br>輸入被刪除的圖書的ISBN:

<Inputtypc="tcxt"namc="hookISBN">

<Inputtype="submir'name="b"value="提交"〉

<%

StringbookISBN=request.getParameter("bookISBN");

if(bookISBN!=null){

%>

<deleteRecord:DeleteRecordbookISBN="<%=bookISBN%>,7>

<br><%=backMess%>

<%)

%>

</Font>

</BODY>

</HTML>

<%@pagecontcntTypc="tcxt/html;charsct=GB2312"%>

<%@taglibtagdir="/WEB-INF/tags"prefix=HfindBook"%>

<HTML>

<Bodybgcolor=cyan><center>

<formaction="">

輸入查詢內(nèi)容:〈Inputtype=textname="findContent"value="JSP">

<Selectname="condition"size=l>

<OptionSelectedvalue=HbookISBN">ISBN

<Optionvalue="bookName”>書名

<Optionvalue="bookAuthor">^者

<Oplionvalue="bookPublish”>出版社

<Optionvalue="bookTime”>出版時(shí)間

<Optionvaluc="bookAbstract”>內(nèi)容?商要

</Select>

<Br>

<INPUTtype="radio"name="findMethod"value="start",前方一致

<INPUTtype="radio"name="findMethod"vakie="end">后方一致

<INPUTtype="radio"name="findMcthod"value="contains",包括

<Inputtypc=submitvalue=3是交

</form>

<%

StringfindContent=rcqucst.gctParamcter("findContent");

Stringcondition=rcquest.getParamcter("condition");

StringfindMcthod=rcquest.gctParamctcr("findMctliod");

if(findContcnt==null)(

findContent=H";

if(condition==null){

condition:”";

if(findMethod==null){

findMethod=,'";

)

%>

<BR>查詢到的圖書:

<findBook:FindBookdataSource="information"

tablcNamc="bookForm"

findContcnt="<%=findContcni%>"

condition="<%=conclition%>"

findMcthod="<%=findMcthod%>V>

<BRx%=giveResull%>

</fbrm>

</BODY>

</HTML>

?%@pagecontentType="text/html;charset=GB2312"%>

<%@(aglibtagdir="/WEB-INF/tags”prefix="getRecord"%>

<%@(aglibtagdir="/WEB-INF/tags"prefix=nupdateRecord"%>

<HTML><BODYbgcolor=pink><CENTER>

<FORMac(ion="^^name=form>

榆入圖書的ISBN號(hào),然后更新該圖書的有關(guān)信息:

<Inputtype=textname="bookISBN"/>

<Inputtype=submitname="ok"value="MK"/>

</FORM>

<%

StringbookISBN=request.getParameter("bookISBN");

if(bookISBN!=null){

%>

<getRecord:GetRecordbookISBN="<%=bookISBN%>"/>

輸入<%=bookISBN%>的新信息,:

<Fontsize=2>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論