繁体中文
设为首页
加入收藏
当前位置:JSP技术首页 >> 资料/其它 >> JBuilder2005+JBoss-4.0.2RC1+J2SDK1.5+Log4j 开发Session Bean例解(4)

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

2005-03-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:作者:Junsan Jin 日期:2005-3-30 版本:1.0 信箱:junsan21@126.com ; junnef21@sohu.com 声明:本人保留本文的所有权利。 第四部分:测试Session bean 在前面的三个部分已经完整地讲述了一个Session Bean的建...

作者:Junsan Jin

日期:2005-3-30

版本:1.0

信箱:junsan21@126.com ; junnef21@sohu.com

声明:本人保留本文的所有权利。

第四部分:测试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("Test");

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的一些理论,更好的熟悉我们所用的工具。

成文仓促,难免有错误疏漏之处,欢迎指正。

责任编辑:admin
相关文章