用jbuilder7+jboss3+vss开发EJB

发表于:2008-10-13来源:作者:点击数: 标签:开发VssEJBVSSvss
1. 前言 在n年前java只是一种编程语言的理解,但现在的java非常强大,其含义也发生变化,我们可以理解为海陆空总集合的部队,其下属分支很多,如jsp、servlet、javabean、applet、ejb、jms、j2se(无线通讯用)、java2D、java3D…… 此处我们着重介绍java的web
1. 前言
  在n年前java只是一种编程语言的理解,但现在的java非常强大,其含义也发生变化,我们可以理解为海陆空总集合的部队,其下属分支很多,如jsp、servlet、javabean、applet、ejb、jms、j2se(无线通讯用)、java2D、java3D……
  此处我们着重介绍java的web应用和开发,即jsp、servlet、javabean、applet、ejb等。其中applet是比较特殊的,它需要jre(java运行环境)的支持,并且对jre版本有要求,即applet是用jdk1.4开发的,那么jre也得1.4版本的。
  java的web开发需要视情况而定,如果只是编译jsp、servlet、javabean、applet等,只需要安装jdk(java开发工具包),如果加上ejb,就得jdk+j2ee。jdk、j2ee的安装程序到http://java.sun.com下载,本例的jdk安装在C:\j2sdk1.4.0,j2ee安装在c:\j2ee,读者可根据安装的目录自定。安装后,配置的环境变量如下,
  CLASSPATH=.;C:\j2sdk1.4.0\lib\tools.jar;C:\j2ee\lib\j2ee.jar;
  J2EE_HOME=c:\j2ee
  java_HOME=C:\j2sdk1.4.0
  Path=C:\j2sdk1.4.0\lib\tools.jar;C:\j2sdk1.4.0\lib\dt.jar;C:\j2sdk1.4.0\bin;C:\j2sdk1.4.0\jre\bin;
  如果Path变量有其他的值,请在后面续接此处的值。
  在windows2000XXX中,开始->设置->控制面板->系统->高级->环境变量->系统变量中设置上述的值。在window9X中,上述的变量写在autoexec.bat文件中,格式是变量=值(回车)。
  测试jdk是否可用的方法是在c盘下新建一个Test.java文件,写入以下代码
  import java.util.Date;
  public class Test
  {
  //构造函数
  public Test(){}
  //显示当前时间的方法
  public String getDate()
  {
  Date date=new Date();
  return date.toString();
  }
  }
  在dos状态下,键入C:\>javac ./Test.java,编译通过后,同目录下新增Test.class,说明jdk成功安装。测试j2ee:在dos状态下,键入C:\j2ee\bin>j2ee -verbose,如果启动的过程中没有错误,不要关闭窗口,在IE浏览器中访问HTTP://localhost:8000,看到默认的j2ee主页,由此可看出j2ee除了自带工具包外还可以充当web服务器的角色。
2. jbuilder、jboss、ms sql2000配置
  开发ejb应用系统,较好的开发发布的工具组合是websphere+visualAge,两者都是ibm出品,协同工作性非常好,包括建模、版本控制、ejb开发、web发布等一体化,让程序员从底层的ejb开发中解放出来。但该组合的价格大概是十万人民币,不是每个客户都可以承受的,所以我们推荐另一个组合:jbuilder7+jboss3,数据库选择微软的sql server2000(简称sql2000)。部分介绍参考了刘晓巍(liuxiaowei2000@sina.com)的文章,并加入作者的见解。
  jboss每一个版本的差别很大,它不象传统的软件兼容性好。此例jboss的版本是jboss-3.0.4_tomcat-4.0.6,下载地址:http://prdownloads.sourceforge.net/jboss/jboss-3.0.4_tomcat-4.0.6.zip?download。
  数据库sql2000和jboss一起协同工作,有两种方式,一种是odbc-jdbc,一种是jdbc。许多web服务器自带odbc-jdbc驱动,无需下载,在控制面板->管理工具->数据源(odbc)中设置数据源即可使用,但如果要开发ejb,要使用jdbc驱动。很多公司提供ms sql2000的jdbc驱动(属第四种类型驱动,即纯java驱动),作者建议大家到微软的官方站点下载:http://www.microsoft.com/downloads/details.aspx?FamilyID=86212d54-8488-481d-b46b-af29bb18e1e5&DisplayLang=en。下载后安装,默认安装路径是C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC,jdbc的驱动包在lib中,分别是msbase.jar、mssqlserver.jar、msutil.jar。
jboss和jbuilder协同工作,需要下载并安装JBossOpenTool For JBuilder 7,下载地址:http://weisoft.myrice.com/download/JBuilder_JBossOT.jar。将下载的JbossOpenTool.jar拷贝至Jbuilder7的lib\ext目录下,重启动JBuilder。
  准备工作完成后,我们开始配置工作:
一、在jboss中配置sql2000的JDBC驱动
  将msbase.jar, msutil.jar, mssqlserver.jar三个文件拷贝至Jboss的Server\default\lib目录下。将Jboss的docs\examples\jca目录下的mssql-service.xml, mssql-xa-service.xml文件拷贝至Jboss的server\default\deploy目录下,修改mssql-service.xml,/*…..*/中是说明文件,千万不要拷贝到该xml文件中。
<config-property name="ConnectionURL" type="java.lang.String">
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind
</config-property>
/*------sql2000默认端口是1433,如果sql2000和jboss分装不同机器,则localhost要改成数据库的ip地址,数据库选择sql2000自带的Northwind数据库,你可以改成别的数据库------*/
<config-property name="UserName" type="java.lang.String">sa</config-property>
/*------数据库的用户名----*/
<config-property name="Password" type="java.lang.String">csdn</config-property>
/*------与数据库用户名对应的密码------*/
修改mssql-xa-service.xml,ServerName、DatabaseName要和上个文件的一样。
<config-property name="XADataSourceProperties" type="java.lang.String">
ServerName=localhost;DatabaseName=Northwind;SelectMethod=cursor
</config-property>
二、运行jboss
  运行“jboss安装目录\bin\run.bat”,打开IE,在地址栏输入 http://localhost:8080,出现一些错误信息,大意是没有web应用程序等,读者可以先在“jboss安装目录\server\default\deploy”中新建一个简单的web应用程序,或者等待后面用jbuilder中发布一个web应用,如果需要新建,步骤如下:
“jboss安装目录\server\default\deploy”中新建文件夹db_test.war,在db_test.war中新建index.jsp,内容如下:
<%@page contentType="text/html"%>
<%@ page import="java.sql.*, javax.sql.DataSource, javax.naming.InitialContext" %>
<h3>Test sql2000 Database</h3>
<%
InitialContext ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:/MSSQLDS");
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM Employees"); while ( rs.next() ) {
out.println( rs.getInt(“EmployeeID”) + "<br>");
}
conn.close();
%>
在db_test.war中新建文件夹WEB-INF,其中有两个文件jboss-web.xml和web.xml
jboss-web.xml内容是
<jboss-web>
</jboss-web>
web.xml内容是
<?xml version="1.0"?>
<!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></web-app>
访问http://localhost:8080/db_test,成功后表示和数据库正常连接了。
三、配置JBuilder
  (1)启动jbuilder,Tools->Enterprise Setup,单击Database Drivers页上的Add, 在弹出的对话框中单击New,. 在弹出的对话框中填写Name为MS SQL Server JDBC, Location选择User Home,单击Add按钮,选择msbase.jar, msutil.jar, mssqlserver.jar,单击OK关闭当前对话框,可以看到MS SQL Server JDBC已被加入,单击OK关闭当前对话框,再次单击OK,配置完成。
  (2)重起JBuilder 7,Tools->Configure Servers,选中左侧的JBoss 3.X,选中右边的Enable Server,填写:
General页:Home Directiry = F:\jboss-3.0.4_tomcat-4.1.12 // <——JBoss的安装目录
Main Class = org.jboss.Main
VM Parameters =-ms64m -mx64m -Dprogram.name=run.bat
Server Parameters = -c default
Working Directory = F:\jboss-3.0.4_tomcat-4.1.12\bin
Custom页:JBoss Installation Directory = F:\jboss-3.0.4_tomcat-4.1.12 // <——JBoss的安装目录
Tomcat 4X JBuilder Installation Directory = F:\JBuilder7\jakarta-tomcat-4.0.3 //<——Tomcat的安装目录
JBoss Configuration to Use = default
单击OK。
  (3)Tools—>Configure Libraries, 在弹出的对话框中单击New按钮,在Name栏中填写JBoss Libs,单击Add按钮,加入JBoss目录下\Server\default\lib目录下的javax.servlet.jar和jboss-j2ee.jar文件,单击OK。
  (4)Tools—>Database Pilot,新打开的“Database Pilot”窗口是察看数据库的,相当于数据库服务器的客户端,选择File—>New…,
Driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
URL=jdbc:microsoft:sqlserver://localhost:1433;DatabaseName= Northwind
单击OK,在左边窗口出现我们新建的数据库连接,双击,输入用户名密码就可以浏览数据库Northwind中的数据表。注意此处URL的写法要刚刚配置的jboss的xml文件一样。
  如果读者没法连上数据库,可以把sql2000的jdbc驱动msbase.jar、mssqlserver.jar、msutil.jar拷贝到“jbuilder安装目录\lib”中。
3. 在jbuilder中开发ejb
  一、新建一个Project:选择File->New Project,在Name栏填写JBossDemo,在Directory栏输入保存路径,其它不变,单击Finsih。选择Project->Project properties,在Path页的Required Libraries中单击Add按钮,在弹出的对话框中选择我们刚才建立的JBoss Libs,单击OK。选择Server页,选中Single Server For All Service in Project,在下拉列表中选择JBoss 3.X,单击OK。
  二、新建一个EJB Module:选择File->New,在弹出的对话框中选择Enterprise页中的EJB Module图标,单击OK。在弹出的对话框中Name栏填写JBossDemoModule,其它不变,单击OK。
  三、新建两个CMP:右键单击左下角的DataSource,选择Import Schema From Database,在弹出的对话框“Database Schema Provider”中选择“Choose Existing Connection”,在弹出的“Select Database”中选择我们刚建立的“jdbc:microsoft:sqlserver…”,单击ok,在“Database Schema Provider”中,按如下信息填写,其他不变:
UserName:sa
Password:csdn
JNDI Name:java:/MSSQLDS
Extended properties:DatabaseName=Northwind
勾选All Schemas和Views项
单击OK。成功的话,在DataSource下面将出现一个java:/MSSQLDS项,单击其左侧的+号,将其展开,将会看到表名。右键单击Employees表,选择CMP 2.0 Entity Bean, 同样右键单击Orders表,选择CMP 2.0 Entity Bean。
  四、建立表关联的关系:右键单击右侧的代表Employees表的矩形,选择Add->Relationship后,单击指向代表Oderss表的矩形后,将会看到一条线把两个矩形连接起来了,同时Employees表多了一个orders字段。单击右下角的JBossCMP-JDBC页,按如下填写,其它不变:
datasource = MSSQLDS
datasource-mapping = Hypersonic SQL
选择File->Save All保存项目。选择Project->“Make Project JbossDemo.jpx”编译项目。
  五、建立Session Bean:在右边的空白处单击右键,选择Create EJB-> Session Bean, 将Bean Name改为GetData,右键单击代表这个Session Bean的矩形,选择Add->Method,按如下填写:
Method Name = GetOrdersByEmployeesID
Return Type = Vector
Input Parameters = Integer ID
Interface = Remote
  

原文转自:http://www.ltesting.net