当前位置:编程学习 > JSP >>

开发SessionBean

答案:
分以下几个步骤:

1 建立测试web模块

2 建立idea ejb模块,编写ejb

3 编译,打包

4 写测试页面

5 发布ejb,web测试模块,测试ejb

 







1 建立web测试模块。

 







在默认的user_projects\domains\mydomain\applications目录下,新建一个名为web的文件夹。这个文件夹就是我们测试ejb的web模块。

 







在web文件夹下新建WEB-INF文件夹,在WEB-INF下新建lib文件夹。

 







在WEB-INF下新建web.xml文件,内容如下:

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

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

</web-app>

 







ok。web测试模块完成。

 







2 建立idea ejb模块,编写ejb

打开idea,选择 file-new-ejb modules,把module name 改为“EjbSamples”,如下图:



在服务器选项,选择weblogic,其余都按默认设置。最后点finish。

 



在src文件夹下新建包。包名如下:com.diegoyun.ejb.slb,如下图:



把鼠标放到模块名上,右键,选择:new-sessionBean。然后在弹出的属性框设置如下:

<ejb-name> :输入Helloworld

Package:选择/输入com.diegoyun.ejb.slb

其余信息idea会帮你自动设置,整个属性框属性如下:



点击ok结束

 



这时会弹出ejb的属性配置界面,如下:



在Display name,输入 HelloworldEJB

 



然后切换到weblogic server页,输入jndi name如下:ejb/session/HelloworldEJB

 



界面如下:



关闭这个属性页。Idea已经帮你写好了ejb的配置信息。可以打开META-INF/下的ejb-jar.xml和weblogic-ejb-jar.xml进行查看。

 



这时在com.diegoyun.ejb.slb下,应该有三个文件:Helloworld,HelloworldBean和HelloworldHome

 



在Helloworld接口中添加一个方法如下:

public interface Helloworld extends EJBObject {

    public String getGreeting(String name)throws RemoteException;

}

在HelloworldBean接口中添加一个方法如下:

public class HelloworldBean implements SessionBean {

……………

//omit others

    public String getGreeting(String name){

        return "Hello," + name;

    }

}

 



ok.你的Helloword ejb已经写好了。

 



3 编译,打包,发布ejb

 



本例采用web方式访问ejb。并且没有把web模块和ejb jar都打包成ear。所以必须先把ejb源码编译成jar,发布这个jar,然后复制到测试web模块的lib目录下,这样web页面才能访问到bean。

  本例采用ant脚本来执行编译和打包等命令。在idea的ejbSamples模块下新建一个build.xml脚本,内容如下:

<project name="ejb-example" default = "all" basedir=".">

    <!-- Set your personal configuration information below: -->

    <property name="j2eelib" value="D:\Devs\bea\weblogic81 erver\lib\weblogic.jar"/>

    <property name="uploadPath" value="D:\Devs\bea\user_projects\domains\mydomain\myserver\upload"/>

    <property name="webPath" value="D:\Devs\bea\user_projects\domains\mydomain\applications\web\WEB-INF\lib"/>

    <!-- End personal conf info -->

 



    <property name="source" value="src"/>

    <property name="meta" value="META-INF"/>

    <property name="build" value="${basedir}/build"/>

    <property name="packinfo" value="${build}/META-INF"/>

    <property name="dist" value="${basedir}/dist"/> 

 



    <target name="init">

    <!-- Create the time stamp -->

        <tstamp/>

        <mkdir dir="${build}"/>

        <mkdir dir="${dist}"/>

        <mkdir dir="${packinfo}"/>

    </target>

    <target name="ejb">

        <javac srcdir="${source}" classpath="${j2eelib}"

              destdir="${build}" includes="**/*.java"/>

    </target>

    <target name="copy" depends="ejb">

        <copydir src="${meta}" dest="${packinfo}" includes="**/*.xml"/>

    </target>

    <target name="ejb-jar" depends="ejb">

       <jar jarfile="${dist}/EjbSamples.jar" includes="**/*.xml,

              **/*.class" basedir="${build}"/>

    </target>

    <!-- copy jar to weblogic upload ant web diretory -->

    <target name="copy-to-path" depends="ejb-jar">

        <copyfile src="${dist}/EjbSamples.jar" dest="${uploadPath}/EjbSamples.jar" forceoverwrite="true"/>

        <copyfile src="${dist}/EjbSamples.jar" dest="${webPath}/EjbSamples.jar" forceoverwrite="true"/>

    </target>

    <target name="all" depends="init,ejb,copy,ejb-jar,copy-to-path"/>

</project>

 



针对你本机weblogic的安装,修改脚本以下信息即可:

<!-- Set your personal configuration information below: -->

    <property name="j2eelib" value="D:\Devs\bea\weblogic81 erver\lib\weblogic.jar"/>

    <property name="uploadPath" value="D:\Devs\bea\user_projects\domains\mydomain\myserver\upload"/>

    <property name="webPath" value="D:\Devs\bea\user_projects\domains\mydomain\applications\web\WEB-INF\lib"/>

    <!-- End personal conf info -->

 



<property name="j2eelib"> :由于本例采用weblogic.jar进行javac编译,所以必须知道该jar的位置。通常,它位于<bea diretory>\weblogic81 erver\lib\下。例如,如果你的weblogic安装在C盘,那么你的jar应该如此设置:

<property name="j2eelib" value="C: \bea\weblogic81 erver\lib\weblogic.jar"/>

 



<property name=" uploadPath "> :weblogic放置上传文件的目录。通常位于<bea diretory>\user_projects\domains\<your domain>\<your server>\upload文件夹下。如果你采用的是weblogic默认安装,那么<your domain>通常是mydomain(由weblogic默认创建),<your server>通常是myserver。例如,如果你的weblogic安装在C盘,并且domain和server都采用默认,那么属性设置如下:

<property name="uploadPath" valu

上一个:Jboss Ejb3.0 Entity Bean
下一个:J2EE tutorial 实例安装

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,