安装Eclipse.
首先我们要安装Eclipse作为集成开发环境(IDE)和JBOSS作为我们的应用程序服务器.
去这个页面: http://www.eclipse.org/downloads/index.php下载Eclipse编辑器的二进制文件.你可以根据你的平台下载适合的二进制文件.本教程是在Linux (Red Hat 8.0)下进行开发的.
示例: eclipse-SDK-2.1-linux-gtk.zip, eclipse-SDK-2.1-win32.zip
注意 : Eclipse并不包含JAVA的运行环境(JRE).你需要下载一个至少是1.3的JAVA运行时Java开发包(JDK)安装在你机子上以使Eclipse可以运行.
解压缩该文件到你的home目录下.
[vishal@localhost eclipse]$ unzip eclipse-SDK-2.1-linux-gtk.zip
Archive: eclipse-SDK-2.1-linux-gtk.zip
Archive: eclipse-SDK-2.1-linux-gtk.zip
inflating: eclipse/plugins/org.eclipse.core.boot_2.1.0/boot.jar
inflating: eclipse/plugins/org.eclipse.core.boot_2.1.0/splash.bmp
inflating: eclipse/plugins/org.eclipse.core.boot_2.1.0/boot.xml
inflating: eclipse/plugins/org.eclipse.core.boot_2.1.0/plugin.properties
-----------------------------------------------------------------------------
----------------------------------------------------------------------------
-------------------------------------------------------------------------
inflating: eclipse/install.ini
inflating: eclipse/startup.jar
inflating: eclipse/readme/readme_eclipse.html
?
一旦你解压了这个文件你会home目录中找到一个名为'eclipse'的目录.
进入该目录并运行'eclipse'.
?
[vishal@localhost eclipse]$ cd eclipse
[vishal@localhost eclipse]$ ls
cpl-v10.html features install.ini plugins startup.jar
eclipse icon.xpm notice.html readme workspace
[vishal@localhost eclipse]$ ./eclipse
它将会在你的工作站上启动Eclipse IDE.让我们来更加熟悉这个环境吧.
安装JBOSS.
既然Eclipse已经安装好了并可以在你的工作站上运行,那么我们开始安装JBOSS.
你可以下载直接就可以运行的JBOSS.因为JBOSS内置了一个简单的数据库(Hypersonic)和网络服务器(JBossWEB或Tomcat)你可以不作任何设置直接使用. 你可以在SourceForge 中的JBOSS (http://sourceforge.net/projects/jboss)项目的页面下载,在那里你可以找到最新的版本,或是到JBOSS的主页下载 在那里你可以找到很多关于JBoss的有用信息,比如说官方的信息,免费论坛以及 项目的信息等等,同样也可以从 http://www.jboss.org/downloads.jsp下载.在本教程中我们使用的是集成了'Jetty' 作为JBOSS HTTP网络服务器的JBOSS-3.2.1.
范例 : jboss-3.2.1.zip (包括JBossWeb HTTP服务器和JSP/Servlet引擎, EJB, CMP2.0, JCA, IIOP, Clustering, JTS, JMX.)
注意 : JBOSS不包含JAVA运行环境(JRE).
首先使用用户'root'登录然后解压这个文件到适当的位置,那里必须有足够的空间.我把它解压到了/opt/jboss/目录.
它会在/opt/jboss/下创建一个名为 jboss-3.2.1的目录.
在运行JBOSS之前, 为了检查JBOSS的安装是否正确,确认你是否设置了以下变量.
JBOSS_HOME: /opt/jboss/jboss-3.2.1
JAVA_HOME: /usr/java/j2sdk1.4.1_02
CLASSPATH: /usr/java/j2sdk1.4.1_02/lib/tools.jar
?
进入jboss-3.2.1目录,你会找到所有这些目录.
[root@localhost jboss-3.2.1]# ls
bin client docs lib server
进入bin目录,你会找到run.sh脚本文件.
在命令行下运行该文件.它会启动,你将看到下面这条信息.
15:12:59,876 INFO [Server] JBoss (MX MicroKernel) [3.2.1 (build: CVSTag=JBoss_3_2_1 date=200305041533)] Started in 59s:676ms.
注意:这就是说 JBOSS已经安装好并成功运行了.现在是在eclipse IDE中配置它的时候了.
为了验证JBOSS运行是否正确,在你的浏览器中输入下面的地址'http://localhost:8080/jmx-console/index.jsp'.
注意: 这个页面指向的是'JMX Management Console'(This page is referred as the 'JMX Management Console').如果你可以在你的浏览器中访问它,说明你的JBOSS已经成功的在运行了.
在该页面的 'jboss'子标题下,有一个接是 'service=Hypersonic'.点击该链接;会出现'MBean View'页面.在该页面有一个叫做'startDatabaseManager'的MBean操作;找到那里然后按下 'Invoke'按钮. 将会出现嵌入式数据库Hypersonic的console,在那里你可以访问数据库模式或者执行其他的数据库管理的操作.
创建数据库模式.
在学习案例中提到的, 我们商店仓库的数据库模式由5个关系组成. 我们会在嵌入式数据库Hypersonic中装载它.
出于这个目的, 我们会用到以下的脚本文件.
a) myStoreSchema.script – 用于创建数据库模式.
b) myStoreSchema.data – 用于向表中添加数据.
c) myStoreSchemaDrop.script –用于删除教程中用到的表.
下载:
myStoreSchema.script
myStoreSchema.data
myStoreSchemaDrop.script
?
首先拷贝这3个文件到 $JBOSS_HOME/server/default/data/hypersonic/目录. 这个例子中它是 /opt/jboss/jboss-3.2.1/server/default/data/hypersonic/
现在使用上图所示的JMX-Management Console 访问HSQL Database Manager.
?
注意: 请在数据库中删除已经存在的和我们用到的表同名的表,否则当你运行这些脚本的时候自然会有错误产生.
?
在HSQL Database Manager顶部的菜单中选择File > Open Script.. > 选择myStoreSchema.脚本.
在点击完Open 后按下‘Execute SQL Statement’,屏幕上会成为如下图所示的样子.
在菜单中选View > Refresh Tree.如果你看到有5个新表被创建了,就说明你的数据模式就弄好了,是在表中加入数据的时候了.
?
在菜单中选File > Open Script.. >选择myStoreSchema.data > Open.. > Execute SQL Statement.
?
现在你的数据已经装载到你的数据库中了,你可以执行任意查询(这里使用的是select * from storeaccess)来验证它并可以看到象下表中一样的结果.
确定你使用了'commit'(Options->commit)在你的数据库中保存你的数据库模式.
注意:关闭Jboss服务器因为我们后面会在eclipse中运行它.
安装Lomboz.
为了在Eclipse中运行JBOSS你需要一个插件,在本教中我们使用Lomboz可以在 http://sourceforge.net/projects/lomboz 或 http://www.objectlearn.com/index.jsp下载到.
注意: 我们在这里使用的是lomboz.21_02.zip.
解压该文件到临时目录;你会找到一个叫plugins的目录.进入目录plugins/com.objectlearn.jdt.j2ee/servers. 这个目录中包括针对各种服务器的配置文件.在本教程中我们提供一个jboss3.2.的配置文件供下载.
注意: 如果有多个配置文件存在,插件会默认的使用eclipse/plugins/com.objectlearn.jdt.j2ee/servers/目录中的按字母排序的第一个配置文件,所以把所有配置文件的后缀名改为'.bak'.这样做是为了在我们教学避免发生错误.
现在,复制我们提供的jboss321all.server文件到servers 目录.
cd plugins/
[vishal@localhost plugins]$ ls
com.objectlearn.jdt.j2ee
[vishal@localhost com.objectlearn.jdt.j2ee]$ cd servers
[vishal@localhost servers$ ls
jboss244.server.bak jboss303Tomcat4112.server.bak jboss300all.server.bak jboss321all.server
tomcat403.server.bak weblogic70.server
jboss300.server.bak tomcat410.server x.log
?
这是'jboss321all.server'文件中用于配置的一个片段. 在本教程中我们会使用这个文件,你可以在Downloads里下载.
Downloads :
jboss321all.server
你可以在此文件中根据你的系统修改设置(例如. 端口号).
在你把该文件存到com.objectlearn.jdt.j2ee/servers目录后,移动 com.objectlearn.jdt.j2ee目录到$HOME/eclipse/plugins/目录下($HOME就是你的home目录.)
[vishal@localhost temp/plugins] mv com.objectlearn.jdt.j2ee /home/vishal/eclipse/plugins/.
现在, 我们将使用jboss321all.server文件配置Lomboz.
注意 :现在你可以删除临时目录了.
?
配置Lomboz.
现在来运行Eclipse配置Lomboz ($HOME/eclipse/eclipse ).
选择顶部菜单中的Window > Open Perspective > Java就象下图所示一样.
在本教程中我们想订制Java perspective:
再次选择顶部菜单中的Window > Customize Perspective > Other.
选中Lomboz Actions子结点.
点击OK. 现在在你顶部菜单的下方会出现象这样的一个图标.
点击该图标会在你的workbench出现一个Lomboz J2EE View 窗口.
现在, Lomboz J2EE View是可用的了.
选择Window > Customize Perspective.
展开File > New的子结点.选中所有以Lomboz开头的结点.
接着展开Window > Show view项.选中Console, Lomboz J2EE View 以及如下图所示的其他几项.
现在点击ok. 你会发现所有这些选项都会在顶部菜单的 File > New >中出现并且还会出现Lomboz菜单,或者在Package Explorer中点右键,一个菜单就会弹出.
配置JBOSS并在Eclipse中运行.
首先我们要配置Java开发的相关设置,因为Lomboz需要使用不同的目录存放源代码和字节码.
选择Window > Preferences > 展开Java结点 > 选择New Project项.
在相应的框中输入src和bin作为目录的名字,它们是默认好了的. 请不要修改这些默认的名称,因为在某些Lomboz任务中会用到它们.
同样的,确定JRE library被设置为'JRE_LIB' variable.
选择顶部菜单中的Window > Preferences.
在Preferences窗口中选择Lomboz结点.确认JDK Tools.jar被设置为$JAVA_HOME/lib/tools.jar
在LOMBOZ结点下选择server definitions子结点. 在Server types中选择JBOSS 3.2.ALL作为 Server types,选择好之后,其余的选项会被自动加载我们为教程订制的设置.
选择Server Definitions下的'Classpath'标签并确认所有的路径都是正确的. 如果设置的路径有误,在Server libraries / Client libraries的子项的jar图标其面就会出现红叉.
你可以在这里添加或删除类库.在你更改了这些选项之后,点击'Apply'确认应用这些设置.
?
现在来验证你的'Classpath Variables'.
选择Window > Preferences > Java > Classpath Variables
你应该会获得和你的开发环境正好相对应的所有这些Classpath变量.
?
测试你的设置.
为了测试你的配置是否正确,我们创建一个J2EE工程作为测试.
选择顶部菜单中的File > New > Lomboz J2EE Project..
输入 'Test'作为项目名并点击Next.
在这里检查一下你的设置;如果你的编译路径是'Test/src'而默认输出路径是'Test/bin'那么就没有问题.
在项目创建向导中点击Libraries标签.
由于Eclipse 2.1中的一个Bug 下面的这个库没有配置正确.
所以选中它并删除掉.
现在添加一个新的库,选择library > Add Library.. >选中JRE System library >点击Next .
选择默认(Default)库,点击Finish.
新的库就被配置好了.
注意:因为eclipse 2.1存在着一个Bug,当你创建一个新的J2EE工程的时候你不得不重复这一步骤.
按Next.
选择Web Module > Add.. > 输入模块(Module)的名'OnlineBank' > Ok.
选择Ejb 模块(Modules)标签> Add.. >输入模块(Module)的名'MyBank' > Ok.
选择Targeted Server > Add.. > 'JBOSS 3.2.1 ALL' .
注意: 'JBOSS 3.2.1 ALL'不是文件名,而是我们在文件'jboss321all.server'中为服务器设置的名字用于配置服务器. 下面是文件的一些片段.
Show View > Lomboz J2EE View.在Lomboz J2EE 视图中也会出现Test工程,包括两个模块'MyBank'和 'OnlineBank'使用JBOSS 3.2.1作为他们默认的服务器.
好了,我们开始创建一个EJB,
选择File > New > Lomboz EJB creation wizard.
注意: 你可以通过在Package Explorer的Test工程上点击右键访问生成向导. 如前面介绍的一样选择菜单中的New > Lomboz EJB creation wizard.
添加名为'au.com.tusc'的包;你也可以使用其他的名字.在名称中添加'MySession'.选择无状态会话(Stateless Session) EJB选项.
它将如下图所示一样在'au.com.tusc'包中创建文件'MySessionBean.java'.
注意: bean的名称, jndi的名称以及文件中bean的类型会自动生成.同样在生成文件名的时候你给的名字'MySession'后面也会被自动加上'Bean'.所以请留意命名的惯例,因为你只需要在向导中输入bean的名字.不要在名字当中加上Bean这个词,因为向导会自动为你添加它.
现在我们要通过向导添加一个商业方法.
在'Package Explorer'中选择 'MySessionBean.java'并展开它, 象下图一样在'MySessionBean'结点上点右键,选择 New > Lomboz EJB Method wizard.
在Method signature中输入'public String learnJ2EE(String messg)', 方法的类型选择'Business Method'并且接口的类型选择'Remote Interface'.
在你的bean类中你的商业方法需要的signature将会生成.
在该方法中加入这一行 return "Me too! ";
Bean文件中的代码片段
?/**
? * @ejb.interface-method
? * tview-type="remote"
? *
? **/
???? public? String learnJ2EE? (String messg)? {
???????? return "Me too! ";
???? }
保存这个文件.? 现在我们来生成部署这个bean所需要的其余的文件 (伴随着帮助类的Home以及Remote接口, 使用Xdoclet).
首先把这个Bean加入模块中.
选择Package Explorer> Test > MySessionBean.java > MySessionBean,在上面点右键; 一个菜单会弹出.选择弹出菜单中的Lomboz J2EE项并选择'Add EJB to module'.
选择Package Explorer > Test > MyBank (这是个目录), 在上面点右键; 一个菜单会弹出.?选择在弹出菜单中底部的Lomboz J2EE.?选择Generate EJB classes. 这样会生成和部署有关的接口,帮助类以及其他相关文件; 也就是部署描述器(deployment descriptors).
这样会生成一个名为ejbsrc的目录,它下面有一个名为au.com.tusc的包,并且在那下面会生成伴随着必要帮助类的远程和本地接口.
注意:在使用本教程的过程中你不用编辑任何在'ejbsrc'目录下由Xdoclet生成的文件.因为每当你使用Generate EJB Classes的时候,它会生成上面提过到的必要的接口和帮助类. 在解析了由Lomboz bean创建向导创建的bean类之后,这些文件会由Xdoclet生成. Xdoclet读取(looks at)在bean类中声明的各种标签和方法,然后生成相应的文件. 因此, 你只要添加商业方法并在bean类中实现它们,其余的就交给Xdoclet办了.因此在开发过程中, 你不必 (也不应该!) 编辑任何生成好的文件.在阅读本教程的过程中这点会变得越来越清楚.
在MyBank > META-INF目录下现在有15个文件,其中包括ejb-jar.xml和 jboss.xml以及ejb-generate.xml.前文提到过最开始这里只有6 个文件.其他的文件是部署bean时需要的.
现在在没有任何关于部署的更多信息的情况下我们来部署这个bean.
在你工作区(workspace)的Lomboz J2EE视图中, 展开Test > 展开 MyBank.
把au.com.tusc.MySessionBean 添加到你的MyBank EJB模块中.
在JBOSS 3.2.1 ALL 图标上点右键如下图所示.
一个菜单会弹出;选择Debug Server选项.它会在启动带有调试模式的服务器并在启动成功之后在工作区(workspace)的console中显示入下所示的信息.
选择Lombo J2EE View > expand Test > 选择MyBank 并在上面点右键; 一个菜单会弹出; 选择Deploy项.
一旦这个bean被部署了, 一条消息便会在你的'Console'中等待确认,如下图所示.
现在我们来创建一个客户端来访问部署在JBOSS(应用程序服务器)上的bean.
Go to Package Explorer > Test > src, 在那上面点右键,会弹出一个菜单>选择EJB Test client.
输入包的名字'test' 和客户端的名字 'Client'.
选择EjbHome作为'MySessionHome' 以及Ejb Interface作为 'MySession' > Finish如下图所示.
现在客户端已经生成了,是调用部署好的bean的商业方法的时候了.
我们需要一些代码来调用bean的方法.
在Client.java中添加下面的'testBean()'方法.
String request = "I'm tired of 'Hello, world' examples..";
System.out.println("Request from client : " + request);
System.out.println("Message from server : " + myBean.learnJ2EE(request) );
Client.java的代码片段.
public void testBean() { try { au.com.tusc.MySession myBean = getHome().create(); //-------------------------------------- //This is the place you make your calls. //System.out.println(myBean.callYourMethod()); String request = "I'm tired of 'Hello, world' examples.."; System.out.println("Request from client : " + request); System.out.println("Message from server : " + myBean.learnJ2EE(request) ); } catch (RemoteException e) { e.printStackTrace(); } catch (CreateException e) { e.printStackTrace(); } catch (NamingException e) { e.printStackTrace(); } }
在Package Explorer下面选择Client结点. 象下图一样在顶部的菜单中点击这个图标.
在该图标中选择> Run as > Java Application.
你的客户端会发出一个请求,它的结果会在你的工作区的console中显示出来, 如下所示.
注意:忽略这些和org.apache.log4j.Property有关的例外因为它需要在客户端路径的'log4j.properties'.我们会在以后提到这个问题,因为它并不影响这个bean的功能.
?
你已经成功的创建了一个bean并对它执行了一个操作. 现在,在我们开始实现这个学习案例之前,我们将在下一章将简要的概括一下J2EE的概念.
?
待续,将会在我的Blog:raxy.blogbus.com中同步登出,
本文地址:http://com.8s8s.com/it/it15423.htm