歡迎您光臨本站 註冊首頁

使用RAD 7.5和WAS 7.0構建Java EE應用程序

←手機掃碼閱讀     火星人 @ 2014-03-10 , reply:0

IBM® Rational® Application Developer for WebSphere Software V7.5 包含了利用 JPA 和 EJB 技術 3.0 版本創建 Java? EE 應用程序的工具.Rational Application Developer V7.5 引入了新的嚮導、編輯器,和透視圖來很容易地創建強大的應用程序.本文面向中級用戶,帶您了解各種新的特性,並且向您展示如何創建端到端的 Java EE 應用程序.

引言

本文向您介紹 IBM® Rational® Application Developer for WebSphere Software V7.5,並帶您構建 JPA 實體、session bean,並將它們部署到 IBM® WebSphere® V7.0 上.

Java™ Platform,Enterprise Edition V5.0(Java™ EE)在創建企業應用程序方面進行了重大變更,它支持 Java™ Persistence API(JPA),和 Enterprise Java?Beans technology(EJB)V3.0 程序設計模型、標註,和依賴注入.

必備條件

本文假設您至少安裝了 Rational Application Developer V7.5 和 WebSphere V7.0 測試伺服器.

示例應用程序

您將要創建的示例應用程序有一個 JPA 實體、調用該 JPA 實體的 Session bean、調用 Session bean 的 Servlet,以及調用 servlet 的 web 頁面.該應用程序中使用的資料庫是 RAD 7.5 中帶有的內嵌 Derby 資料庫.以下的圖描述了應用程序各個組件之間的交互序列.

序列圖

遵照以下這些步驟開發應用程序:

創建 JPA 項目和實體,並指定映射

創建 EJB V3.0 項目,和使用 JPA 實體的 session bean

創建 Web V2.5 項目和調用 session bean 的 servlet

設置數據源,並在 WebSphere V7.0 上運行 Web 頁面

創建 JPA 項目和實體,並指定映射

在此實例中,您在單獨的歸檔(.jar)中創建 JPA 實體.注意到 Java EE 規範允許您在 Web 或 EJB 項目中打包 JPA 實體.在 Rational Application Developer 中,您可以向 Web 或 EJB 項目添加 JPA 的部分來讓它們支持 JPA 實體.

創建 JPA 項目

1、在 Java EE 透視圖中,選擇 File > New > Other > JPA Project,如圖 1 所示.

2、指定 Project 名稱,如圖 2 所示.

圖 2. 新建 JPA 項目

3、提示您切換到 JPA 透視圖,選擇 No.JPA 透視圖擁有例如 JPA Structure 和 JPA Details 的視圖,由於 Java EE 透視圖中的 Annotations 視圖允許類似的功能,切換到 JPA 透視圖不是必需的.

圖 3. 切換透視圖

注意到 Rational Application Developer 創建了帶有以下這些文件的項目:

persistence.xml

orm.xml

manifest.MF.

持久化單元名稱設置為 EmployeeJPA.

創建 JPA 實體

4、右鍵單擊項目並選擇 New > Entity,如圖 4 所示.

圖 4. 新建實體

5、指定包名和類名,如圖 5 所示,然後單擊 Next.

圖 5. JPA Entity 詳情

6、單擊 以下頁面中的 Add 按鈕,創建實體欄位,如圖 6 所示.

圖 6. JPA Entity 屬性

7、在結果的 Entity Fields 對話框中,從下拉列表中選擇 java.lang.String 作為 Type,如圖 7 所示.

圖 7. Entity Fields

8、單擊嚮導的 Finish,您將看到為欄位創建了 getter 和 setter 方法的類,標註 _cnnew1@Entity,和用於主鍵欄位的標註 @Id,如清單 1 所示.

清單 1.JPA 實體源代碼

import java.io.Serializable;
import java.lang.String;
import javax.persistence.*;

/**
* Entity implementation class for Entity: Employee
*
*/
@Entity


public class Employee implements Serializable {


@Id
private String EMP_ID;
private String First_Name;
private String Last_Name;
private static final long serialVersionUID = 1L;

public Employee() {
super();
}
public String getEMP_ID() {
return this.EMP_ID;
}

public void setEMP_ID(String EMP_ID) {
this.EMP_ID = EMP_ID;
}
public String getFirst_Name() {
return this.First_Name;
}

public void setFirst_Name(String First_Name) {
this.First_Name = First_Name;
}
public String getLast_Name() {
return this.Last_Name;
}



public void setLast_Name(String Last_Name) {
this.Last_Name = Last_Name;
}

}

映射資料庫

要確保實體類可以適當地和資料庫表通信,就需要二者之間的映射.JPA 提供兩種映射機制.一個是根據標註,另一個是根據 XML(orm.xml 中指定的).本實例使用了標註機制進行映射.

9、在 Java EE 透視圖中的 Data Source Explorer 視圖中,選擇 Derby Sample Connection > Connect,如圖 8 所示.

圖 8. 資料庫連接

10、分析 Employee 表,如圖 9 所示.

圖 9. 資料庫方案

11、由於方案不匹配,您需要修改映射.

12、在 Annotation 視圖中,單擊實體 Employee 的 Table 節點,並指定以下內容,如圖 10 所示.

Table Name:EMPLOYEE

Schema:SAMP

圖 10. Annotations 視圖

13、單擊 EMP_ID 下的列節點,並將其映射到 EMPNO 列,如圖 11 所示.

圖 11. ID 欄位映射

14、同樣地,將 First_Name 和 Last_Name 映射到適當的列.

15、現在,Java 文件將如清單 2 所示.

清單 2. 映射的實體源代碼

@Entity

@Table(schema="SAMP", name = "EMPLOYEE")
public class Employee implements Serializable {


@Id
@Column(name="EMPNO")
private String EMP_ID;
@Column(name="FIRSTNME")
private String First_Name;
@Column(name="LASTNAME")
private String Last_Name;

16、需要設置 persistence.xml 中的 Java Database Connectivity(JDBC)API 數據源.打開 Enterprise 瀏覽器中的文件,如圖 12 所示.

圖 12. Persistence.xml

17、接下來,指定數據源,如圖 13 所示(需要創建實際的數據源:步驟如一個部分中所示).

圖 13. 持久性編輯器

創建 EJB V3.0 項目,和使用 JPA 實體的 session bean

在本部分中,您將創建 EJB 項目和 session bean.

創建 EJB 項目

1、選擇 File > New > EJB Project.

圖 14. 打開新的 EJB 項目

2、指定 Project name,設置 EJB Module version 為 3.0,並選擇 EAR Project Name,如圖 15 所示.對於本實例,選擇您創建 JPA 項目時創建的 EAR 項目.

圖 15. 新建 EJB 項目

3、右鍵單擊 EJB 項目,並選擇 Java EE Module Dependencies,然後選擇 EmployeeJPA.jar,如圖 16 所示.這在 EJB 項目中創建了清單實體,並且還讓 JPA 實體類在開發過程中可見.

圖 16. EJB 模塊依賴

創建 session bean

在 Enterprise Explorer 中右鍵單擊 Session Beans 節點,並選擇 New > Session Bean,如圖 17 所示.

圖 17. 創建新的 session bean

5、指定 Java 包和類名,如圖 18 所示.在此實例中,選擇了 Local 業務介面.

圖 18. 新建 EJB 3.0 session Bean

5、指定 Java 包和類名,如圖 18 所示.在此實例中,選擇了 Local 業務介面.

圖 18. 新建 EJB 3.0 session Bean

6、單擊 Finish.創建了 EmployeeSession 類和 EmployeeSessionLocal 業務介面.

調用 JPA 實體

7、向 seesion bean 類中添加名為 findEmployee 的方法.

清單 3. 添加方法

EntityManager em;

public Employee findEmployee(String empNo){
Employee emp = (Employee) em.find(Employee.class, empNo);
return emp;
}

8、您需要將持久性單元定義為實體管理器變數.記住,當創建 JPA 項目時,在 persistence.xml 中設置了持久化單元 EmployeeJPA.您可以直接將其標註為:@PersistenceContext(name="EmployeeJPA") ,並且引入 javax.persistence.PersistenceContext,或者您可以在 Annotation 視圖中選擇 Add annotation.

9、選擇 bean,如圖 19 所示.

圖 19. 標註視圖中的 Session bean

10、選擇標註,如圖 20 所示.

圖 20. 向 session bean 中添加標註

11、將持久性單元命名為 EmployeeJPA,如圖 21 所示.

圖 21. 命名持久性單元

該動作不僅添加標註,還正確地設置導入.

12、最終的類如清單4 所示.

清單 4. Session bean 源代碼

package com.ibm.ejb;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import com.ibm.entities.Employee;
import javax.persistence.PersistenceContext;

/**
* Session Bean implementation class EmployeeSession
*/
@Stateless
public class EmployeeSession implements EmployeeSessionLocal {

/**
* Default constructor.
*/
public EmployeeSession() {
// TODO Auto-generated constructor stub
}


@PersistenceContext(unitName="EmployeeJPA")
EntityManager em;

public Employee findEmployee(String empNo){
Employee emp = (Employee) em.find(Employee.class, empNo);
return emp;
}

}

13、session bean 的業務介面需要有您剛添加的方法的簽名.您可以快速地完成:選擇 outline 視圖中的方法,並且選擇 Java EE > Promote Methods,如圖 22 所示.

圖 22. session bean outline 視圖

14、這將打開 Promote Methods 對話框.選擇 findEmployee(string) 方法,如圖 23 所示.

圖 23. Promote Methods

現在準備好讓客戶端消費 session bean.

創建 Web V2.5 項目和調用 session bean 的 servlet

在此部分中,您將創建 Web 項目和 servlet.

創建 Web 項目

1、選擇 File > New > Dynamic Web Project,如圖 24 所示.

圖 24. 打開動態的 Web 項目

2、指定 Web Project name,選擇 Dynamic Web Module version 為 2.5,並選擇用於 JPA 和 EJB 項目一樣的 EAR Project Name,如圖 25 所示.

圖 25. 新建動態 Web 項目

3、當提示打開透視圖時,選擇 No,如圖 26 所示,Web 透視圖中擁有在此實例中我們不需要的高級 web 編輯工具.

圖 26. 將透視圖切換到 Web 項目

4、右鍵單擊 Web 項目,並在左邊的列表中選擇 Java EE Module Dependencies,然後選擇 EmployeeEJBClient.jar 和 EmployeeJPA.jar,如圖 27 所示.

圖 27. 對於 Web 項目的 Java EE 模塊依賴性


[火星人 ] 使用RAD 7.5和WAS 7.0構建Java EE應用程序已經有825次圍觀

http://coctec.com/docs/java/show-post-61980.html