Java技術(shù)與應(yīng)用實(shí)驗(yàn)指導(dǎo)書_第1頁(yè)
Java技術(shù)與應(yīng)用實(shí)驗(yàn)指導(dǎo)書_第2頁(yè)
Java技術(shù)與應(yīng)用實(shí)驗(yàn)指導(dǎo)書_第3頁(yè)
Java技術(shù)與應(yīng)用實(shí)驗(yàn)指導(dǎo)書_第4頁(yè)
Java技術(shù)與應(yīng)用實(shí)驗(yàn)指導(dǎo)書_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Java技術(shù)與應(yīng)用實(shí)驗(yàn)指導(dǎo)書--2008級(jí)適用專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)、網(wǎng)絡(luò)工程、信息與計(jì)算科學(xué)

實(shí)驗(yàn)一簡(jiǎn)單Web應(yīng)用程序開發(fā)本實(shí)驗(yàn)8學(xué)時(shí)實(shí)驗(yàn)?zāi)康氖煜avaWeb編程環(huán)境,編制簡(jiǎn)單Web程序?qū)嶒?yàn)環(huán)境與條件JDK1.6,NetBeans6.9,Tomcat6實(shí)驗(yàn)內(nèi)容和步驟用JSP編寫一個(gè)個(gè)人展示網(wǎng)站的頁(yè)面設(shè)計(jì),不使用數(shù)據(jù)庫(kù)。具體步驟包括:用戶登錄個(gè)人基本信息個(gè)人作品展示好友的網(wǎng)站連接技巧提示:傳遞參數(shù)的中文亂碼問(wèn)題的解決方法:用下面的代碼先把request中的參數(shù)轉(zhuǎn)為字節(jié)序列,然后再轉(zhuǎn)為UTF8編碼的字符串。代碼如下:newString(request.getParameter("name").getBytes("ISO-8859-1"),"UTF8");附錄:Web應(yīng)用程序開發(fā)簡(jiǎn)介本文檔將向您介紹有關(guān)使用NetBeansIDE開發(fā)Web應(yīng)用程序的基礎(chǔ)知識(shí)。它將演示如何創(chuàng)建簡(jiǎn)單的Web應(yīng)用程序,如何將該應(yīng)用程序部署到服務(wù)器,以及如何在瀏覽器中查看該應(yīng)用程序的表現(xiàn)形式。該應(yīng)用程序采用一個(gè)JavaServerPages?(JSP)頁(yè)來(lái)要求您輸入自己的姓名。然后,使用JavaBeans?組件在HTTP會(huì)話期間保留該姓名,并檢索該姓名以輸出到第二個(gè)JSP頁(yè)上。目錄設(shè)置Web應(yīng)用程序項(xiàng)目創(chuàng)建并編輯Web應(yīng)用程序源文件創(chuàng)建Java包和Java源代碼生成getter和setter方法編輯缺省的JavaServerPages文件創(chuàng)建JavaServerPages文件運(yùn)行Web應(yīng)用程序項(xiàng)目疑難解答另請(qǐng)參見要學(xué)習(xí)本教程,您需要具備以下軟件和資源。軟件或資源要求的版本NetBeansIDE6.5或6.7Java版本JavaDevelopmentKit(JDK)版本6或版本5GlassFish應(yīng)用服務(wù)器

TomcatServlet容器2.1或3.0.1

版本6.x注意:在執(zhí)行Web&JavaEE安裝時(shí),您可以選擇安裝GlassFish2.1應(yīng)用服務(wù)器和6.0.x版本的ApacheTomcatServlet容器。必須安裝其中一個(gè)才能學(xué)完本教程。要利用NetBeansIDE的JavaEE5功能,請(qǐng)使用完全符合JavaEE5規(guī)范的應(yīng)用服務(wù)器,例如GlassFish2.1UR2應(yīng)用服務(wù)器。如果使用的是其他服務(wù)器,請(qǐng)查閱發(fā)行說(shuō)明和常見問(wèn)題解答,了解已知問(wèn)題和解決方法。有關(guān)支持的服務(wù)器和JavaEE平臺(tái)的詳細(xì)信息,請(qǐng)參見發(fā)行說(shuō)明。如果需要將項(xiàng)目與工作解決方案進(jìn)行比較,可以下載樣例應(yīng)用程序。設(shè)置Web應(yīng)用程序項(xiàng)目從主菜單中選擇“文件”>“新建項(xiàng)目”(Ctrl-Shift-N)。在“類別”下,選擇“JavaWeb”。在“項(xiàng)目”下選擇“Web應(yīng)用程序”,然后單擊“下一步”。在步驟2中,在“項(xiàng)目名稱”文本框中輸入HelloWeb。將“項(xiàng)目位置”指定為計(jì)算機(jī)上的任意目錄。在本教程中,將此目錄稱為$PROJECTHOME。(可選)選中“使用專用文件夾存儲(chǔ)庫(kù)”復(fù)選框,并指定庫(kù)文件夾的位置。有關(guān)此選項(xiàng)的詳細(xì)信息,請(qǐng)參見共享項(xiàng)目庫(kù)。單擊“下一步”。“服務(wù)器和設(shè)置”面板打開。選擇要與應(yīng)用程序一起使用的JavaEE版本。選擇要在其中部署應(yīng)用程序的服務(wù)器。這里僅列出了已在IDE中注冊(cè)的服務(wù)器。請(qǐng)注意,服務(wù)器上的上下文路徑將變?yōu)?HelloWeb(基于您在上一步中為項(xiàng)目指定的名稱)。單擊“下一步”。在“框架”面板中,單擊“完成”以創(chuàng)建項(xiàng)目。IDE將創(chuàng)建$PROJECTHOME/HelloWeb項(xiàng)目文件夾。此項(xiàng)目文件夾包含所有源代碼和項(xiàng)目meta數(shù)據(jù),例如項(xiàng)目的Ant生成腳本。在IDE中,將打開HelloWeb項(xiàng)目。在主窗口的源代碼編輯器中,將打開歡迎頁(yè)index.jsp。您可以在“文件”窗口(Ctrl-2)中查看項(xiàng)目的文件結(jié)構(gòu),在“項(xiàng)目”窗口(Ctrl-1)中查看其邏輯結(jié)構(gòu)。創(chuàng)建并編輯Web應(yīng)用程序源文件創(chuàng)建并編輯源文件是IDE所提供的最重要的功能。畢竟,這大概是您花費(fèi)時(shí)間最多的工作。IDE提供了各種工具來(lái)迎合任何開發(fā)者的個(gè)人風(fēng)格,無(wú)論您是愿意手動(dòng)編寫所有代碼,還是希望IDE為您生成大量代碼。創(chuàng)建Java包和Java源文件在“項(xiàng)目”窗口中,展開“源包”節(jié)點(diǎn)。請(qǐng)注意,“源包”節(jié)點(diǎn)僅包含一個(gè)空的缺省包節(jié)點(diǎn)。右鍵單擊“源包”節(jié)點(diǎn),然后選擇“新建”>“Java類”。在“類名”文本框中輸入NameHandler,并在“包”組合框中鍵入org.mypackage.hello。單擊“完成”。請(qǐng)注意,將在源代碼編輯器中打開新的NameHandler.java文件。在源代碼編輯器中,通過(guò)在緊靠類聲明的下方鍵入以下代碼行來(lái)聲明一個(gè)String變量。Stringname;將以下構(gòu)造函數(shù)添加到類中:publicNameHandler()在NameHandler()構(gòu)造函數(shù)中添加以下代碼行:name=null;生成getter和setter方法在源代碼編輯器中右鍵單擊name字段,然后選擇“重構(gòu)”>“封裝字段”。將打開“封裝字段”對(duì)話框,其中列出name字段。請(qǐng)注意,缺省情況下將“字段的可視性”設(shè)置為"private",將“存取方法的可視性”設(shè)置為"public",這表示類變量聲明的訪問(wèn)修飾符將被指定為private,而getter和setter方法將分別以public和private修飾符生成。

單擊“重構(gòu)”。將為name字段生成getter和setter方法。類變量的修飾符將被設(shè)置為private,而getter和setter方法將以public修飾符生成。Java類現(xiàn)在應(yīng)該與以下代碼類似。packageorg.mypackage.hello;

/**

*

*@authornbuser

*/

publicclassNameHandler{

privateStringname;

/**CreatesanewinstanceofNameHandler*/

publicNameHandler(){

name=null;

}

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

=name;

}

}編輯缺省的JavaServerPages文件通過(guò)單擊在源代碼編輯器頂部顯示的"index.jsp"文件標(biāo)簽以重新選中該文件。在位于源代碼編輯器右側(cè)的組件面板(Ctrl-Shift-8)中,展開“HTML表單”,然后將一個(gè)表單項(xiàng)拖至源代碼編輯器中<h1>標(biāo)記后的某個(gè)位置。將顯示“插入表單”對(duì)話框。請(qǐng)指定以下值:操作:response.jsp方法:GET名稱:NameInputForm單擊“確定”。將在index.jsp文件中添加一個(gè)HTML表單。將一個(gè)文本輸入項(xiàng)拖至緊靠</form>標(biāo)記前面的位置,然后指定以下值:名稱:name類型:文本單擊“確定”。將在<form>標(biāo)記之間添加一個(gè)HTML<input>標(biāo)記。將一個(gè)按鈕項(xiàng)拖至緊靠</form>標(biāo)記前面的位置。請(qǐng)指定以下值:標(biāo)簽:OK類型:提交單擊“確定”。將在<form>標(biāo)記之間添加一個(gè)HTML按鈕。在緊靠第一個(gè)<input>標(biāo)記前面的位置鍵入Enteryourname:,然后將<h1>標(biāo)記之間的缺省HelloWorld!文本更改為EntryForm。在源代碼編輯器中單擊鼠標(biāo)右鍵,然后選擇“格式化代碼”(Alt-Shift-F)以整理代碼的格式。index.jsp文件現(xiàn)在應(yīng)該與以下代碼類似:<html>

<head>

<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">

<title>JSPPage</title>

</head>

<body>

<h1>EntryForm</h1>

<formname="NameInputForm"action="response.jsp">

Enteryourname:

<inputtype="text"name="name"/>

<inputtype="submit"value="OK"/>

</form>

</body>

</html>創(chuàng)建JavaServerPages文件在“項(xiàng)目”窗口中,右鍵單擊"HelloWeb"項(xiàng)目節(jié)點(diǎn),然后選擇“新建”>"JSP"。將打開“新建JSP文件”向?qū)?。將文件命名為response,然后單擊“完成”。請(qǐng)注意,在“項(xiàng)目”窗口中的"index.jsp"下方將顯示"response.jsp"文件節(jié)點(diǎn),并且會(huì)在源代碼編輯器中打開新文件。在位于源代碼編輯器右側(cè)的組件面板中,展開"JSP",然后將一個(gè)使用Bean項(xiàng)拖至源代碼編輯器中緊靠<body>標(biāo)記下方的位置。將打開“插入使用Bean”對(duì)話框。指定下圖中顯示的值。ID:mybean類:org.mypackage.hello.NameHandler范圍:session單擊“確定”。請(qǐng)注意,將在<body>標(biāo)記的下方添加<jsp:useBean>標(biāo)記。將一個(gè)設(shè)置Bean屬性項(xiàng)從組件面板拖至緊靠<h1>標(biāo)記前面的位置,然后單擊“確定”。在出現(xiàn)的<jsp:setProperty>標(biāo)記中,刪除空的value屬性,然后將其編輯為以下代碼。如果IDE創(chuàng)建了value=""屬性,請(qǐng)將其刪除!否則,它會(huì)覆蓋傳遞到index.jsp中的name的值。<jsp:setPropertyname="mybean"property="name"/>正如<jsp:setProperty>文檔中所述,可以通過(guò)各種方法來(lái)設(shè)置屬性值。在本例中,index.jsp頁(yè)上的用戶輸入將成為傳遞至request對(duì)象的名稱/值對(duì)。當(dāng)使用<jsp:setProperty>標(biāo)記設(shè)置屬性時(shí),可以根據(jù)request對(duì)象中包含的屬性名稱來(lái)指定值。因此,通過(guò)將property設(shè)置為name,可以檢索由用戶輸入所指定的值。更改<h1>標(biāo)記之間的文本,以使其如下所示:<h1>Hello,!</h1>將一個(gè)獲取Bean屬性項(xiàng)從組件面板拖放到<h1>標(biāo)記之間的逗號(hào)后面。在“插入獲取Bean屬性”對(duì)話框中指定以下值:Bean名稱:mybean屬性名稱:name單擊“確定”。請(qǐng)注意,此時(shí)將在<h1>標(biāo)記之間添加<jsp:getProperty>標(biāo)記。在源代碼編輯器中單擊鼠標(biāo)右鍵,然后選擇“格式化代碼”(Alt-Shift-F)以整理代碼的格式。response.jsp文件的<body>標(biāo)記現(xiàn)在應(yīng)該與以下代碼類似:<body>

<jsp:useBeanid="mybean"scope="session"class="org.mypackage.hello.NameHandler"/>

<jsp:setPropertyname="mybean"property="name"/>

<h1>Hello,<jsp:getPropertyname="mybean"property="name"/>!</h1>

</body>運(yùn)行Web應(yīng)用程序項(xiàng)目IDE使用Ant生成腳本來(lái)生成和運(yùn)行Web應(yīng)用程序。此生成腳本是由IDE基于您在“新建項(xiàng)目”向?qū)е兄付ǖ倪x項(xiàng)以及項(xiàng)目的“項(xiàng)目屬性”對(duì)話框(在“項(xiàng)目”窗口中,右鍵單擊項(xiàng)目節(jié)點(diǎn),然后從出現(xiàn)的菜單中選擇“屬性”)中的選項(xiàng)來(lái)生成的。在“項(xiàng)目”窗口中,右鍵單擊"HelloWeb"項(xiàng)目節(jié)點(diǎn),然后選擇“運(yùn)行”(F6)。注意:缺省情況下,將在啟用“在保存時(shí)編譯”功能的情況下創(chuàng)建項(xiàng)目,因此無(wú)需先編譯代碼即可在IDE中運(yùn)行應(yīng)用程序。有關(guān)“在保存時(shí)編譯”功能的詳細(xì)信息,請(qǐng)參見創(chuàng)建、導(dǎo)入和配置Java項(xiàng)目指南的“在保存時(shí)編譯”部分。將在缺省瀏覽器中打開index.jsp頁(yè)。在文本框中輸入您的姓名,然后單擊“確定”。將出現(xiàn)response.jsp頁(yè),并向您顯示一條簡(jiǎn)單的問(wèn)候語(yǔ)。疑難解答我已經(jīng)生成并運(yùn)行了項(xiàng)目。當(dāng)我單擊index.jsp中的"OK"按鈕時(shí),會(huì)顯示一個(gè)指示response.jsp不可用的錯(cuò)誤頁(yè)。您是否使用的是JDK版本5或更高版本?請(qǐng)從主菜單中選擇“幫助”>“關(guān)于”以驗(yàn)證IDE所使用的JDK版本。您是否使用的是Tomcat版本5.x或更高版本?請(qǐng)從主菜單中選擇“工具”>“服務(wù)器”。選擇項(xiàng)目所使用的服務(wù)器,并請(qǐng)注意在靠近該對(duì)話框頂部的“服務(wù)器類型”中所顯示的輸入內(nèi)容。您也可以嘗試下載樣例項(xiàng)目并將其與自己的項(xiàng)目進(jìn)行比較。我已經(jīng)生成并運(yùn)行了項(xiàng)目,但沒(méi)有出現(xiàn)任何名稱,只顯示"Hello,!"<jsp:setProperty>標(biāo)記是否包含value=""屬性?此屬性會(huì)覆蓋傳遞到index.jsp表單中的值,并將該值替換為一個(gè)空字符串。刪除value屬性。請(qǐng)將您的意見和建議發(fā)送給我們

另請(qǐng)參見“Web應(yīng)用程序開發(fā)簡(jiǎn)介”教程到此結(jié)束。本文檔演示了如何使用NetBeansIDE創(chuàng)建簡(jiǎn)單的Web應(yīng)用程序,如何將該應(yīng)用程序部署到服務(wù)器,以及如何在瀏覽器中查看該應(yīng)用程序的表現(xiàn)形式

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論