要學習本教程,您需要具備以下軟體和資源。
| 軟體或資源 |
要求的版本 |
| NetBeans IDE |
Web & Java EE 安裝 版本 6.1 或版本 6.0 |
| Java Development Kit (JDK) |
版本 6 或 版本 5 |
GlassFish 應用伺服器 或 Tomcat Servlet 容器 |
V2 版本 6.x |
注意:
- 在執行 Web & Java EE 安裝時,您可以選擇安裝 GlassFish V2 應用伺服器和 6.0.x 版本的 Apache Tomcat Servlet 容器。必須安裝其中一個才能學完本教程。
- 要利用 NetBeans IDE 的 Java EE 5 功能,請使用完全符合 Java EE 5 規範的應用伺服器,例如 GlassFish V2 UR2 應用伺服器。如果使用的是其他伺服器,請查閱版本資訊和常見問題集,瞭解已知問題和解決方案。有關支援的伺服器和 Java EE 平台的詳細資料,請參見版本資訊。
- 如果需要將項目與工作解決方案進行比較,可以下載範例應用程式。
設定 Web 應用程式項目
- 從主菜單中選擇“檔案”>“建立項目”(Ctrl-Shift-N)。在“類別”下選擇 "Web"。在“項目”下選擇“Web 應用程式”,然後單擊“下一步”。
- 在步驟 2 中,在“項目名稱”文字框中輸入 HelloWeb。請注意,伺服器上的上下文路徑將變為 /HelloWeb。
- 將“項目位置”指定為電腦上的任意目錄。在本教程中,將此目錄稱為 $PROJECTHOME。
注意:NetBeans IDE 6.1 提供了一些用於建立項目的新選項,對於這些選項,可以保留其預設設定。例如,可以將“使用專用的檔案夾來存放庫”複選框保留為取消選中狀態。
- 如果您使用的是 NetBeans IDE 6.1,請單擊“下一步”;否則繼續執行步驟 5。
- 選擇要在其中部署應用程式的伺服器。這裡僅列出了已在 IDE 中註冊的伺服器。
- 選擇要與應用程式一起使用的 Java EE 版本,然後單擊“下一步”。
- 在“架構”面板中,單擊“完成”以建立項目。
IDE 將建立 $PROJECTHOME/HelloWeb 專案檔夾。此專案檔夾包含所有原始碼和項目 meta 資料,例如項目的 Ant 產生指令碼。在 IDE 中,將開啟 HelloWeb 項目。在主視窗的原始碼編輯器中,將開啟歡迎頁面 index.jsp。您可以在“檔案”視窗 (Ctrl-2) 中查看項目的檔案結構,在“項目”視窗 (Ctrl-1) 中查看其邏輯結構。
建立並編輯 Web 應用程式源檔案
建立並編輯源檔案是 IDE 所提供的最重要的功能。畢竟,這大概是您花費時間最多的工作。IDE 提供了各種工具來迎合任何開發人員的個人風格,無論您是願意手動編寫所有代碼,還是希望 IDE 為您產生大量代碼。
建立 Java 包和 Java 源檔案
- 在“項目”視窗中,展開“源包”節點。請注意,“源包”節點僅包含一個空的預設包節點。
- 按右鍵“源包”節點,然後選擇“建立”>“Java 類”。在“類名”文字框中輸入 NameHandler,並在“包”組合框中鍵入 org.mypackage.hello。單擊“完成”。請注意,將在原始碼編輯器中開啟新的 NameHandler.java 檔案。
- 在原始碼編輯器中,通過在緊靠類聲明的下方鍵入以下程式碼來聲明一個 String 變數:
String name;
- 將以下建構函式添加到類中:
public NameHandler()
- 在 NameHandler() 建構函式中添加以下程式碼:
name = null;
產生 getter 和 setter 方法
- 在原始碼編輯器中按右鍵 name 欄位,然後選擇“重構”>“封裝欄位”。將開啟“封裝欄位”對話方塊,其中列出 name 欄位。請注意,預設情況下將“欄位的可視性”設定為 "private",將“存取方法的可視性”設定為 "public",這表示類變數聲明的存取修飾詞將被指定為 private,而 getter 和 setter 方法將分別以 public 和 private 修飾符產生。
- 單擊“重構”。將為 name 欄位產生 getter 和 setter 方法。類變數的修飾符將被設定為 private,而 getter 和 setter 方法將以 public 修飾符產生。Java 類現在應該與以下代碼類似:
package org.mypackage.hello;/** * * @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) { this.name = name; }}
編輯預設的 JavaServer Pages 檔案
- 通過單擊在原始碼編輯器頂部顯示的 "index.jsp" 檔案標籤以重新選中該檔案。
- 在位於原始碼編輯器右側的組件面板 (Ctrl-Shift-8) 中,展開“HTML 表單”,然後將一個表單項拖到原始碼編輯器中 <h2> 標記後面的位置。將顯示“插入表單”對話方塊:
請指定以下值:
- 操作:response.jsp
- 方法:GET
- 名稱:Name Input Form
單擊“確定”。將在 index.jsp 檔案中添加一個 HTML 表單。
- 將一個文本輸入項拖到緊靠 </form> 標記前面的位置,然後指定以下值:
單擊“確定”。將在 <form> 標記之間添加一個 HTML <input> 標記。
- 將一個按鈕項拖到緊靠 </form> 標記前面的位置。請指定以下值:
單擊“確定”。將在 <form> 標記之間添加一個 HTML 按鈕。
- 在緊靠 <input> 標記的前面鍵入 Enter your name:,然後將 <h2> 標記之間的預設 Hello World! 文本更改為 Entry Form。
- 在原始碼編輯器中單擊滑鼠右鍵,然後選擇“格式化代碼”(Alt-Shift-F) 以整理代碼的格式。index.jsp 檔案現在應該與以下代碼類似:
<html> <body> <h2>Entry Form</h2> <form name="Name Input Form" action="response.jsp"> Enter your name: <input type="text" name="name" /> <input type="submit" value="OK" /> </form> </body></html>
建立 JavaServer Pages 檔案
- 在“項目”視窗中,按右鍵 "HelloWeb" 項目節點,然後選擇“建立”> "JSP"。將開啟“建立 JSP 檔案”嚮導。將檔案命名為 response,然後單擊“完成”。請注意,在“項目”視窗中的 "index.jsp" 下方將顯示 "response.jsp" 檔案節點,並且會在原始碼編輯器中開啟新檔案。
- 在位於原始碼編輯器右側的組件面板中,展開 "JSP",然後將一個使用 Bean 項拖到原始碼編輯器中緊靠 <body> 標記下方的位置。將開啟“插入使用 Bean”對話方塊。請指定以下值:
- ID:mybean
- 類:org.mypackage.hello.NameHandler
- 範圍:session
單擊“確定”。請注意,將在 <body> 標記的下方添加 <jsp:useBean> 標記。
- 將一個設定 Bean 屬性項從組件面板拖到緊靠 <h2> 標記前面的位置,然後單擊“確定”。在出現的 <jsp:setProperty> 標記中,刪除空的 value 屬性,然後將其編輯為以下代碼:
<jsp:setProperty name="mybean" property="name" />
正如 <jsp:setProperty> 文檔中所述,可以通過各種方法來設定屬性值。在本例中,index.jsp 頁上的使用者輸入將成為傳遞至 request 對象的成對的名稱和數值。當使用 <jsp:setProperty> 標記設定屬性時,可以根據 request 對象中包含的屬性名稱來指定值。因此,通過將 property 設定為 name,可以檢索由使用者輸入所指定的值。
- 更改 <h2> 標記之間的文本,以使其如下所示:
<h2>Hello, !</h2>
- 將一個擷取 Bean 屬性項從組件面板拖放到 <h2> 標記之間的逗號後面。在“插入擷取 Bean 屬性”對話方塊中指定以下值:
單擊“確定”。請注意,此時將在 <h2> 標記之間添加 <jsp:getProperty> 標記。
- 在原始碼編輯器中單擊滑鼠右鍵,然後選擇“格式化代碼”(Alt-Shift-F) 以整理代碼的格式。response.jsp 檔案的 <body> 標記現在應該與以下代碼類似:
<body> <jsp:useBean id="mybean" scope="session" class="org.mypackage.hello.NameHandler" /> <jsp:setProperty name="mybean" property="name" /> <h2>Hello, <jsp:getProperty name="mybean" property="name" />!</h2></body>
產生並運行 Web 應用程式項目
IDE 使用 Ant 產生指令碼來產生和運行 Web 應用程式。此產生指令碼是由 IDE 基於您在“建立項目”嚮導中指定的選項以及項目的“項目屬性”對話方塊(在“項目”視窗中,按右鍵項目節點,然後從出現的菜單中選擇“屬性”)中的選項來產生的。
- 在“項目”視窗中,按右鍵 "HelloWeb" 項目節點,然後選擇“運行”(F6)。IDE 將產生 Web 應用程式並將其部署到您在建立此項目時所指定的伺服器上。將在預設瀏覽器中開啟 index.jsp 頁:
- 在文字框中輸入您的姓名,然後單擊“確定”。將出現 response.jsp 頁,並向您顯示一條簡單的問候語: