使用 WebLogic 10.0 + Workshop for WebLogic Platform 开发&部署 Java EE 应用

         <<分布式对象技术>>课上刚讲到Java EE,就给我们布置了道上作业,好像是实现一支股票信息查询功能的EJB,并行编写客户端来调用这个EJB的业务方法.Java EE的支持平台有很多,比如有JBOSS,GLASSFISH,BEA WEBLOGIC,IBM WEBSPHERE...在写作业前得先选择使用哪个.老师在课上是用SUNJ2EE参考实现平台来做的,由于太旧了就不想用了.IBM WEBSPHERE太大了,而且对硬件要求较高,又收费,就首先被排除,起码对于学习来说是大材小用了.JBOSSGLASSFISH我同学用了,我就不打算用了,在他那看看就行.所以用BEAWEBLOGIC,既可作Java EE应用服务器又可作WEB服务器 .
        
接下来要下载WEBLOGIC,版本有很多,我下了比较新的WebLogic 10.0,支持Java EE 5.0,而且附带Workshop for WebLogic Platform,可以简化开发.我下的是英文的,好像10.0版的目前还没有中文.如果想更方便的使用还得去网上打个破解包,毕竟它不是免费的.如果没有破解的话,Workshop中编写Remote接口时是加不上自己的业务方法声明的,一加就会被恢复成最初的模版
.
        
下好WebLogic以后就可以安装了,选择安装的路径,在选择安装项时最好不要安装一些Sample,这样装好后会比较干净;而且别忘了选择安装
Workshop.
        
安装好之后,先创建一个自己的domain,即工作域.创建步骤:开始-->Bea Products-->Tools-->Configration Wizard,然后一路走默认,填入用户名,密码,再走默认,OK.之后你会发现在"开始-->Bea Products"目录下会多一个"User Projects".选择"开始-->Bea Products-->User Projects-->base_domain-->Start Admin Server for WebLogic Server Domain"可以开启WebLogic Server.等到启动完毕后,选择"开始-->Bea Products-->User Projects-->base_domain-->Admin Server Console"可登陆base_domain的控制台,在控制台中可以做一些Java EE部署安装等工作
.

        
下面以一个最简单的Java EE应用来演示一下开发流程.该应用中包含一个EJB模块,功能是返回"Hello"字符串


        
首先打开Workshop(开始
-->Bea Products-->Workshop for WebLogic Platform).
        
然后新建一个的J2EE EAR工程(File->New->Project...),然后选择J2EE目录下的Enterprise Application Project.
Next >
        
填入项目名:Hello,然后回车
...
        
这样就创建好了一个名为Hello
Enterprise Application Project
        
        
接下来还需要再创建一个EJB模块.方法如下
:
        
新建一个WebLogic EJB Project.(File->New->Project...),然后选择EJB目录下的WebLogic EJB Project.
Next >
        
填入项目名:HelloEJB,并选中Add project to an EAR复选框,并在EAR Project Name下拉菜单中选择Hello.然后回车
...
        
这样就创建好了一个名为HelloEJBWebLogic EJB Project,并且已加入到刚刚建的那个Hello EAR工程中了.如下图所示:

    接下来我们要在HelloEJB中创建一个会话构件,即Weblogic Session Bean。由于Weblogic规定构件一定要创建在某个包中,所以我们必需先创建一个包,包名可以随便取。这里取:"cn.sy.ejb"。包建好以后就可以建一个Weblogic Session Bean了。起名为HelloBean。

ààààà

    同时还生成了相应的HelloBeanRemote.java和HelloBeanRemoteHome.java两个接口。如下图:

    到此为止,一个干净有效最简的J2EE EAR工程已经建好,下面要做的就填入自己的业务方法:public String Hello();
    在HelloBean.java中加入该业务方法并保存:

    在HelloBeanRemote.java中加入该业务方法的声明并保存:

    然后就可以导出该J2EE EAR工程了,右击工程Hello:

    点Finish之后在E:盘的根目录下就有一个名为Hello.ear的EAR文件,接下来要做的工作就是在Weblogic服务器上布置并发布此EAR文件。选择"开始-->Bea Products-->User Projects-->base_domain-->Start Admin Server for WebLogic Server Domain"可以开启WebLogic Server.等到启动完毕后,选择"开始-->Bea Products-->User Projects-->base_domain-->Admin Server Console"登陆base_domain的控制台。
    
选择左侧边栏的Deployments:

    单击左侧边栏的Lock & Edit:

    单击后:

    单击中间的Install:

        单击后:

    之后选择E:/下的Hello.ear并单击下一步:

    之后就是一路默认,最后点Finish。接下来还要激活一下修改,点Activate Changes

    这样就布置好了,状态为Prepared

    要想让接下来创建的客户端能够访问它,还需激活它,选项中Hello,选择StartàServicing all requests

    然后选Yes,再回到Deployments可看到状态变为Active了:

    至此,完成了Enterprise Application Project的开发并且在WebLogic上成功部署了该项目。接着创建一个客户端来访问此EAR的功能。

 

 

    新建一普通java项目HelloClient,创建名为HClient.java的类,并把HelloEJB项目中的HelloBeanRemote.javaHelloBeanRemoteHome.java复制到对应的包中:

    增加必需的Libraryjar文件:

àà

à

      HClient.java的代码如下: 

 1 import java.rmi.RemoteException;
 2 import java.util.Properties;
 3
 4 import javax.ejb.CreateException;
 5 import javax.ejb.RemoveException;
 6 import javax.naming.Context;
 7 import javax.naming.InitialContext;
 8 import javax.naming.NamingException;
 9
10 // import weblogic.Home;
11
12 import cn.sy.ejb. * ;
13
14 public   class  HClient  {
15
16    /**
17     * @param args
18     * @throws CreateException 
19     * @throws RemoteException 
20     * @throws RemoveException 
21     */

22    public static void main(String[] args) throws RemoteException, CreateException, RemoveException {
23        try {
24            Properties props = new Properties();
25            props.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
26            props.put(Context.PROVIDER_URL, "t3://localhost:7001");
27
28            Context Init = new InitialContext(props);
29            HelloBeanRemoteHome Home = (HelloBeanRemoteHome)Init.lookup("ejb.HelloBeanRemoteHome");
30            HelloBeanRemote CurTimeObj = Home.create();
31            String RetVal = CurTimeObj.hello();
32            System.out.println("Returned: " + RetVal);
33            CurTimeObj.remove();
34        }
 catch (NamingException e) {
35            // TODO Auto-generated catch block
36            e.printStackTrace();
37        }

38    }

39}

40


    最后运行结果如图:

http://www.cnblogs.com/suyang/archive/2008/05/20/1203284.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值