JBoss-IDE 1.2.2 教程 5:
現在我們要新增一個 HTML 檔案將一些參數代入 Servlet 中. 新增一個 ‘docroot’ 資料夾. 再新增一個空的 ‘index.html’ 檔案. ‘index.html’ 是 Web App 的預設檔案包含一個 form 將參數代入 Servlet.
‘index.html’ 的詳細代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>
Fibonacci Application
</title>
</head>
<body>
<h1>Fibonacci Form</h1>
<form action="Compute" method="POST" >
<table cellspacing="2" cellpadding="2" border="0">
<tr>
<td>
Limit :
</td>
<td>
<input type="text" name="limit" value="50">
</td>
</tr>
<tr>
<td>
<input type="submit" name="Compute" value="Compute">
</td>
<td>
<input type="Reset">
</td>
</tr>
</table>
</form>
</body>
</html>
J2EE 應用項目:
要完成 J2EE 項目, 我們要新增一些額外的檔案. 在 ‘src/META-INF’ 資料夾, 新增一個 ‘application.xml’ 檔案. 這個檔案是 J2EE 項目的配置文檔, 指到 EJB 包和 War 包的路徑.
‘application.xml’ 的詳細代碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd">
<application>
<display-name>Sum Application</display-name>
<module>
<ejb>FiboEJB.jar</ejb>
</module>
<module>
<web>
<web-uri>FiboWeb.war</web-uri>
<context-root>/fibo</context-root>
</web>
</module>
</application>
封裝:
JBoss-IDE 有一個十分方便易用的封裝設置, 而且是沒有限制的.
在教程裏, 封裝設置會設定:
l 一個 EJB jar 檔案. 這個檔案會有 EJB 的類, 接口和部署檔案.
l 一個 EJB 客戶端的 jar 檔案. 含有 EJB 的接口.
l 一個 Web App 的 war 檔案. 內有 Servlet, EJB客戶端的 jar 和部署檔案.
l 一個 J2EE 項目的 ear 檔案. 內有 EJB jar, Web App war 和部署檔案.
當起動的時候, 這四個封裝設定會生成 J2EE 的項目部署.
右擊項目選 ‘Properties’ -> ‘Packaging configurations’. 在右手邊視窗右擊選 ‘Add Archive’. 輸入 ‘FiboEJB.jar’ 再按 ‘OK’. 現在己新增一個封裝設定會產生 ‘FiboEJB.jar’ 檔案.
現在我們要加 EJB 的類和接口在 ‘FiboEJB.jar’ 裏, 而那些檔案在 ‘src/bin’ 的資料夾中 (如用預設項目的輸出資料夾). 首先選 ‘FiboEJB.jar’ 再在右邊手的視窗選 ‘Add Folder’. 在彈出的視窗你可選內置或外置的資料夾, 包括或排除的檔案, 前置字等設定. 選 ‘Project Folder’ -> ‘/Tutorial/bin’ -> ‘OK’. 包括 (Includes) 填入 ‘tutorial/ejb/*.class,tutorial/interfaces/*.class’ -> ‘OK’.
我們要在 ‘FiboEJB.jar’ 裏加基本的 EJB 部署文檔, 選 ‘FiboEJB.jar’ 再在右邊手的視窗選 ‘Add File’. 在彈出的視窗你可選內置或外置的檔案, 前置字等設定. 選 ‘Project File’ -> ‘/Tutorial/src/META-INF/ejb-jar.xml’ -> ‘OK’. 前置字 (Prefix) 填入 ‘META-INF’ -> ‘OK’.
重覆以上動作, 這次在檔案是選 ‘jboss.xml’, 其他一樣, 做完後封裝 ‘FiboEJB.jar’ 己完成了, 如下圖:
跟著我們要新增一個 EJB 客戶端的封裝設定. 大同小異, 右擊右手邊視窗選 ‘Add Archive’. 輸入 ‘FiboEJB-client.jar’ 再選 ‘OK’, 再右擊 ‘FiboEJB-client.jar’ 選 ‘Add Folder’ 按 ‘Project Folder’ 選 ‘/Tutorial/bin’, 在 ‘Includes’ 輸入 ‘tutorial/interfaces/*.class’ -> ‘OK’. EJB 客戶端的封裝已完成:
跟著我們要新增一個 Web App 的 war 封裝設定. 大同小異, 右擊右手邊視窗選 ‘Add Archive’. 輸入 ‘FiboWeb.war’ 再選 ‘OK’, 再右擊 ‘FiboWeb.war’ 選 ‘Add Folder’ 按 ‘Project Folder’ 選 ‘/Tutorial/bin’, 在 ‘Includes’ 輸入 ‘tutorial/web/*.class’, ‘Prefix’ 輸入 ‘WEB-INF/classes’ -> ‘OK’. 要加上基本的 war 配置文檔, 我們要先選 ‘FiboWeb.war’, 右擊選 ‘Add File’, 選 ‘/Tutorial/src/WEB-INF/web.xml’, 而 ‘Prefix’ 輸入 ‘WEB-INF’. 要加另外一個基本的配置文檔, 再選 ‘FiboWeb.war’, 右擊選 ‘Add File’ 選 ‘Porject File’ 選 ‘/Tutorial/src/WEB-INF/jboss-web.xml’. 加上 EJB 客戶端 jar, 再選 ‘FiboWeb.war’, 右擊選 ‘Add File’, 選 ‘/Tutorial/FiboEJB-client.jar’, 雖然現時還沒有 ‘FiboEJB-client.jar’ 檔案, 但仍可加上設定中, 而 ‘Prefix’ 則要填入 ‘WEB-INF/lib’ -> ‘OK’. 接著是 HTML 檔案, 選 ‘FiboWeb.war’, 右擊選 ‘Add Folder’ 選 ‘/Tutorial/docroot’, 這是 Web App 的內容. 這樣 war 的封裝已完成:
到了 ear 的設定了, 也是一樣, 右擊選 ‘Add Archive’, 輸入 ‘FiboApp.ear’ 再按 ‘OK’. 選 ‘FiboApp.ear’ 右擊選 ‘Add File’ 輸入 ‘/Tutorial/src/META-INF/application.xml’, 因為這個檔案要放在 ‘META-INF’ 中, 所以 ‘Prefix’ 則填入 ‘META-INF’ 後按 ‘OK’. 要加 EJB 模塊, 選 ‘FiboApp.ear’ 右擊選 ‘Add File’ 填入 ‘/Tutorial/FiboEJB.jar’. 雖然這個檔案現時不存在, 但我們仍可加入, 再按 ‘OK’. 要加 Web 模塊, 選 ‘FiboApp.ear’ 右擊選 ‘Add File’ 填入 ‘/Tutorial/FiboWeb.war’. 雖然這個檔案現時不存在, 但我們仍可加入, 再按 ‘OK’. 這樣 ear 的封裝已完成:
按 ‘OK’ 保存資料後會在項目中看到一個新的檔案 ‘packaging-build.xml’, 這個檔案包含完整的 J2EE 項目封裝設定.
現在可以運行封裝的設定了, 右擊項目選 ‘Run Packaging’, 控制台會顯示以下訊息, 而項目中也會多了兩個 jar, 一個 war 和一個 ear 檔案:
JBoss-IDE 1.2.2 教程 6
JBoss-IDE 1.2.2 教程 6:
JBoss 設置和起動:
現在我們要設置 JBoss 伺服器了, 在工具列中按 ‘Debug’
如果沒有設置 JBoss 伺服器於此時可以設置, 設置後按 ‘Debug’.
按下 ‘Debug’ 後在控制台會看到輸出資料及如有任何錯誤, 可看到錯誤訊息.
部署:
JBoss-IDE 有兩種部署的方法:
l 複製檔案. 在檔案管理員將資源檔案複製及貼上
l 由本地的部署? MainDeployer MBean (實驗中). 資源檔案的 URL 傳去 MainDeployer MBean 內部署和監視.
另外, 部署的目標部存放在 workbench 的 session 裏, 所以你可以在這個目標裏重新部署或放棄部署.
由除蟲設定中的部署器 plugin 會自動新增一個檔案目標. 亦可定義其他的部署目標.
在主菜單列中選 ‘window’ -> ‘Preferences’ -> JBoss-IDE’ -> ‘Deployer’ 去選擇已定義好的部署目標. 在右上方的視窗會列出除蟲環境中的檔案部署目標. 下方是用戶自定的部署目標.
假設我們會部署在已定義好的 JBoss 的目標, 不是用戶自定的. 步驟十分簡單, 在項目中的 Package Explorer, 右擊 ‘FiboApp.ear’ 選 ‘Deployment’ -> ‘Deploy To…’, 之後會有一個選擇目標的視窗彈出, 選擇一個部署目標後, 會有一個 ‘Deployment was successful’ 的訊息, 而你亦可在控制台視窗看到輸出的資訊.
完成後己部署好的資源檔案會加上一個小圖.
除蟲:
除蟲當中比較重要是設定一些斷點. 開啟 ‘FiboBean.java’ 檔案. 雙擊左手方的列去新增一個斷點, 我們就定在 ‘compute’ 方法第一行內.
在 ‘ComputeServlet.java’, 雙擊左手方的列去新增一個斷點, 就定在創建 EJB 之前.
在除蟲環境中啟動 JBoss, 部署好 ‘FiboApp.ear’ 和設定好斷點後, 開啟一個瀏覽器, 在 URL 輸入 ‘http://localhost:8080/’, 而主機名和端口需和 JBoss 伺服器的設定相合. 輸入後應可看到以下畫面, 輸入一個正數, 按 ‘Compute’.
之後返回 Eclipse 的 workbench. 你應會看到程式的運行和停在斷點之中, 你可一步一步追蹤及監視程式的運行.
當運行完成後, 應可看到計算的結果.
總結:
這是一個簡單的教程來介紹 JBoss-IDE 的概念. 希望對你在用 JBoss-IDE 開發時有所幫助.
出處:
http://prdownloads.sourceforge.net/jboss/Tutorial-1.2.2.pdf?download
教程原碼:
http://prdownloads.sourceforge.net/jboss/Tutorial_1.2.0.zip?download