星期三, 十一月 16, 2005

eclipse+jst+jboss4=j2ee

发现eclipse的插件jst支持session bean开发还不错,花了几天弄出来,写出与人分享。使用jboss4的j2ee容器,一个字:便宜!
这里准备演示一个j2ee的helloworld的开发,需要的软件如下:
jdk:http://java.sun.com
eclipse+jst:http://www.eclipse.org (下载eclipse后使用update manager在线安装jst)
projst:http://www.projst.com/eclipse/updates/ (这个添加jst对jboss4的支持,用update manager安装)
xdoclet:http://xdoclet.sourceforge.net (这个软件可以简化配置文件的编写,是jst必需的)
jboss:http://www.jboss.org
完成这些软件的下载安装以后,需要做一些配置工作:
在菜单上选择Window->preferences
1. 配置xdoclet
在左边展开j2ee annotations,选中xdoclet,指定xdoclet目录和版本,选中enable xdoclet builder选框,如图

然后展开xdoclet,分别在ejbdoclet和webdoclet下将jboss选成4.0版本的,并将其选中,如图


2. 配置jdk
展开java,选中installed jres,点击add,选择你的jdk安装路径,如图

配置完这个以后,在preferences页中点ok,然后重新打开preference使jdk在后面的设置中可用。
3. 配置jboss4
展开左边的server,选中installed runtimes,点击add,选中jboss->jboss4.0.x,在弹出对话框中填入你的jboss的安装路径,如图

设置至此完成,可以开始程序编写。
1.新建一个项目,选择new->project->j2ee->j2ee application project,点next,在name中填入J2EEHello

next,使用new Module给新建的j2ee项目添加一个ejb子项和一个web子项,如图


点击finish回到eclipse编辑界面,可以发现多了一个ejb工程(默认名字是J2EEHelloEJB)、一个web工程(默认名字是J2EEHelloWeb)和一个j2ee工程(第一次使用上面的某一步会提示你切换到j2ee视图,确定就行了)。
2.右键点击J2EEHelloEJB,new->enterprise java bean

选中session,点next,输入ejb的信息,package是ejbs,名字是HelloBean,选中下面的generate an annotated bean,点finish
回到编辑界面,打开HelloBean.java(顺便提一下,是用这个工具只需要手动编辑HelloBean.java文件,其他的remote和home会由xdoclet自动生成),添加一个成员函数,如下:

/**
*
* @ejb.interface-method view-type="remote"
*/
public String helloMsg()
{
return "Hello, J2EE!";
}

注意那段注释,不能省,这是xdoclet可以自动生成remote和home的关键,如图

至此ejb已经做完了,下面写ejb的客户。
3.打开J2EEHelloWeb项目的属性,选中Java jar Dependences,把ejb项目的jar选中,ok,如图

返回编辑器,展开那个J2EEHelloWeb项目,右键点击WebContent,new->JSP,填入名字hello.jsp,然后finish就可以了。
在jsp文件的body标签之间添加如下代码保存
<%
ejbs.HelloHome home = ejbs.HelloUtil.getHome();
ejbs.Hello hello = home.create();
%>
<%= hello.helloMsg() %>
ejbs.HelloUtil是jst生成的一个辅助类,可以简化ejb的使用
4.客户端写完了,可以开始调试了,右键点击那个hello.jsp,run as->run on server
选jboss4.0.x,选中下面的set server as project default,

在最后一页把J2EEHello加入服务器,点finish。

过一会应该可以在右边的内嵌浏览器中看到效果,如图(如果提示404就等一会再刷新一下):

将其地址复制到ie地址栏中也能看到这张页面:

这里使用eclipse和jboss开发j2ee服务器,虽然可能没有商用的工具成熟好用(毕竟他还不支持CMP的开发)。但是这里使用的工具都是免费的,所以有比较大的实用价值。

没有评论: