一。安装准备工作
2.下载安装Jbuilder 7 企业版,
3.开始你自己的项目开发,为项目设置server,选择Project Properties 中的 Server.选择 JBoss 3x 确认OK.
4.为了部署你的ear war或u jar, 选择Tools/Enterprise Deployment部署即可.
二。开发简单的EJB
1.我们使用现成Interest程序,该程序可以从JBoss的http://www.jboss.org/docs/manual/files/的documentation-example.zip 中获得.
在C盘根目录建立一个目录examples,将上述包中org/Jboss/docs/Interest目录拷贝到examples下.同时将interest目录下的*.xml配置文件去除,我们将使用Jbuilder来生成这些文件.
2.选择 New project for existing code -->Directory 选择 目录c:/examples -->name 输入examples(自己定义),完成后,在左边栏目中,出现examples项目,还有目录org.jboss.docs.interest,双击,可看到5个Java程序。
reBuild这些源程序,以便下一步我们在EJB designer中导入。
3.选择new -->EJB Module (如果你的项目server不支持EJB,将无法选择此项,本项目是使用JBoss来作为EJB的支持服务器,这些在project properties的server选择设定)-->取名interest(自己定义)-->选择version为EJB 2.0 完成后,在左边栏目中,又多出一个interest目录,双击,
如果我们不使用下载的interest源程序,可以在右边大栏目上方 点击 "Create EJB",从而创建自己的EJB;
这里我们使用了interest,所以要导入,可以在右边大栏目上方 点击 "Import EJB"
bean name: Interest
bean type: session -->interest是个session bean。
base class: org.jboss.docs.interest.InterestBean
home interface class:org.jboss.docs.interest.InterestHome
remotr interface class: org.jboss.docs.interest.Interest
完毕后,出现了一个红色方框,表示我们的Interest EJB创建好了。
你可以点击 "EJB DD Source"看看ejb-jar.xml的内容.
rebuild或make这个EJB,会自动生成一个jar文件
三。建立简单的Web 应用
4.EJB建立完成后,我们开始建立一个web应用:
在new -->Web Application(如果你的项目 server不支持Web,将无法选择此项目)
输入web application的名字,自己定义,如interestweb 以后访问这个web应用,就是http://localhost:8080/interestweb/
directory就选择examples目录下web目录,这也是自己定义的。
完成后,在左边栏目中多出一个interestweb的目录.
5.建立一个Web Servlet,由于interest源程序中,是靠servlet来调用EJB的,当然你也可以用你的JSp调用EJB,那么我们要增加一个Web Servlet应用。
选择new-->Servlet --->package 选择org.jboss.docs.interest
classname:自己定义,如InterestServlet
其他都是欠缺,注意,由于interest中原来有一个程序叫 InterestServlet,这次我们将替换这个程序(Servlet程序无法象EJB那样导入).
完成后,在左边栏目出又多出一个目录;Addtional Settings,展开,我们看到了InterestServlet,然后,将原来的InterestServlet内容copy过来。
rebuild检查这个servlet有无问题。
6.有了servlet 我们需要一个页面来访问这个Servlet,在interest原来程序中,是home.html,我们使用Jbuilder的new导航,自动建立一个home.jsp. 将home.html中代码copy过来就可以。
这样在interestweb下的Rott directory多了一个home.jsp
rebuild检查这个home.jsp有无问题。
四。配置发布
7.一个简单的J2EE框架已经出来了,现在我们要作些配置工作,让Web应用的Servlet能够访问到EJB:
展开interestweb 展开deployment desciptors,双击web.xml 我们来编辑web.xml
web.xml是用来定义web应用的,在本web应用中,关键是要让应用程序找寻到EJB,也就是关键是JNDI的配置。这里我们使用JNDI的欠缺配置,直接引用<ejb-name>的值,这要求web应用程序和EJB程序在一个EAR文件中。
更复杂的JNDI配置就要根据不同的J2EE server各自不一样,在实际应用中,有专门的deploy人员负责。
在左边右下角出现webApp deployment descriptor的DTD 就是语法。
首先,我们要解决和EJB的联系,选择EJB References, 增加一个EJB reference:
Reference Name:
这个EJB的名字很重要,由于interest程序中是用InterestServlet调用EJB的,我们要打开InterestServlet,寻找到Object ref = jndiContext.lookup("java:comp/env/ejb/Interest");
其中ejb/Interest就是Reference Name
link:
由于上面提到,我们使用欠缺的JNDI机制,所以这里link一定要定义,定义成<ejb-name>,本例中是Interest
Home Interfcae:
org.jboss.docs.interest.InterestHome
Remote Interfcae:
org.jboss.docs.interest.Interest
打开source 可以看到:
<?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> <servlet> <servlet-name>interestservlet</servlet-name> <servlet-class>org.jboss.docs.interest.InterestServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>interestservlet</servlet-name> <url-pattern>/interestservlet</url-pattern> </servlet-mapping> <ejb-ref> <ejb-ref-name>ejb/Interest</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>org.jboss.docs.interest.InterestHome</home> <remote>org.jboss.docs.interest.Interest</remote> <ejb-link>Interest</ejb-link> </ejb-ref> </web-app> |
注意: <url-pattern>/interestservlet</url-pattern>是访问InterestServlet的Jsp或html页面中的form action的值,有大小写区分,现在是:
<form action="interestservlet" >
...
</form>
但是本例中,有一个home.html是用来调用InterestServlet的,我们看看home.html的代码发现:
<form action="InterestServlet" method="POST" >
所以现在有两种选择,要么修改这里的<url-pattern> 要么修改home.html中action
我们修改<url-pattern>吧。
注意: <servlet-name>interestservlet</servlet-name>中是servlet的名字,也区分大小写,我们servlet的程序是InterestServlet,如果你有不符合的地方要修改过来
配置welcome files为home.jsp 在本例中,第一个文件不是index.html 或index.jsp 是home.jsp
否则测试键入http://localhost:8084/interestweb/将出错。
rebuild或make这个web应用,会自动生成一个war文件
8.最后,我们来生成ear文件,如果没有Jbuilder帮忙,我们可能要使用ant手工编制build.xml,如果你经常开发新项目,这就很麻烦。Jbuilder现在很快能搞定。
new-->Ear (如果在本项目中,你没有安装EJB server,将无法选择)
在建立导航中,Jbuilder会自动发现你的EJB ,你要打钩加入,自动发现你的Web App ,你要选中。
完成后,在左边栏目中,多出一个examples.eargrp目录,双击打开,其实这就是application.xml
由此J2EE需要的几个标准XML配置文件,我们依靠Jbuilder已经迅速的建立完成。
8.rebuild或make, 会自动在examples.eargrp下生成examples.ear文件。
使用tools/Enterprise Deployment 将examples.ear发布到JBoss中
或手工将examples.ear拷贝到Jboss的deploy目录下。
五。测试成功
http://localhost:8080/interestweb/访问你的J2EE,按提交按钮后,应该出现下列:
Servlet interface to EJB Calling EJB... Interest on 1000.0 units, at 10.0% per period, compounded over 2.0 periods is: 210.00000000000023 |
这里是本例中成功发布的程序,你可以将其中examples.ear直接发布,或打开,和你自己的试验作个对比
以上只是简单的JBuilder开发EJB过程,需要了解更详细的、实战性质的开发过程可进入VIP会员教程。