myeclipse下成功开发Enterprise Application project

Gin工作室 2012-12-04

以前用myeclipse写过单独的ejb程序,也写过单独的web程序。服务器都是weblogic10.一直没有把他们整合起来。今天就来把ejb和web项目整合,实现一个真正的基于MVC模式的应用程序。

1.新建一个EnterpriseApplicationproject:file-->new-->EnterpriseApplicationproject.然后写上工程的名字(我的工程名是qiyeji),选择javaee5(由于前面有先例,可参考我的另一篇文章《》,用j2ee1.4部署webproject到weblogic上会找不到web资源,所以选择javaee5)。最后就是选择“Newwebmodel”和“Newejbmodel”这两个复选框。

2.出现了三个项目文件:qiyeji,qiyejiEjb和qiyejiWeb。各个项目名代表什么模块相信大家都清楚了,不多说。

3.建立ejb。在qiyejiEjb项目下建立个简单的EJBSessionbean。建立的方法和步骤可以参考网上的教程,http://www.blogjava.net/rickhunter/articles/25484.html给出了个myeclipse+weblogic开发ejb的非常详细的过程。需要注意的是,我们在此只需要建立bean类和所需的接口。不需要编写客户端测试。

4.在weblogic服务器上部署ejb。登录weblogic控制台,选择Deployments--->选择install按钮-->选择ejb(在此是qiyejiEjb),选择Class单选项。然后默认next最后save即可。

5.部署ejb完毕后可以查看ejb所对应的jndi名称。这个名称客户端查找ejb时要用到。

6.编写web客户端。在qiyejiWeb项目下的index.jsp写编写代码访问ejb。(可能要把bean中的接口的包复制到qiyejiWeb的src下,生成相应的接口。也可能不需要那样做,我的是复制了的而且成功了。)index.jsp代码如下:<%@pagelanguage="java"import="java.util.*"pageEncoding="ISO-8859-1"%>

<%@pageimport="rain.interfaces.*,javax.ejb.*,javax.naming.*"%>

<%

Stringpath=request.getContextPath();

StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

<html>

<head>

<basehref="<%=basePath%>">

<title>MyJSP'index.jsp'startingpage</title>

<metahttp-equiv="pragma"content="no-cache">

<metahttp-equiv="cache-control"content="no-cache">

<metahttp-equiv="expires"content="0">

<metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">

<metahttp-equiv="description"content="Thisismypage">

<!--

<linkrel="stylesheet"type="text/css"href="styles.css">

-->

</head>

<body>

ThisismyJSPpage.<br>

<%

Propertiesproperties=newProperties();

properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");

properties.setProperty(Context.PROVIDER_URL,"t3://localhost:7001");

Contextctx=null;

try

{

ctx=newInitialContext(properties);

HelloHomerainhome=(HelloHome)ctx.lookup("ejb/Hello");//在weblogic控制台中查到的ejb的jndi名称。

Hellohello=rainhome.create();

//rainhellohello=rainhome.create();

Strings=hello.SayHello();

%>

<%=s%>

<%

}

catch(Exceptionex)

{

ex.printStackTrace();

}

%>

</body>

</html>

也可以通过servlet调用ejb(推崇使用),我为了节省时间,直接用jsp调用了。

7.部署qiyejiWeb项目。选择myeclipse工具栏上的部署功能,选择project(这里是qiyejiWeb),然后选择add按钮,添加服务器为weblogic10.最后OK即可。

8.测试。启动weblogic服务器(如果没有启动的话)。在IE地址栏上输入http://localhost:7001/qiyejiWeb/。最后得到预料之中的结果,成功!

相关推荐