WebLogic 安装与配置指南
Version: 1.2
Author:DuJiang <webmaster@syinfo.com>
LastModifyData: 2002-0 7-15
With Computer System (Dalian) Inc.
 
一、BEA Weblogic简介:
BEA WebLogic Platform TM 7.0是 BEA公司一套基于J2EE功能强大的电子商务套件,提供了许多功能强大的中间件以方便编程人员编写的JSP、SERVLET等电子商务应用,可以为企业提供一个完整的商务应用解决方案。
BEA WebLogic Platform TM 7.0 通过一个统一的、简便的和可扩展的构建体系,让企业能够提高生产力和降低成本。 BEA WebLogic Platform 7.0 包含 BEA 产品中所特有的应用基础结构技术,其中包括 BEA WebLogic Server TM、BEA WebLogic Portal和BEA WebLogic Integration。这些技术与BEA WebLogic Workshop结合起来,为应用开发、部署和管理提供了单一的、统一的、易用的基础结构平台。
    BEA WebLogic Platform 7.0 提供:
  • 统一性
    融开发、门户和集成框架入一体的集成服务器为全面满足企业的应用需求,提供了单一的解决方案。这个平台减少了产品学习、集成、支持和维护的工作量,从而可以降低企业成本,满足业务需求,并充分发挥已有基础结构资产的效益
  • 简便性
    通过简化应用开发、部署和管理,提高了生产效率。其集成的开发框架让开发人员(不仅仅是J2EE专家)快速开发和部署企业级Web Service应用。简便的部署和管理将降低维护的要求,从而降低应用维护成本,并让企业专注于业务目标的实现,而不是技术的管理。
  • 可扩展性
    开放的可扩展性使BEA WebLogic Platform 7.0成为最好的选择,并让企业充分发挥已有和将来投资的效益。它使用户能够自由选择最适合自身需求的产品,降低风险并充分满足用户当前及日后需求。BEA WebLogic Platform 7.0 承诺带来的充分集成应用环境,既能适应集成大范围遗留的应用服务需求又解决了构建和部署新的基于Java的 Web Services的需求。BEA创造了一个基于标准的环境,简化了复杂的J2EE代码并提供了强大的管理性能
二、Weblogic下载及安装:
对于 JAVA开发人员, WebLogic 可以在 http://www.bea.com 免费下载一套完整的 WebLogic7.0,也可以到BEA中国公司的网站上填写一个窗体索取试用版的光盘。我们还得到Weblogic的一个限制了 IP 的license,用于学习和开发基于这个套件的代码。而要是需要正式的投入使用的话,那么就必须支付一定的费用获取没有限制的license。由于这个套件基于这种发布方式,对于一般网站开发人员可以很轻易地得到 WebLogic 用于学习开发,当然投入使用是需要付费的。
    下载后的 weblogic700_win.exe大小为87M左右,启动后将自动解压安装。
Weblogic7.0 的安装过程:
1、   安装的启动画面,表示正在解压安装。
2、选择安装的语言种类,这里只有 “英语”一种选项供选择。
3、欢迎画面,点击 “NEXT”进入到下一步。
4、 BEA LISENCE画面,点击YES,同意协议,下一步。
5、选择你要安装的目录或新创建一个新的安装目录
6、选择安装方式:本例为典型 (Tyical Installation),如果你选择安装定制方式,会提示需要安装的组件,包括服务器组件和它提供的一些样例源代码和工程文文件:
7、询问用户 Weblogic程序文件安装的目录,选择下一步。
8、 Weblogic7的安装进度
9、通知用户安装完毕,所在目录为 e:\bea\weblogic700,点击“DONE”结束安装。
10、安装完成的目录结构:
 
C:\bea>dir
 驱动器 C 中的卷没有标签。
 卷的序列号是 1919-1BE5
 C:\bea 的目录

2002/07/12 10:46        <DIR>          .
2002/07/12 10:46        <DIR>          ..
2002/07/12 10:46        <DIR>          weblogic700
2002/07/15 10:24                   761 UpdateLicense.cmd
2002/07/12 10:47        <DIR>          utils
2002/07/12 10:43        <DIR>          jdk131_02
2002/07/15 10:27                11,242 license.bea
2002/07/15 10:28                   712 registry.xml
2002/07/12 10:49        <DIR>          logs
2002/07/12 10:51        <DIR>          user_projects
2002/07/15 10:27                 5,549 license_new.bea
二、Weblogic 7.0安装时的配置
1、选择 “开始”->“程序->“BEA WebLogic Platform 7.0”,然后选择“Configuration Wizard”进行工程的配置。1)Choose Domain Type And Name:
 选择 WLS Domain.
2、   选择服务器的运行方式,
Choose Server Type:
 a.Single Server
 b.Admin Server with Managed Server(s)
 c.Admin Server with Cluster Managed Server(s)
 d.Managed Server
 说明:
   a.单机版(试用于学习者使用)
   b.类似于6.1版本的默认安装,是Managed Server和Admin Server集成在一起。(用于远端控制,其他的Server之用)
   c.集群Server 和 Admin Server 集成在一起。(只有特大的系统才会用到)
   d.单纯的Managed Server 。(只作业务,不做管理,本地不保存config.xml信息)
鉴于这里大部分朋友都是自学,所以我们选择Single Server。这里为 Single方式。
3、 用户工程文件存放的目录,默认为 “c:\bea\user_projects\”,选择“下一步”。 至于更改该目录后有没有问题,我不知道。
4、   Weblogic的配置窗口,其中: myserver为主机名,HTTP服务的埠默认为7001,可以改变,对于单机版不用写,默认是localhost,如果想写可以写自己的IP。
5、   管理该服务器的用户名和密码,然后点击 “下一步”。
在 Weblogic7之前默认账号为system,现在用户可以自定义管理账号了。
6、Install Sever as Windows Service: NO!(意思是将其加到WIN2000系统的服务列表内,由系统自动启动,相对来说还是手动控制较灵活)
6、   是否将程序项安装到开始菜单,为了执行方便,选择 “YES”。
7、配置信息确认,选择 ”Create”创建这个Web Service。
8、结束配置。如果还要添加其它选项,还可以再次运行该向导。
说明:
    因为 Weblogic7自带了JDK1.302,所以你可以无需再安装其它JDK版本,而且笔者极力推荐你使用它自已的JDK,以免出现不必要的麻烦。
需要说明的是,启动 Weblogic7之前需要在系统环境变量中加入:
    变量名: JAVA_HOME
    值: %you_bea_home%\jdk131_02 本例为e:\bea\ jdk131_02
    即可。
    其实 Weblogic6与7并无大的区别,笔者的感觉就是目录结构,7要比6清爽得多,对于开发人员来讲管理要方便得多。
 
附录:
Weblogic6.0 的安装与配置
1、安装 Weblogic到一个目录,如d:\下。
2、 把 crack.jar拷到 bea\wlserver6.1\lib目录下,将bea\wlserver6.0\config\mydomain目录中的startWebLogic.cmd 文件中的set CLASSPATH=.;.\lib\weblogic_sp.jar;.\lib\weblogic.jar(如果没有weblogic_sp.jar,需删掉.\lib\weblogic_sp.jar;)改为: set CLASSPATH=.;.\lib\crack.jar;.;.\lib\weblogic_sp.jar;.\lib\weblogic.jar(如果在你的项目中使用有其它的jar檔,必须把你的jar檔加在这里。)
3、把系统环境变量 TMP、TEMP改为不带有空格的目录;在JB6里菜单 Project - Default Proj
ect Properties- Paths 中把所有带空格的目录改为不带中文名、空格的目录。
WebLogic 默认的 WEB埠为7001,我们可以在打开一个浏览器输入地址
1.      测试是否能连接得上。Weblogic6.0默认就支持 jsp.
6.0默认安装了三个 domain.分别是examples、mydomain和petstore
我们以 mydomain为例,你的jsp文件可以直接放到
d:/bea/wlserver6.0 /config/mydomain/applications/ DefaultWebApp_myserver目录下(个人依据实际情况对d:/bea/wlserver6.0做相应改动)
DefaultWebApp_myserver是6.0缺省的一个web application,我们直接使用就可以了
2.      访问你的jsp文件 http://127.0.0.1:7001/xxx.jsp
3.使jsp支持javabean
   在mydomain目录下新建目录serverclasses
修改mydomain目录下的startWebLogic.cmd
   在set CLASSPATH=…….一行的最后加入
;.\config\mydomain\serverclasses
你在jsp中所使用的javabean就可以放到mydomain/serverclasses下使用
3.      Weblogic6.0的console是在浏览器中实现的访问方法
 
Weblogic6.0 Connection Pool DataSource 的创建与使用
注意
l          以下文档都是以mydomain为例
l          本系列文档都是使用相同的配置,即使用以前文档的配置,
 
1.      将附件中的classes12.zip拷贝到wlserver6.0\lib目录下
2.      修改config\mydomain\startWebLogic.cmd文件,在set CLASSPATH=。。。一行的最后加入如下语句
;.\lib\classes12.zip
3. 修改mydomain\config.xml文件,在最后加入如下语句
<JDBCConnectionPool
      CapacityIncrement="1"
      DriverName="oracle.jdbc.driver.OracleDriver"
      InitialCapacity="2"
      MaxCapacity="4"
      Name="OracleThinPool"
      Properties="user=scott;password=tiger;dll=ocijdbc8;protocol=thin"
      Targets="myserver"
      URL="jdbc:oracle:thin:@10.2.20.46:1521:ambow"//此处根据你的服务器地址做调整//
 />
<JDBCTxDataSource
      JNDIName="bbb.OracleThintxds"
      Name="otxds"
      PoolName="OracleThinPool"
      Targets="myserver"
/>
4.       将附件中的sss.class拷贝到mydomain\applications\bbb\WEB-INF\classes目录下
5.       修改mydomain\applications\bbb\WEB-INF\web.xml文件,在
   <web-app>
。。。。。。
。。。。。。
</web-app>
之间加入如下语句
<servlet>
    <servlet-name>DataSourceTest</servlet-name>
    <servlet-class>sss</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>DataSourceTest</servlet-name>
    <url-pattern>/dst/*</url-pattern>
</servlet-mapping>
6.       启动Weblogic Default Server
7.       访问我们的例子 http://127.0.0.1:7001/bbb/dst
 
WebLogic6.0 Ejb 的使用
Webloigc的安装路径请根据实际情况做修改
1.       首先需要把
d:\bea\wlserver6.0\lib\weblogic.jar;d:\bea\utils\utils.jar设置到CLASSPATH里面
2.       编译三个源文件(见附件),
myString.java
myStringEJB.java
myStringHome.java
比如此3个源文件在d:\ambow下,
cd d:\ambow
javac my*.java
 
生成3个类文件,
myString.class
myStringEJB.class
myStringHome.class
 
3。在与三个class文件 同级的目录下新建目录META-INF,即d:\ambow\META-INF
4。将附件中的两个xml文件拷贝到新建的META-INF目录下,xml文件中语法的相关含义,请参考weblogic6.0相关文档
5。打包文件使用jar命令
  
jar cvf myString.jar myStri*.class -C META-INF/ weblogic-ejb-jar.xml META-INF/ejb-jar.xml
 
 
 
 
 


 

                                    注意此前有一空格
 
运行完该命令后在D:\AMBOW目录下生成myString.jar
 
6。 使用weblogic的Ejbc命令生成相关代理类
在d:\运行
 java weblogic.ejbc ambow\myString.jar d:\myString.jar
这样就会在d:\下生成我们可以直接发布的jar文件
 
7。 Deploy
请大家使用Weblogic console来deploy Ejb
Deployments->EJB-> Install a new EJB...
暂时不用下面的方法来deploy
d:\ java weblogic.deploy -host 127.0.0.1 -port 7001 deploy yourpassword myString.jar
 
 


 

经过 Ejbc 处理过的 jar 文件
 
8。 测试Ejb使用附件中的一个InvEjb.java(Servlet)
 
编译此文件时,需要Home和Remote两个InterFace,
即myString.class和myStringHome.class两个文件,只要这两个文件在classpath里面就可以。可以把InvEjb.java放到d:\ambow下进行编译,因为所需要的两个接口文件就在那里,或者把任何一个(不管是否已经被Ejbc处理过)myString.jar设置到classpath里.
 
把InvEjb.class拷贝到
D:\bea\wlserver6.0\config\mydomain\applications\bbb\WEB-INF\classes下
 
 
修改mydomain\applications\bbb\WEB-INF下的web.xml;文件
增加如下语句
<servlet>
    <servlet-name>InvocateEjb</servlet-name>
    <servlet-class>InvEjb</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>InvocateEjb</servlet-name>
    <url-pattern>/InvEjb/*</url-pattern>
</servlet-mapping>
9。 将myString.class和myStringHome.class拷贝到
    D:\bea\wlserver6.0\config\mydomain\serverclasses目录下
10。 保存相关文件后,启动Webloigic,访问如下地址
 
Weblogic 中使用 Servlet
本文当适合于个人开发时使用,项目 deploy时会有专门的人负责的
为方便起见,请先完成相应的修改后,再启动 Weblogic
以下操作有些是本来可以在console中完成的,但是由于目前console有些问题,故我们这里直接改动相关文件,以config/mydomain为例子。
1.首先,新建一个Web Application,方法如下
   打开mydomain下的config.xml,在最后的</Domain>语句之前追加入如下语句
<Application
      Deployed="true"
      Name="bbb"
      Path=".\config\mydomain\applications"
 >
      <WebAppComponent
        Name="bbb"
        Targets="myserver"
        URI="bbb"
      />
</Application>
 保存。
2.在mydomain/applications目录下新建目录bbb
   在bbb目录下建WEB-INF目录
   在WEB-INF目录下新建classes
3.将附件中的web.xml拷贝到bbb\WEB-INF下
 对 web.xml部分语句的介绍
。。。。。。。。。。。。
。。。。。。。。。。。。
<web-app>
 <display-name>sglzhh</display-name>
 
 <servlet>定义Servlet
    <servlet-name>hhh</servlet-name>
    <servlet-class>hwe</servlet-class>
 </servlet>
 
 <servlet-mapping>
    <servlet-name>hhh</servlet-name>
    <url-pattern>/sglzhh/*</url-pattern>注意这里的“ *”,下面会用到的
 </servlet-mapping>
 
</web-app>
 
4.将附件中的hwe.class拷贝到mydomain/applications/bbb/WEB-INF/classes目录下
5.启动Weblogic6.0的default Server
6.访问我们的小例子
注意,这里的 bbb 是我们新建的 web application.
sglzhh 是我们的 servlet 所被映射的名字
映射时加了 /* ,则访问时,不管我们在 http://127.0.0.1:7001/bbb/sglzhh 后面加什么文件名,都显示该 servlet 的内容
  例如:
 http://127.0.0.1:7001/bbb/sglzhh
http://127.0.0.1:7001/bbb/sglzhh/kkk.jsp
http://127.0.0.1:7001/bbb/sglzhh/mm.html
输出结果都是一样的
如果个人想根据自己的爱好对设置做相应改动,请先调通此文档的例子
 
三、JBuilder6 与Weblogic集成开发环境的配置
1、 打开 Tools-Enterprise Setup-Application Server,在Weblogic6.x的书签页上,填上BEA home directory(在你安装weblogic时需要指定)和Weblogc installation directory等所有的空白路径。在这以后,你打开Tools-Configure Libraries的话,在左边可以看到已经有了两个WebLogic6.x的包(包括deploy和client),里面的jar(主要是一个weblogic.jar,一个weblogic_sp.jar。其中weblogic_sp.jar是为了给你的weblogic打补丁的时候准备的,你如果没有可以删掉。)都是6.1版本的。
2、 在 Tools--Enterprise Setup--Application Server面板下选择Weblogic 6.x把Weblogic installation directory 设置为D:/bea/wlserver6.1 (这样你的jsp也可以用weblogic了);
BEA home directory 设置为 D:/bea ,然后点确定。
在菜单 Project下点击Default Project Properties,选择Servers面板,点击Application server有面的按钮---“….” ,双击应用服务器选择对话框中的Weblogic Application Server 6.x 修改 VM parameters 为:-ms6
4m -mx64m -Djava.library.path=C:/bea/wlserver6.1/bin -Dbea.home=C:/bea -Dweblogic.Domain=mydomain -Dweblogic.Name=myserver -Djava.security.policy==C:/bea/wlserver6.1/lib/weblogic.policy -classpath .;.\lib\weblogic_sp.jar;.\lib\weblogic.jar; .\lib\ mm.mysql-2.0.14-bin.jar(如果在你的项目中使用有其它的 jar檔,必须把你的jar檔加在这里。)-Dweblogic.management.password=123
点“ OK”确定。
3、 在 Tools-Enterprise Setup-CORBA标签页里,点Configuration右边的New...,增加一个“Weblogic”的项; 在Path for ORB tools下,加入Weblogic的目录;在Library for projects下,点"..."加入 Weblogic6.x deploy 的库;在compiler command 填上idlj.exe;在Command option for output directory 填上一个目录路径,但是要注意的是,不能是中文、带空格。
4、 Project-Default Project Properties-Servers 点"..."。这里选择Application Server ,当然又是选Weblogic6.x。这时候JB6会自动完成对在Project-Default Project Properties-Path-Required Libraries选Weblogic6.x deploy和Weblogic6.x client,Project-Default Project Properties-Build -IDL在 IDL compiler 选Weblogic。关闭Jbuilder. WebLogic配置完成.
下面是制作 Entity Bean,数据库是mysql。在mysql中建表:
首先在数据库中创建一个用来测试的表,数据库名 test 表名 test 我们设置两个字段:
name vrachar(15)不允许为空主键
addr varchar(50)允许为空
 
四、Weblogic的布署与管理
EJB在 WEBLOGIC下的开发部署过程:
1、按规范创建好目录结构,编写 BEAN原文件;
2、编译成 CLASS;
3、用 ant实用工具为EJB生成部署描述檔框架;
4、用 jar将程序目录打包成压缩挡;
5、将压缩文件拷贝到 APPLICATIONS目录下;以开发模式启动weblogic;
6、现在应该可以在 CONSOLE中看到你拷贝进去的新EJB,但是ant刚才自动生成的描述檔不可能完全符合你的要求,在console中修改。
7、自动或手动地 redeploy,直到最后符合自己的要求。
五、在Weblogic中建立MySQL数据库连接池
1.打开开始菜单中的执行 Weblogic目录下的Start Default Server,输入管理密码,本例为”123”,启动Weblogic。
2.启动 ”Start Default Console”,弹出浏览器窗口:
在密码窗口中输入用户名 ”system” 密码 “123” 进入控制台,在左面菜单中找到”JDBC”项,打开他你会发现子菜单中有一项为”Connection Pools”,右击该项,然后选择 ”Configure a new JDBC Connection Pool...” 配置连接池属性如下表:
Name MySQL Connection Pool
URLjdbc: jdbc:mysql://localhost/user  /user为数据库名 /
Driver Class name org.gjt.mm.mysql.Driver 在本例中为 MySQL数据库,可以为其它数据库的JDBC驱动
Properties(key=value):
port=3306
user=root
db=board
password=123
server=fancy fancy为 HOST名字
书写顺序可以自已随意定,完成后点击 Creat按钮。
如果是 ORACLE数据库,前两项是这样的,帐号根据您的数据库设置:
URL : jdbc:weblogic:oracle
Driver Classes : weblogic.jdbc.oci.Driver
Properties (key=value): user=xixi
password=haha server=your_tnsname
3.点击 Targets标签,选中myserver,把它移入Chosen项,点击Apply。如果你配置有错,旁边的惊叹号会闪烁提示你在此处填写有错,需要更改。
4. ”JDBC”项中选中 Data Sources,右击该项,然后选 ”Configure a new JDBC Connection Pool...” 配置数据源。
属性如下表
Name: MySQL Data Source
JNDI Name: mysql
Pool Name: MySQL Connection Pool
剩下的保持默认就可以,点“ Creat”。
5.点击“ Targets”标签,选中“myserver”,把它移入“Chosen”项,点击“Apply”。
6.关闭控制台和 Weblogic服务。现在连接池和数据源已经建好了。
在Jbuider中测试
1.打开 Jbuilder,新建一个名为hello项目,并在wizard的第2步中,Required Libraries中添
加上 Weblogic 6.1。
2.新建一个名为 HelloWorld的EJB Moudle。
3.新建一个 Enterpris JavaBean 1.x,选择HelloWorld组,点击下一步。package选择hello,
 Class name为“ FistBean”,options选择Container managed persistence EJB 1.1 entit
y bean 然后点下一步。点击 Finish。
4.项目下共有 3个文件分别是
First.java, FirstHome.java,FirstBean.java
在 First.java中加入
public java.lang.String getAddr() throws RemoteException;
public java.lang.String getName() throws RemoteException;
public void setAddr(java.lang.String addr) throws RemoteException;
public void setName(java.lang.String name) throws RemoteException;
在 FistBean.java中
先删掉其中的:
public String ejbCreate() throws CreateException {
/**@todo: Implement this method*/
return null;
}
public void ejbPostCreate() throws CreateException {
}
加入
public String name;
public String addr;
public String ejbCreate(String name,String addr) throws CreateException, RemoteE
xception {
setName(name);
setAddr(addr);
return null;
}
public String ejbCreate(String name) throws CreateException, RemoteException {
return ejbCreate(name,null);
}
public void ejbPostCreate(String name,String addr) throws CreateException, Remot
eException {
}
public void ejbPostCreate(String name) throws CreateException, RemoteException {
}
public void setName(String name){
this.name = name;
}
public void setAddr(String addr){
this.addr = addr;
}
public String getName(){
return this.name;
}
public String getAddr(){
return this.addr;
}
在 FirstHome.java中
删掉:
public First create() throws RemoteException, CreateException;
加入:
public First create(String name) throws CreateException, RemoteException;
public First create(String name,String addr) throws CreateException, RemoteExcep
tion;
 
5.点击左面菜单中的 HelloWorld,然后双击下面的First, 点击右面窗体下面的Resource Re
ferences标签,点击面板上的 Add按钮,在跳出的输入对话框中输入”First”点ok,选择typ
e为 java.sql.DataSource。选中First,在下面JNDI Name框中输入hello.FirstHome。选中下
面的 cmp选项。
在 WebLogic6.x properties标签中,第一行(data-source-name)中加入mysql
6.展开 First,双击cmp1.1,table(s)输入”test”,容器管理表内容如下
isCMP isPK Field TypeColumn Name(s)Column Type
选中 选中 name namevarchar(15)
选中 不选 addr addrvarchar(50)
7.右击 EJB Deployment Descriptor下的JDBC1 DataSources 新建一个名为mysql的数据源,
配置如下:
JNDI name mysql
URLjdbc: jdbc:mysql://localhost/test
User name root
Password
Driver class name org.gjt.mm.mysql.Driver
配置完成点击“ Test Connection”如正确则显示
Attempting to connect to database...
Connection succeeded.
如果显示下面的信息
Attempting to connect to database...
Driver not on classpath.
Add the driver to the classpath using the Set Classpath command.
则表示数据库的 jdbc驱动并不在classpath里,把数据库的驱动添加到项目的Required Libr
aries中去。
8.双击左边的 HelloWorld,然后点击右面窗口中的 EJB DD Source ,然后选weblogic-cmp-r
dbms-jar.xml找到 datasource修改为mysql.
9.保存后按 Ctrl+F9编译,应该没有问题。
10.新建一个 Test EJB Client 全部采用默认设置即可。
11.再 main方法里面找到 FistTestClient1 client = new FistTestClient1();
然后再后加入下面的代码:
First ff=client.create("testName","testAddr");
try {
System.out.println(ff.getName());
System.out.println(ff.getAddr());
}
catch (java.rmi.RemoteException ex) {
ex.printStackTrace();
}
然后,保存编译。
12.右击 HelloWorld,选RUN, 完成后再选Deploy Options for “HelloWorld.jar”;Deploy
13.完成后 start default console,用户名密码分别是 system和12345678 在控制台的左面
菜单里打开 EJB选中HelloWorld,然后再右面窗口中选Targets 把myserver变成Chosen .
14.回到 jbuilder中把运行中的Server停掉,然后再重新右击HelloWorld,选RUN。
15.右击 FistTestClient1.java 点RUN,如显示下面的信息则表示运行成功
D:\JBuilder6\jdk1.3.1\bin\javaw -classpath "C:\java\jbuilder\hello\jbproject;D:\
bea\wlserver6.1\lib\weblogic.jar;D:\JBuilder6\lib\jbuilder.jar;D:\JBuilder6\lib\h
elp.jar;D:\JBuilder6\lib\gnuregexp.jar;D:\JBuilder6\jdk1.3.1\demo\jfc\Java2D\Java
2Demo.jar;D:\JBuilder6\jdk1.3.1\jre\lib\i18n.jar;D:\JBuilder6\jdk1.3.1\jre\lib\ja
ws.jar;D:\JBuilder6\jdk1.3.1\jre\lib\rt.jar;D:\JBuilder6\jdk1.3.1\jre\lib\sunrsas
ign.jar;D:\JBuilder6\jdk1.3.1\lib\dt.jar;D:\JBuilder6\jdk1.3.1\lib\htmlconverter.
六、 JBuilder7+WebLogic7存取MS SQL Server
1、 JBuilder7+WebLogic7 的配置
假设 Jbuilder7和WebLogic7安装完毕,操作系统为:windows2000 server(SP2),数据库为: SQLServer2000(SP2)。
JBuilder7的配置:
1、修改环境变量 TEMP和TMP 为不带空格的目录如:E:\winnt\temp
2.、启动 Jbuilder7,选择:Tools->Configure Servers
3.、选中左侧的 Weblogic Application Server 6.x+,选中右边的Enable Server
4、将 General->Home Directory设为WebLogic7的Home Directory如:E:/bea/weblogic700/server,正常的话Jbuilder7将自动为你添好其他的项。
5、将 Custom->JDK Installation Directory设为 JDK的安装目录,如:E:/bea/jdk131_02
6、将 Custom->BEA Home Directory设为WebLogic7的Home Director,如:E:/bea
7、将 Custom->Domain Directory设为你的域目录,如:E:/bea/user_projects/mydomain
8、添好 User name, Password ,Domain name, Server name后,单击OK退出。
9、选择: Tools->Enterprise Setup,单击CORBA页上的New, 按下表填写相应信息:
Name for this configuration = WelLogic 7.0
Path for ORB Tools = E:/bea/weblogic700/server
Library for Projects = WebLogic 6.x+ Deploy
IDL compiler command = idlj.exe
Commnad option for output directory = E:\CORBAOutput(任意目录,不要有空格 )
单击 OK退出。
10.选择 Project->Default Project properties
在 Path页的Required libraries中将会看到WebLogic 6.x+ Client和WebLogic 6.x+ Deploy两项,如果没有,请检查以上步骤是否正确。
11.选择 Server页,单击Single services for all service in project
    在下拉列表中选择 WebLogic Application Server 6.x+,但击OK退出,配置完毕。
WebLogic7的配置:
1.  启动WebLogic7
2.  打开IE6,在地址栏中输入:http://localhost:7001/console
3.  输入用户名和密码
4.  在左边的目录树中选中Services->JDBC->Connection Pools,单击右侧的Configure a new JDBC Connection Pool.,输入以下信息:
Configuration->General页:
Name = SQL Server Connection Pool
URL = jdbc:weblogic:mssqlserver4:northwind@localhost
Driver classname = weblogic.jdbc.mssqlserver4.Driver
Properties : user = sa
Password = “” <- sa的密码
单击 Create建立连接池。
Targets->Server页:
将 myserver(服务器名称)移至右侧的列表中,但击单击Apply
5.  在左边的目录树中选中Services->JDBC->Data Sources(或者TXData Sources),单击右侧的Configure a new JDBC Connection Pool.,输入以下信息:
Configuration->General页:
Name = SQLServer Tx Data Source
JNDI Name = SQLServer
Pool Name = SQL Server Connection Pool
选中 Emulate Two-Phase Commit for non-XA Driver和Row Prefetch Enabled
单击 Create建立数据源。
Targets->Server页:
将 myserver(服务器名称)移至右侧的列表中,但击单击Apply,配置完毕。
实战 1:连接SQLServer2000
1.  打开JBuilder7选择File->New project
在 Name栏中输入SQLServerDemo,Directory栏中输入存放路径(不要有空格),其他不变,单击Finish。
2.  选择File->New,选择General->Application,单击OK。
第一步,第二步和第三步都不用更改,直接 Finish即可。
3.  回到JBuilder7的集成开发环境中,单击右侧的Designer页设计窗体,在窗体中放入一个JscrollPane 和JtextArea 及三个按钮,双击第一个按钮输入以下代码:
    try
    {
      Class.forName("weblogic.jdbc.mssqlserver4.Driver");
      Connection con = DriverManager.getConnection("jdbc:weblogic:mssqlserver4:northwind@localhost","sa","");//此处根据你的 SQLServer帐户而定。
      Statement st = con.createStatement();
      ResultSet res = st.executeQuery("select * from employees");
      String line = "";
      while (res.next())
      line = line + res.getString("title")+"\n";
      jTextArea1.setText(line);
      con.close();
    }
    catch (Exception ex)
    {
      jTextArea1.setText("error : "+ex.getMessage());
}
双击第二个按钮输入以下代码
    Hashtable ht = new Hashtable();
    ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
    ht.put(Context.PROVIDER_URL,"t3://localhost:7001");
    try
    {
      Context ctx = new InitialContext(ht);
      DataSource ds = (DataSource)ctx.lookup("SQLServer");
      Connection con = ds.getConnection("system","12345678");//此处是 WebLogic7的域用户和密码
     Statement st = con.createStatement();
      ResultSet res = st.executeQuery("select * from employees");
      String line = "";
      while (res.next())
        line = line + res.getString("notes")+"\n";
      jTextArea1.setText(line);
      con.close();
    }
    catch (Exception ex)
    {
      jTextArea1.setText("error : "+ex.getMessage());
    }
运行 WebLogic7,运行程序单击第一个按钮使用JDBC直接连接SQLServer并获取数据,单击第二个按钮使用DataSource连接SQLServer并获取数据。
五、EJB工程的开发打包过程:
1、打开 Jbuilder6,新建一个名为hello项目,并在wizard的第2步中,Required Libraries中添加上Weblogic 6.1。
2.、新建一个名为 HelloWorld的EJB Moudle。
3、 .新建一个Enterpris JavaBean 1.x,选择HelloWorld组,点击下一步。package选择hello, Class name为“FistBean”,options选择Container managed persistence EJB 1.1 entity bean 然后点下一步。点击Finish。
4、项目下共有 3个檔分别是:
First.java, FirstHome.java,FirstBean.java
在 First.java中加入:
public java.lang.String getAddr() throws RemoteException;
public java.lang.String getName() throws RemoteException;
public void setAddr(java.lang.String addr) throws RemoteException;
public void setName(java.lang.String name) throws RemoteException;
在 FistBean.java中
先删掉其中的:
public String ejbCreate() throws CreateException {
/**@todo: Implement this method*/
return null;
}
public void ejbPostCreate() throws CreateException {
}
加入
public String name;
public String addr;
public String ejbCreate(String name,String addr) throws CreateException, RemoteE
xception {
setName(name);
setAddr(addr);
return null;
}
public String ejbCreate(String name) throws CreateException, RemoteException {
return ejbCreate(name,null);
}
public void ejbPostCreate(String name,String addr) throws CreateException, Remot
eException {
}
public void ejbPostCreate(String name) throws CreateException, RemoteException {
}
public void setName(String name){
this.name = name;
}
public void setAddr(String addr){
this.addr = addr;
}
public String getName(){
return this.name;
}
public String getAddr(){
return this.addr;
}
在 FirstHome.java中
删掉:
public First create() throws RemoteException, CreateException;
加入:
public First create(String name) throws CreateException, RemoteException;
public First create(String name,String addr) throws CreateException, RemoteExcep
tion;
 
5、点击左面菜单中的 HelloWorld,然后双击下面的First, 点击右面窗体下面的Resource References卷标,点击面板上的Add按钮,在跳出的输入对话框中输入”First”点ok,选择type为java.sql.DataSource。选中First,在下面JNDI Name框中输入hello.FirstHome。选中下面的cmp选项。
在 WebLogic6.x properties标签中,第一行(data-source-name)中加入mysql6.展开First,双击cmp1.1,table(s)输入”test”,容器管理表内容如下:
isCMP isPK Field TypeColumn Name(s)Column Type
选中 选中 name namevarchar(15)
选中 不选 addr addrvarchar(50)
7.右击 EJB Deployment Descriptor下的JDBC1 DataSources 新建一个名为mysql的数据源,配置如下:
JNDI name mysql
URLjdbc: jdbc:mysql://localhost/test
User name root
Password 123
Driver class name org.gjt.mm.mysql.Driver
配置完成点击 “Test Connection”如正确则显示
Attempting to connect to database...
Connection succeeded.
如果显示下面的信息
Attempting to connect to database...
Driver not on classpath.
Add the driver to the classpath using the Set Classpath command.
则表示数据库的 jdbc驱动并不在classpath里,把数据库的驱动添加到项目的Required Libraries中去。
8、双击左边的 HelloWorld,然后点击右面窗口中的 EJB DD Source ,然后选weblogic-cmp-rdbms-jar.xml找到 datasource修改为mysql.
9、保存后按 Ctrl+F9编译,应该没有问题。
10、新建一个 Test EJB Client 全部采用默认设置即可。
11、再 main方法里面找到 FistTestClient1 client = new FistTestClient1();
然后再后加入下面的代码:
First ff=client.create("testName","testAddr");
try {
System.out.println(ff.getName());
System.out.println(ff.getAddr());
}
catch (java.rmi.RemoteException ex) {
ex.printStackTrace();
}
然后,保存编译。
12、右击 HelloWorld,选RUN, 完成后再选Deploy Options for “HelloWorld.jar”;Deploy
13、完成后 start default console,用户名密码分别是 system和12345678 在控制台的左面
菜单里打开 EJB选中HelloWorld,然后再右面窗口中选Targets 把myserver变成Chosen .
14、回到 jbuilder中把运行中的Server停掉,然后再重新右击HelloWorld,选RUN。
15、右击 FistTestClient1.java 点RUN,如显示下面的信息则表示运行成功
D:\JBuilder6\jdk1.3.1\bin\javaw -classpath "C:\java\jbuilder\hello\jbproject;D:\
bea\wlserver6.1\lib\weblogic.jar;D:\JBuilder6\lib\jbuilder.jar;D:\JBuilder6\lib\h
elp.jar;D:\JBuilder6\lib\gnuregexp.jar;D:\JBuilder6\jdk1.3.1\demo\jfc\Java2D\Java
2Demo.jar;D:\JBuilder6\jdk1.3.1\jre\lib\i18n.jar;D:\JBuilder6\jdk1.3.1\jre\lib\ja
ws.jar;D:\JBuilder6\jdk1.3.1\jre\lib\rt.jar;D:\JBuilder6\jdk1.3.1\jre\lib\sunrsas
ign.jar;D:\JBuilder6\jdk1.3.1\lib\dt.jar;D:\JBuilder6\jdk1.3.1\lib\htmlconverter.
jar;D:\JBuilder6\jdk1.3.1\lib\tools.jar" hello.FirstTestClient1
-- Initializing bean access.
-- Succeeded initializing bean access.
-- Execution time: 2454 ms.
-- Calling create(testName, testAddr)
-- Succeeded: create(testName, testAddr)
-- Execution time: 90 ms.
-- Return value from create(testName, testAddr): weblogic.rmi.cluster.EntityRemo
teRef@10e - jvmid: '-6793290705 ...
testName
testAddr
注意:这个程序只能运行一次。再次运行需要更改步骤 11的第一行。