程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> JBuilder2005+JBoss-4.0.2RC1+J2SDK1.5+Log4j 開發Session Bean例解(4)

JBuilder2005+JBoss-4.0.2RC1+J2SDK1.5+Log4j 開發Session Bean例解(4)

編輯:關於JAVA

作者:Junsan Jin

日期:2005-3-30

版本:1.0

信箱:[email protected] ; [email protected]

聲明:本人保留本文的所有權利。

第四部分:測試Session bean

在前面的三個部分已經完整地講述了一個Session Bean的建立過程。下面來建立測試工程。

添加測試類:

在右邊的樹型菜單中選中com.inspiresky.trader右鍵 〉new 〉package,在對話框的輸入框最後添加user,新建com.inspiresky.trader.user包。

選中com.inspiresky.trader.user右鍵 〉new 〉class,創建UserInfo.Java類,代碼如下。

----------------------------------

UserInfo.Java

----------------------------------

package com.inspiresky.trader.user;

import Javax.naming.InitialContext;

import trader.UserInfoLocalHome;

import trader.UserInfoLocal;

import Javax.naming.NamingException;

import Java.rmi.RemoteException;

import Javax.ejb.CreateException;

import Java.util.HashMap;

import Java.util.Date;

/**

*

Title:

*

*

Description:

*

*

Copyright: Copyright (c) 2005

*

*

Company:

*

* @author not attributable

* @version 1.0

*/

public class UserInfo {

public UserInfo() {

}

public HashMap getUserInfo(){

HashMap map = new HashMap();

try {

UserInfoLocal local = (UserInfoLocal) findEjb();

map = local.showUserInfo();

} catch (CreateException ex) {

System.out.println("Error 1");

} catch (RemoteException ex) {

System.out.println("Error 2");

} catch (NamingException ex) {

System.out.println("Error 3");

}

return map;

}

private Object findEjb() throws NamingException, RemoteException,

CreateException {

javax.naming.Context context = new Javax.naming.InitialContext();

Object obj = context.lookup("UserInfoLocal");

UserInfoLocalHome home = (UserInfoLocalHome)Javax.rmi.PortableRemoteObject.narrow(obj,

UserInfoLocalHome.class);

UserInfoLocal local = (UserInfoLocal)home.create("Jak","12",new Date().toString());

return local;

}

}

添加客戶類:

同樣的方法在同一個包中創建類Test.Java,代碼如下。

---------------------------------

Test.Java

-----------------------------------

package com.inspiresky.trader.user;

import Javax.servlet.*;

import Javax.servlet.http.*;

import Java.io.*;

import Java.util.*;

import com.inspiresky.trader.user.UserInfo;

public class Test extends HttpServlet {

private static final String CONTENT_TYPE = "text/Html; charset=GBK";

private HashMap map;

//Initialize global variables

public void init() throws ServletException {

UserInfo user = new UserInfo();

map = user.getUserInfo();

}

//Process the HTTP Get request

public void doGet(HttpServletRequest request, HttpServletResponse response) throws

ServletException, IOException {

response.setContentType(CONTENT_TYPE);

PrintWriter out = response.getWriter();

out.println("");

out.println("");

out.println("");

out.println(map.toString());

out.println("");

out.println("");

out.close();

}

//Process the HTTP Post request

public void doPost(HttpServletRequest request, HttpServletResponse response) throws

ServletException, IOException {

doGet(request, response);

}

//Process the HTTP Put request

public void doPut(HttpServletRequest request, HttpServletResponse response) throws

ServletException, IOException {

}

//Process the HTTP Delete request

public void doDelete(HttpServletRequest request,

HttpServletResponse response) throws ServletException,

IOException {

}

//Clean up resources

public void destroy() {

}

}

修改web.XML:

在第二部分我們曾修改過web.XML,同樣的方法,我們接著添加如下的部分:

test

com.inspiresky.trader.user.Test

test

/test

修改後的web.XML文件的全部內容為:

----------------------------------------

web.XML

----------------------------------------

WeBTrader

log4j-init

com.inspiresky.trader.init.Log4jInit

log4j-init-file

WEB-INF/log4j.propertIEs

1

test

com.inspiresky.trader.user.Test

test

/test

創建J2EE應用程序部屬包:

前面已經完成了工程的所有的開發工作,為了部署的方便,我們現在來創建一個應用程序的部署包。

選擇菜單:new 〉enterprise 〉Application Module(EAR)〉 OK 〉 Create empty application module 〉 Next 〉 輸入名稱 ETrader 〉 Next 〉選擇Trader 〉Next 〉 選擇WeBTrader 〉Finish。

編譯工程:

在樹型菜單中右鍵點擊ETader 〉Rebuilder。沒有錯誤提示則編譯成功。

啟動JBoss:

運行D:\jboss-4.0.2RC1\bin\run.bat,啟動JBoss。因為我們在path中設置了路徑,所以也可以直接在命令行下運行run命令。

部署應用程序:

在樹型菜單中右鍵點擊ETader 〉deploy option for “ETrader.ear” 〉 deploy。

下面的兩個命令分別是重新部署和卸載應用時使用。

運行程序:

打開IE浏覽器,在地址欄中輸入

http://localhost:8080/WeBTrader/test

此時,會顯示

{userName=Jak, loginTime=Wed Mar 30 11:26:18 CST 2005, userAge=12}

表明我們的程序已經正常運行了。

OK,到此一個簡單的Session Bean應用就開發完成了。這裡理論的東西較少,只是希望能用例子給大家一些啟示,能夠更好的理解和應用我們所看到的一些關於J2EE的一些理論,更好的熟悉我們所用的工具。

成文倉促,難免有錯誤疏漏之處,歡迎指正。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved