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

session

作者: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;

 

/**

 * <p>Title: </p>

 *

 * <p>Description: </p>

 *

 * <p>Copyright: Copyright (c) 2005</p>

 *

 * <p>Company: </p>

 *

 * @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("<html>");

        out.println("<head><title>Test</title></head>");

        out.println("<body bgcolor=\"#ffffff\">");

        out.println(map.toString());

        out.println("</body>");

        out.println("</html>");

        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,同样的方法,我们接着添加如下的部分:

<servlet>

    <servlet-name>test</servlet-name>

    <servlet-class>com.inspiresky.trader.user.Test</servlet-class>

  </servlet>

  <servlet-mapping>

    <servlet-name>test</servlet-name>

    <url-pattern>/test</url-pattern>

  </servlet-mapping>

 

修改后的web.xml文件的全部内容为:

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

web.xml

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

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">

  <display-name>WebTrader</display-name>

  <servlet>

    <servlet-name>log4j-init</servlet-name>

    <servlet-class>com.inspiresky.trader.init.Log4jInit</servlet-class>

    <init-param>

      <param-name>log4j-init-file</param-name>

      <param-value>WEB-INF/log4j.properties</param-value>

    </init-param>

    <load-on-startup>1</load-on-startup>

  </servlet>

  <servlet>

    <servlet-name>test</servlet-name>

    <servlet-class>com.inspiresky.trader.user.Test</servlet-class>

  </servlet>

  <servlet-mapping>

    <servlet-name>test</servlet-name>

    <url-pattern>/test</url-pattern>

  </servlet-mapping>

</web-app>

 

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

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

时间: 2024-11-01 04:05:23

JBuilder2005+JBoss-4.0.2RC1+J2SDK1.5+Log4j 开发Session Bean例解(4)的相关文章

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

session 作者:Junsan Jin 日期:2005-3-30 版本:1.0 信箱:junsan21@126.com ; junnef21@sohu.com 声明:本人保留本文的所有权利. 第一部分:准备工作 工具准备: J2SDK1.5.JBuilder2005和JBoss-4.0.2RC1安装文件,Log4j的jar库包在JBuilder和JBoss中都有,可以直接用,也可以去网上下载(都去网上搜索下载吧,这里就不给下载链接了,因为这些东西经常变动).  工具安装: J2SDK和JBu

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

session 作者:Junsan Jin 日期:2005-3-30 版本:1.0 信箱:junsan21@126.com ; junnef21@sohu.com 声明:本人保留本文的所有权利. 第三部分:开发Session Bean  新建EJB模块: 选择菜单:New〉Enterprise〉EJB〉EJB Designer,弹出对话框中选择New,选择Create empty EJB Module,点击next,填入名称Trader,一路OK即可.  设计EJB: 1.新建session b

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

session 作者:Junsan Jin 日期:2005-3-30 版本:1.0 信箱:junsan21@126.com ; junnef21@sohu.com 声明:本人保留本文的所有权利. 第二部分:配置Log4j Log4j主要是针对java的日志文件产生管理包,这里使用logging-log4j-1.2.9.解压logging-log4j-1.2.9的压缩包,任意路径即可,这里是D:\logging-log4j-1.2.9. 先在JBuilder中建立工程,然后引入log4j库文件. 

JBuilder2005+JBOSS+Oracle9i环境配置教程

Borland JBuilder 是一个非常方便的Java IDE 开发工具,而JBoss 则是一个很好的开源应用服务器,Oracle 9i是优秀的企业级数据库.下面就介绍在Windows XP环境下来配置JBuilder 2005.JBoss 4.0和Oracle9i 的J2EE开发环境. 1.安装 SDK 到 D:j2sdk1.4.2_06;方法为:双击执行下载的 j2sdk-1_4_2_06-windows-i586-p.exe 文件,选择安装目录为 D:j2sdk1.4.2_06,其它默

Lomboz中配置JBoss 4.0.1

     这个文章是对<Eclipse快速上手EJB -- 1. Lomboz + JBoss-IDE 配置1 >一文的一点补充.在那篇文章中,jboss400.server这个配置是针对JBoss 4.0.0 的,如果使用的是JBoss 4.0.1,需要使用以下的配置文件: jboss401.server   <serverDefinition name="JBOSS 4.0.1" ejbModules="true" webModules=&qu

jboss开发:JBOSS 5.0.0GA 下开发JSF 的注意

首先JBOSS 的JSF 的实现和sun的实现有些区别,这导致我们再用myeclipse部署JSF时会出现下面的错误,com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED!解决办法是:1.用SUN 的JSF的实现覆盖$JBOSS_HOME/server/$YOUR_CONFIG/deploy/jbossweb.sar/jsf-libs/下面的包,2.再项目引用包时直接引用$JBOSS_HOME/server/$YOUR

Jboss Ejb3.0 Interceptor

  Interceptor为拦截器,可以监听程序的整个程序或方法.从多个程序理解问题往往比较容易,我就在自己写的HelloWorld 程序的基础上增加了Interceptor . 有如下几个程序:Hello.java , HelloLocal.java , HelloRemote.java , HelloBean.java, TracingInterceptor.java Client.java 重点在HelloBean.java, TracingInterceptor.java 这两个程序.

JBoss 4.0数据源配置大全

Jboss 4.0的开发人员版本是一个开源的应用服务器,他把HypersonicDB作为他的缺省数据库.然而,开发人员也许还要使用除了HypersonicDB以外其他种类的数据库,在这篇文章中我们将看到如何在Jboss上配置使用其他的数据库. 简介 Jboss4.0使用了JDBC配置文件来配置数据库连接,它为EJB和其它J2EE应用提供了数据源(data source)进行访问.如果你要使用HypersonicDB以外的数据库你就要修改这个配置文件.这篇文章将着重讲解下面的几个部分: Jboss

jboss 404-全局控制jboss 5.0访问请求的404探讨

问题描述 全局控制jboss 5.0访问请求的404探讨 最近在开发当中,碰到一个需求,就是要在IP和PORT保证正确的情况下,如果输入了错误的工程(比如:http://localhost:8080/test222(正确的地址应该是http://localhost:8080/test))名也要把页面的404指向自己的错误页面. 急求各位大侠协助.(不用在项目里面配东西,要做成通用的,只能改jboss文件)