服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

用jbuilder7开发一个简单的j2ee 应用

说实话,在使用jbuilder前 我也是有抵触情绪的,认为java图形界面程序总是很慢,但是由于经不住jbuilder强大的ejb开发功能的诱惑,将我原来piii 450 128m内存扩展到192m以后,安装上jbuilder 7,惊奇的发现,庞大的jbuilder 7居然可以顺畅的运行了。

  运行jbuilder 7的感觉和在我机器上运行 corel draw 10一样,虽然启动时都一样慢,但在使用过程中就非常顺畅,没有停顿。jbuilder 7不愧是现在最好的java开发工具.

  jbulder ejb2.0的可视化工具可以在几分种内开发cmp ejb,开发者有更多的时间花在客户市场上,这样看似复杂的ejb开发已经变得非常简单和迅速。

  一、安装准备工作

  1.正确安装jboss+tomcat

  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直接发布,或打开,和你自己的试验作个对比

扫描关注微信公众号