`

图解eclipse+myelcipse开发EJB

阅读更多
在开发ejb之前,我们先得配置好服务器,我使用的是Weblogic9.0中文版,关于Weblogic9.0配置请看我的另一片文章。配置Weblogic9.0
   
    首先需要配置好eclipse。我这里主要说明weblogic的配置。
    ejb19.jpg

    注意JDK选择JDK5.0的版本。
   
    顺便将weblogic8的配置也贴上来,供大家比较参考
    ejb18.jpg
   
    注意weblogic8的JDK版本必须是JDK1.4。
   
    接下来就开始我们的开发了。

ejb1.jpg

ejb2.jpg

ejb3.jpg

ejb4.jpg

ejb5.jpg

下面就是SessionBean的代码
30
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--> 1 package com.ejb;
 2 
 3 import java.rmi.RemoteException;
 4 
 5 import javax.ejb.EJBException;
 6 import javax.ejb.SessionBean;
 7 import javax.ejb.SessionContext;
 8 
 9 /**
10  * XDoclet-based session bean.  The class must be declared
11  * public according to the EJB specification.
12  *
13  * To generate the EJB related files to this EJB:
14  *        - Add Standard EJB module to XDoclet project properties
15  *        - Customize XDoclet configuration for your appserver
16  *        - Run XDoclet
17  *
18  * Below are the xdoclet-related tags needed for this EJB.
19  * 
20  * @ejb.bean name="HelloWorld"
21  *           display-name="Name for HelloWorld"
22  *           description="Description for HelloWorld"
23  *           jndi-name="ejb/HelloWorld"
24  *           type="Stateless"
25  *           view-type="remote"
26  */
27 public class HelloWorld implements SessionBean {
28 
29     /** The session context */
30     private SessionContext context;
31 
32     public HelloWorld() {
33         super();
34         // TODO 自动生成构造函数存根
35     }
36 
37     /**
38      * Set the associated session context. The container calls this method 
39      * after the instance creation.
40      * 
41      * The enterprise bean instance should store the reference to the context 
42      * object in an instance variable.
43      * 
44      * This method is called with no transaction context. 
45      * 
46      * @throws EJBException Thrown if method fails due to system-level error.
47      */
48     public void setSessionContext(SessionContext newContext)
49         throws EJBException {
50         context = newContext;
51     }
52 
53     public void ejbRemove() throws EJBException, RemoteException {
54         // TODO 自动生成方法存根
55 
56     }
57 
58     public void ejbActivate() throws EJBException, RemoteException {
59         // TODO 自动生成方法存根
60 
61     }
62 
63     public void ejbPassivate() throws EJBException, RemoteException {
64         // TODO 自动生成方法存根
65 
66     }
67 
68     /**
69      * An example business method
70      *
71      * @ejb.interface-method view-type = "remote"
72      * 
73      * @throws EJBException Thrown if method fails due to system-level error.
74      */
75     public String hello() throws EJBException {
76         // rename and start putting your business logic here
77         return new String("HelloEJBWorld!");
78     }
79 
80 }
81 

其实就是修改了其中的一个方法:
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--> 1 /**
 2      * An example business method
 3      *
 4      * @ejb.interface-method view-type = "remote"
 5      * 
 6      * @throws EJBException Thrown if method fails due to system-level error.
 7      */
 8     public String hello() throws EJBException {
 9         // rename and start putting your business logic here
10         return new String("HelloEJBWorld!");
11     }
注意:代码中的解释文字不要删除,因为XDoclet需要。

配置属性
ejb6.jpg

添加weblogic.jar。我的路径是:bea\weblogic90\server\lib\weblogic.jar
ejb16.jpg

ejb7.jpg

ejb8.jpg

ejb9.jpg

ejb10.jpg

ejb11.jpg

ejb12.jpg

ejb13.jpg

ejb14.jpg

ejb15.jpg

就下来写EJBTest类:
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--> 1 package com;
 2 
 3 import java.rmi.RemoteException;
 4 import java.util.Properties;
 5 
 6 import javax.ejb.CreateException;
 7 import javax.naming.Context;
 8 import javax.naming.InitialContext;
 9 import javax.naming.NamingException;
10 
11 import com.interfaces.HelloWorld;
12 import com.interfaces.HelloWorldHome;
13 
14 public class EJBTest {
15 
16     /**
17      * @param args
18      */
19     public static void main(String[] args) {
20         // TODO 自动生成方法存根
21         Properties properties=new Properties();
22         properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
23         properties.setProperty(Context.PROVIDER_URL,"t3://localhost:7001");
24         
25         Context context;
26         try {
27             context = new InitialContext(properties);
28             HelloWorldHome hwh=(HelloWorldHome)context.lookup("ejb/HelloWorld");
29             HelloWorld hw=hwh.create();
30             String s=hw.hello();
31             System.out.println(s);
32         } catch (NamingException e) {
33             // TODO 自动生成 catch 块
34             e.printStackTrace();
35         } catch (RemoteException e) {
36             // TODO 自动生成 catch 块
37             e.printStackTrace();
38         } catch (CreateException e) {
39             // TODO 自动生成 catch 块
40             e.printStackTrace();
41         }
42         
43     }
44 
45 
46 }
47 


最后就是看结果了,先启动weblogic,然后运行EJBTest程序。

ejb17.jpg
分享到:
评论

相关推荐

    图解eclipse+myelcipse开发EJB,weblogic部署

    图解Eclipse+MyEclipse开发EJB,Weblogic部署 通过本文,我们将了解如何使用Eclipse+MyEclipse开发EJB项目,并将其部署到Weblogic服务器上。首先,我们需要配置Weblogic服务器。 一、配置Weblogic服务器 在开始...

    图解eclipse+myelcipse+weblogic开发EJB,.doc

    ### 图解Eclipse+MyEclipse+WebLogic开发EJB #### 一、概述 本文旨在通过图文并茂的方式详细介绍如何使用Eclipse、MyEclipse 和 WebLogic 这三种工具来开发EJB(Enterprise JavaBeans)应用。EJB 是一种用于开发...

    基于servlet+jsp+mysql实现的影视管理系统课程设计

    【作品名称】:基于servlet+jsp+mysql实现的影视管理系统【课程设计】 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 基于servlet+jsp+mysql实现的影视管理系统【课程设计】 基于servlet+jsp+mysql实现的影视管理系统【课程设计】 Java Web课程设计,基于servlet+jsp+ajax+mysql做的影视管理系统 运行环境: Tomcat 9.0 JDK 1.8 MySQL 8.0 后台管理账号密码均为:root,项目依赖:lib 目录 【资源声明】:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。需要有一定的基础看懂代码,自行调试代码并解决报错,能自行添加功能修改代码。

    kernel-5.15-ky10-x86.tar.gz

    kernel-5.15-ky10-x86.tar.gz

    基于AT89C51 单片机为核心器件,程序设计采用C 语言,Keil 软件编译程序,配以相关外围接口电路,实现了方波、锯齿波、正弦波、三角波、梯形波五种特定波形的产生【论文+源码】

    【作品名称】:基于AT89C51 单片机为核心器件,程序设计采用C 语言,Keil 软件编译程序,配以相关外围接口电路,实现了方波、锯齿波、正弦波、三角波、梯形波五种特定波形的产生【论文+源码】 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:本设计中的波形发生器系统要求基于51单片机,因此选用以AT89C51单片机作为整个系统的控制核心,应用其强大的接口功能,构成整个波形发生器的硬件系统。使用C 语言对单片机编程可产生相应的正弦波,方波,三角波,锯齿波梯形波波形信号。在程序运行时,当接收到按键信息后,需要输出某种波形时,调用相应的中断服务子程序和波形发生程序,经电路的数/模转换器和运算放大器处理后,从信号发生器的输出端口输出即可得到要求的波形。 当需要改变频率时只需要改变单片机的波形发生程序中的递增或者递减变量即可。 【资源声明】:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。需要有一定的基础看懂代码,自行调试代码并解决报错,能自行添加功能修改代码。

    基于java的法律咨询系统设计与实现.docx

    基于java的法律咨询系统设计与实现.docx

    适用于元营销 API 的 Python SDK.zip

    适用于元营销 API 的 Python SDK适用于 Python 的 Facebook Business SDK 介绍Facebook Business SDK是一站式服务,可帮助我们的合作伙伴更好地服务于他们的业务。合作伙伴正在使用多个 Facebook API 来满足其客户的需求。采用所有这些 API 并在各个平台上保持最新状态可能非常耗时,而且最终会造成高昂的成本。为此,Facebook 开发了 Business SDK,将其许多 API 捆绑到一个 SDK 中,以简化实施和维护。Business SDK 是 Marketing API SDK 的升级版,其中包括 Marketing API 以及来自不同平台(如 Pages、Business Manager、Instagram 等)的许多 Facebook API。快速入门商业SDK入门指南Python 目前是我们第三方开发人员最常用的语言。是一个 Python 包,它提供了您的 Python 应用程序与Business SDK 内的 Facebook APIfacebook_business之间的

    数学建模培训资料 数学建模实战题目真题答案解析解题过程&论文报告 公交车调度的运作数学模型 共12页.pdf

    数学建模培训资料 数学建模实战题目真题答案解析解题过程&论文报告 公交车调度的运作数学模型 共12页.pdf

    基于smart-socket实现的轻量级http服务器

    smart-http 是一款可编程的 Http 应用微内核,方便用户根据自身需求进行 Server 或 Client 的应用开发。支持GET、POST的 HTTP 请求。提供了 URL 路由组件,可以快速搭建一套静态服务器。支持部分 RFC2612 规范,后续会逐渐完善。支持 Https 协议,由 smart-socket 为其赋能。具备文件上传的能力。支持 websocket、Cookie支持 Server、Client 开发

    新闻资讯系统 微信小程序+SpringBoot毕业设计 源码+数据库+论文+启动教程.zip

    新闻资讯系统 微信小程序+SpringBoot毕业设计 源码+数据库+论文+启动教程 项目启动教程:https://www.bilibili.com/video/BV1oiBpYcEBp

    高校师生工作室-JAVA-基于微信小程序的高校师生工作室管理系统的设计与实现

    高校师生工作室-JAVA-基于微信小程序的高校师生工作室管理系统的设计与实现

    基于java的常见小儿疾病中医护理系统设计与实现.docx

    基于java的常见小儿疾病中医护理系统设计与实现.docx

    本教程播放列表涵盖了 Python 中的数据结构和算法 每个教程都有数据结构或算法背后的理论、BIG O 复杂性分析和可供练习的练习 .zip

    本教程播放列表涵盖了 Python 中的数据结构和算法。每个教程都有数据结构或算法背后的理论、BIG O 复杂性分析和可供练习的练习。使用 Python 的数据结构和算法本教程涵盖了 Python 中的数据结构和算法。每个教程都包含数据结构或算法背后的理论、BIG O 复杂度分析以及可供练习的练习。要观看视频,您可以访问播放列表https://www.youtube.com/playlist?list=PLeo1K3hjS3uu_n_a__MI_KktGTLYopZ12订阅 codebasics youtube 频道https://www.youtube.com/c/codebasics

    数学建模学习资料 蒙特卡罗方法课件教程 第2章.随机数 共29页.pptx

    数学建模学习资料 蒙特卡罗方法课件教程 第2章.随机数 共29页.pptx

    python实现基于CNN网络的新闻数据集文本分类源码+数据集(Python期末大作业)

    python实现基于CNN网络的新闻数据集文本分类源码+数据集(Python期末大作业),个人大三学期的期末大作业、经导师指导并认可通过的高分大作业设计项目,评审分98分。主要针对计算机相关专业的正在做大作业的学生和需要项目实战练习的学习者,可作为课程设计、期末大作业。 python实现基于CNN网络的新闻数据集文本分类源码+数据集(Python期末大作业)python实现基于CNN网络的新闻数据集文本分类源码+数据集(Python期末大作业),个人大三学期的期末大作业、经导师指导并认可通过的高分大作业设计项目,评审分98分。主要针对计算机相关专业的正在做大作业的学生和需要项目实战练习的学习者,可作为课程设计、期末大作业。python实现基于CNN网络的新闻数据集文本分类源码+数据集(Python期末大作业),个人大三学期的期末大作业、经导师指导并认可通过的高分大作业设计项目,评审分98分。主要针对计算机相关专业的正在做大作业的学生和需要项目实战练习的学习者,可作为课程设计、期末大作业。python实现基于CNN网络的新闻数据集文本分类源码+数据集(Python期末大作业),个人大

    中小学知识产权教育试点学校申报表.doc

    中小学知识产权教育试点学校申报表.doc

    基于django的音乐推荐系统.zip

    基于django的音乐推荐系统.zip

    在建工程涉及专项行动情况检查表.docx

    在建工程涉及专项行动情况检查表.docx

Global site tag (gtag.js) - Google Analytics