JBoss-IDE 1.2.2 教程 5 -6

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
深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值