版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Java技術(shù)與應(yīng)用實(shí)驗(yàn)指導(dǎo)書(shū)2008級(jí)適用專(zhuān)業(yè):計(jì)算機(jī)科學(xué)與技術(shù)、網(wǎng)絡(luò)工程、信息與計(jì)算科學(xué)實(shí)驗(yàn)一 簡(jiǎn)單Web應(yīng)用程序開(kāi)發(fā)本實(shí)驗(yàn)8學(xué)時(shí)1. 實(shí)驗(yàn)?zāi)康氖煜ava Web編程環(huán)境,編制簡(jiǎn)單Web程序2. 實(shí)驗(yàn)環(huán)境與條件 JDK1.6, Net Beans 6.9,Tomcat 63. 實(shí)驗(yàn)內(nèi)容和步驟 用JSP編寫(xiě)一個(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編碼的字符串。代碼如下:new String(request.getPar
2、ameter("name").getBytes("ISO-8859-1"), "UTF8");附錄:Web 應(yīng)用程序開(kāi)發(fā)簡(jiǎn)介本文檔將向您介紹有關(guān)使用 NetBeans IDE 開(kāi)發(fā) Web 應(yīng)用程序的基礎(chǔ)知識(shí)。它將演示如何創(chuàng)建簡(jiǎn)單的 Web 應(yīng)用程序,如何將該應(yīng)用程序部署到服務(wù)器,以及如何在瀏覽器中查看該應(yīng)用程序的表現(xiàn)形式。該應(yīng)用程序采用一個(gè) JavaServer Pages (JSP) 頁(yè)來(lái)要求您輸入自己的姓名。然后,使用 JavaBeans 組件在 HTTP 會(huì)話期間保留該姓名,并檢索該姓名以輸出到第二個(gè) JSP 頁(yè)上。目錄
3、83; 設(shè)置 Web 應(yīng)用程序項(xiàng)目· 創(chuàng)建并編輯 Web 應(yīng)用程序源文件o 創(chuàng)建 Java 包和 Java 源代碼o 生成 getter 和 setter 方法o 編輯缺省的 JavaServer Pages 文件o 創(chuàng)建 JavaServer Pages 文件· 運(yùn)行 Web 應(yīng)用程序項(xiàng)目· 疑難解答· 另請(qǐng)參見(jiàn)要學(xué)習(xí)本教程,您需要具備以下軟件和資源。軟件或資源要求的版本NetBeans IDE6.5 或 6.7 Java 版本Java Development Kit (JDK)版本 6 或版本 5GlassFish 應(yīng)用服務(wù)器 或Tomcat Ser
4、vlet 容器2.1 或 3.0.1 版本 6.x注意:· 在執(zhí)行 Web & Java EE 安裝時(shí),您可以選擇安裝 GlassFish 2.1 應(yīng)用服務(wù)器和 6.0.x 版本的 Apache Tomcat Servlet 容器。必須安裝其中一個(gè)才能學(xué)完本教程。· 要利用 NetBeans IDE 的 Java EE 5 功能,請(qǐng)使用完全符合 Java EE 5 規(guī)范的應(yīng)用服務(wù)器,例如 GlassFish 2.1 UR2 應(yīng)用服務(wù)器。如果使用的是其他服務(wù)器,請(qǐng)查閱發(fā)行說(shuō)明和常見(jiàn)問(wèn)題解答,了解已知問(wèn)題和解決方法。有關(guān)支持的服務(wù)器和 Java EE 平臺(tái)的
5、詳細(xì)信息,請(qǐng)參見(jiàn)發(fā)行說(shuō)明。· 如果需要將項(xiàng)目與工作解決方案進(jìn)行比較,可以下載樣例應(yīng)用程序。設(shè)置 Web 應(yīng)用程序項(xiàng)目1. 從主菜單中選擇“文件”>“新建項(xiàng)目”(Ctrl-Shift-N)。在“類(lèi)別”下,選擇“Java Web”。在“項(xiàng)目”下選擇“Web 應(yīng)用程序”,然后單擊“下一步”。2. 在步驟 2 中,在“項(xiàng)目名稱(chēng)”文本框中輸入 HelloWeb。 3. 將“項(xiàng)目位置”指定為計(jì)算機(jī)上的任意目錄。在本教程中,將此目錄稱(chēng)為 $PROJECTHOME。 4. (可選)選中“使用專(zhuān)用文件夾存儲(chǔ)庫(kù)”復(fù)選框,并指定庫(kù)文件夾的位置。有關(guān)此選項(xiàng)的詳細(xì)信息,請(qǐng)參見(jiàn)共享項(xiàng)目庫(kù)。5. 單擊“下一
6、步”。“服務(wù)器和設(shè)置”面板打開(kāi)。選擇要與應(yīng)用程序一起使用的 Java EE 版本。 6. 選擇要在其中部署應(yīng)用程序的服務(wù)器。這里僅列出了已在 IDE 中注冊(cè)的服務(wù)器。請(qǐng)注意,服務(wù)器上的上下文路徑將變?yōu)?/HelloWeb(基于您在上一步中為項(xiàng)目指定的名稱(chēng))。 7. 單擊“下一步”。在“框架”面板中,單擊“完成”以創(chuàng)建項(xiàng)目。 IDE 將創(chuàng)建 $PROJECTHOME/HelloWeb項(xiàng)目文件夾。此項(xiàng)目文件夾包含所有源代碼和項(xiàng)目 meta 數(shù)據(jù),例如項(xiàng)目的 Ant 生成腳本。在 IDE 中,將打開(kāi) HelloWeb 項(xiàng)目。在主窗口的源代碼編輯器中,將打開(kāi)歡迎頁(yè) index.jsp。您可以在“文件”
7、窗口 (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)迎合任何開(kāi)發(fā)者的個(gè)人風(fēng)格,無(wú)論您是愿意手動(dòng)編寫(xiě)所有代碼,還是希望 IDE 為您生成大量代碼。創(chuàng)建 Java 包和 Java 源文件1. 在“項(xiàng)目”窗口中,展開(kāi)“源包”節(jié)點(diǎn)。請(qǐng)注意,“源包”節(jié)點(diǎn)僅包含一個(gè)空的缺省包節(jié)點(diǎn)。2. 右鍵單擊“源包”節(jié)點(diǎn),然后選擇“新建”>“Java 類(lèi)”。在“類(lèi)名”文本框中輸入 NameHandler,并在“包”組合框中鍵
8、入 org.mypackage.hello。單擊“完成”。請(qǐng)注意,將在源代碼編輯器中打開(kāi)新的 NameHandler.java文件。3. 在源代碼編輯器中,通過(guò)在緊靠類(lèi)聲明的下方鍵入以下代碼行來(lái)聲明一個(gè) String變量。 4. String name;5. 將以下構(gòu)造函數(shù)添加到類(lèi)中: 6. public NameHandler()7. 在 NameHandler()構(gòu)造函數(shù)中添加以下代碼行: 8. name = null;生成 getter 和 setter 方法1. 在源代碼編輯器中右鍵單擊 name字段,然后選擇“重構(gòu)”>“封裝字段”。將打開(kāi)“封裝字段”對(duì)話框,其中列出 name字
9、段。請(qǐng)注意,缺省情況下將“字段的可視性”設(shè)置為 "private",將“存取方法的可視性”設(shè)置為 "public",這表示類(lèi)變量聲明的訪問(wèn)修飾符將被指定為 private,而 getter 和 setter 方法將分別以 public和 private修飾符生成。 2. 單擊“重構(gòu)”。將為 name字段生成 getter 和 setter 方法。類(lèi)變量的修飾符將被設(shè)置為 private,而 getter 和 setter 方法將以 public 修飾符生成。Java 類(lèi)現(xiàn)在應(yīng)該與以下代碼類(lèi)似。 3. package org.mypackage.hello
10、;/* * * author nbuser */public class NameHandler private String name; /* Creates a new instance of NameHandler */ public NameHandler() name = null; public String getName() return name; public void setName(String name) = name; 編輯缺省的 JavaServer Pages 文件1. 通過(guò)單擊在源代碼編輯器頂部顯示的 "index.jsp&quo
11、t;文件標(biāo)簽以重新選中該文件。2. 在位于源代碼編輯器右側(cè)的組件面板 (Ctrl-Shift-8) 中,展開(kāi)“HTML 表單”,然后將一個(gè)表單項(xiàng)拖至源代碼編輯器中 <h1>標(biāo)記后的某個(gè)位置。 3. 將顯示“插入表單”對(duì)話框。4. 請(qǐng)指定以下值: o 操作:response.jsp o 方法:GET o 名稱(chēng):Name Input Form 5. 單擊“確定”。將在 index.jsp文件中添加一個(gè) HTML 表單。6.7. 將一個(gè)文本輸入項(xiàng)拖至緊靠 </form>標(biāo)記前面的位置,然后指定以下值: o 名稱(chēng):name o 類(lèi)型:文本 8. 單擊“確定”。將在 <fo
12、rm>標(biāo)記之間添加一個(gè) HTML <input>標(biāo)記。9. 將一個(gè)按鈕項(xiàng)拖至緊靠 </form>標(biāo)記前面的位置。請(qǐng)指定以下值: o 標(biāo)簽:OK o 類(lèi)型:提交 10. 單擊“確定”。將在 <form>標(biāo)記之間添加一個(gè) HTML 按鈕。11. 在緊靠第一個(gè) <input>標(biāo)記前面的位置鍵入 Enter your name:,然后將 <h1>標(biāo)記之間的缺省 Hello World!文本更改為 Entry Form。12. 在源代碼編輯器中單擊鼠標(biāo)右鍵,然后選擇“格式化代碼”(Alt-Shift-F) 以整理代碼的格式。index.j
13、sp文件現(xiàn)在應(yīng)該與以下代碼類(lèi)似: 13. <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Entry Form</h1> <form name="Name Input Form" action="response.
14、jsp"> Enter your name: <input type="text" name="name" /> <input type="submit" value="OK" /> </form> </body> </html>創(chuàng)建 JavaServer Pages 文件1. 在“項(xiàng)目”窗口中,右鍵單擊 "HelloWeb" 項(xiàng)目節(jié)點(diǎn),然后選擇“新建”> "JSP"。將打開(kāi)“新建 JSP 文件
15、”向?qū)?。將文件命名?response,然后單擊“完成”。請(qǐng)注意,在“項(xiàng)目”窗口中的 "index.jsp"下方將顯示 "response.jsp"文件節(jié)點(diǎn),并且會(huì)在源代碼編輯器中打開(kāi)新文件。2. 在位于源代碼編輯器右側(cè)的組件面板中,展開(kāi) "JSP",然后將一個(gè)使用 Bean 項(xiàng)拖至源代碼編輯器中緊靠 <body>標(biāo)記下方的位置。將打開(kāi)“插入使用 Bean”對(duì)話框。指定下圖中顯示的值。3.o ID:mybean o 類(lèi):org.mypackage.hello.NameHandler o 范圍:session 4. 單擊“確
16、定”。請(qǐng)注意,將在 <body>標(biāo)記的下方添加 <jsp:useBean> 標(biāo)記。5. 將一個(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的值。 6. <jsp:setProperty name="mybean" property="na
17、me" />7. 正如 <jsp:setProperty> 文檔中所述,可以通過(guò)各種方法來(lái)設(shè)置屬性值。在本例中,index.jsp頁(yè)上的用戶輸入將成為傳遞至 request對(duì)象的名稱(chēng)/值對(duì)。當(dāng)使用 <jsp:setProperty>標(biāo)記設(shè)置屬性時(shí),可以根據(jù) request對(duì)象中包含的屬性名稱(chēng)來(lái)指定值。因此,通過(guò)將 property設(shè)置為 name,可以檢索由用戶輸入所指定的值。8. 更改 <h1> 標(biāo)記之間的文本,以使其如下所示: 9. <h1>Hello, !</h1>10. 將一個(gè)獲取 Bean 屬性項(xiàng)從組件面板拖
18、放到 <h1>標(biāo)記之間的逗號(hào)后面。在“插入獲取 Bean 屬性”對(duì)話框中指定以下值: o Bean 名稱(chēng):mybean o 屬性名稱(chēng):name 11. 單擊“確定”。請(qǐng)注意,此時(shí)將在 <h1>標(biāo)記之間添加 <jsp:getProperty> 標(biāo)記。12. 在源代碼編輯器中單擊鼠標(biāo)右鍵,然后選擇“格式化代碼”(Alt-Shift-F) 以整理代碼的格式。response.jsp文件的 <body>標(biāo)記現(xiàn)在應(yīng)該與以下代碼類(lèi)似: 13. <body> <jsp:useBean id="mybean" scope=&
19、quot;session" class="org.mypackage.hello.NameHandler" /> <jsp:setProperty name="mybean" property="name" /> <h1>Hello, <jsp:getProperty name="mybean" property="name" />!</h1> </body>運(yùn)行 Web 應(yīng)用程序項(xiàng)目IDE 使用 Ant 生成腳本來(lái)生成
20、和運(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)生成的。1. 在“項(xiàng)目”窗口中,右鍵單擊 "HelloWeb" 項(xiàng)目節(jié)點(diǎn),然后選擇“運(yùn)行”(F6)。2. 注意:缺省情況下,將在啟用“在保存時(shí)編譯”功能的情況下創(chuàng)建項(xiàng)目,因此無(wú)需先編譯代碼即可在 IDE 中運(yùn)行應(yīng)用程序。有關(guān)“在保存時(shí)編譯”功能的詳細(xì)信息,請(qǐng)參見(jiàn)創(chuàng)建、導(dǎo)入和配置 Java 項(xiàng)目指南的“在保存時(shí)編譯”部分。3. 將在缺省瀏覽器中打開(kāi) index.jsp頁(yè)。4.5. 在文
21、本框中輸入您的姓名,然后單擊“確定”。將出現(xiàn) response.jsp頁(yè),并向您顯示一條簡(jiǎn)單的問(wèn)候語(yǔ)。6.疑難解答我已經(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ù)器類(lèi)型”中所顯示的輸入內(nèi)容。您 也可以嘗試下載樣例
22、項(xiàng)目并將其與自己的項(xiàng)目進(jìn)行比較。我已經(jīng)生成并運(yùn)行了項(xiàng)目,但沒(méi)有出現(xiàn)任何名稱(chēng),只顯示 "Hello, !"<jsp:setProperty> 標(biāo)記是否包含 value = ""屬性?此屬性會(huì)覆蓋傳遞到 index.jsp表單中的值,并將該值替換為一個(gè)空字符串。刪除 value屬性。請(qǐng)將您的意見(jiàn)和建議發(fā)送給我們另請(qǐng)參見(jiàn)“Web 應(yīng)用程序開(kāi)發(fā)簡(jiǎn)介”教程到此結(jié)束。本文檔演示了如何使用 NetBeans IDE 創(chuàng)建簡(jiǎn)單的 Web 應(yīng)用程序,如何將該應(yīng)用程序部署到服務(wù)器,以及如何在瀏覽器中查看該應(yīng)用程序的表現(xiàn)形式。此外,還說(shuō)明了如何在應(yīng)用程序中使用 JavaServer Pages 和 JavaBeans 來(lái)收集、保留和輸出用戶數(shù)據(jù)。有關(guān)在 NetBeans IDE 中開(kāi)發(fā) Web 應(yīng)用程序的更深入的相關(guān)信息,請(qǐng)參見(jiàn)以下資源:· Struts Web 框架簡(jiǎn)介。介紹通過(guò) NetBeans IDE
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專(zhuān)題79 實(shí)驗(yàn)十:測(cè)量電動(dòng)勢(shì)和內(nèi)電阻(含答案)-十年(2014-2023)高考物理真題分項(xiàng)匯編(全國(guó)通)
- 福建師范大學(xué)《體育統(tǒng)計(jì)學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《聚合物表征與測(cè)試實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 火災(zāi)自動(dòng)報(bào)警系統(tǒng)驗(yàn)收規(guī)范
- 必修二歷史第22課教學(xué)課件教學(xué)
- 2024年延邊客運(yùn)從業(yè)資格證理論考題
- 2024年上??瓦\(yùn)從業(yè)資格證實(shí)操考試題庫(kù)
- 試題山西省懷仁市重點(diǎn)中學(xué)2025屆高三數(shù)學(xué)第一學(xué)期期末達(dá)標(biāo)檢測(cè)模擬試題含解析
- 2024年南昌客運(yùn)資格證題目及答案解析
- 2024年陜西客運(yùn)駕駛從業(yè)資格證模擬考試題答案
- 五行生克乘侮在臨床中的運(yùn)用
- 供應(yīng)商考核稽查表
- 形式發(fā)票樣本(Proforma Invoice)
- 九年級(jí)個(gè)人學(xué)習(xí)目標(biāo)展示
- 等腰三角形(習(xí)題)教案
- 平面四桿機(jī)構(gòu)急回特性說(shuō)課課件
- QPCJ鋼軌鋁熱焊接工藝4-2ppt課件
- 液壓油缸計(jì)算器
- 絕世武林秘籍峨眉十二樁之八.附
- 高考英語(yǔ)3500詞匯表(附音標(biāo)無(wú)中文釋譯
- 二手設(shè)備買(mǎi)賣(mài)合同(范本)
評(píng)論
0/150
提交評(píng)論