Borland公司推出Jbuilder 7后,引起了很多JAVA爱好者的关注,本文是根据在Borland公司的网站上的一篇有关Jbuilder 7综合Weblogic Server 7.0的文章为主要内容来写的。综合自己的经验,目的希望大家能顺利的搭建一个比较普遍流行的J2EE环境,并学会开发基本的EJB程序。
1、创建一个Weblogic Server域本文假设你已经正确安装了这两个软件。值得注意的是在Weblogic Server 7.0安装的时候,最后要你设置一个Server,你可以在安装的时候设置也可以在安装完了后从开始菜单
——>程序——>Bea Weblogic Platform7.0——>Configuration Wizard来设置。在设置的时候不要选择第一个WLS Examples,选最后一个WLS Domain(如图1)。第一个是设置了一个范例域,有一些范例程序和连接池设置、数据源,在你运行的时候会出现连接池设置不对的问题。第三个是创建一个空的域,默认域名是mydomain,接下来选择默认的Single Server,接下来的一步默认域目录是H:\bea\user_projects\,接下来的一步默认按next,填写了用户名和密码后next,最后创建一个域。
(图1)
2、在Jbuilder 7下设置Weblogic Server 7 (1)运行Jbuilder 7后,选择Tools——>Configure Servers,弹出的窗口如图2所示。
在左边选择Weblogic Server 6.x+,选择右边面板上的Enable Server选项后,在Home directory里写上你的Weblogic Home目录H:/bea/weblogic700/server(我这里安装在H盘上,如果你的机器上是别的盘请自行更改)。在Class标签下新增四个在Jbuilder根目录下的lib目录下的.jar文件,分别为jaxrpc.jar、jds.jar、jdsremote.jar、jdsserver.jar。并按照如图的顺序按move up按钮将jaxrpc.jar移到第一个。这些.jar文件在你开发Entity Bean的时候如果使用了JdataStore数据库的时候会起作用。
(图2)
选择上面的Custom 标签(如图3)将JDK Installation Directory设置你的JDK安装目录如:
H:/bea/jdk131_02、BEA Home Directory设置你的BEA的安装目录如:H:/bea、DomainDirectory设置你的域目录如:H:/bea/user_projects/mydomain。接下来填写用户名和密码,用户名和密码就是你在设置Weblogic Server域的时候你设置的用户名和密码。填写Domain Name、Server Name如 :mydomain、myserver后,单击OK退出。
(图3)
(2)选择Tools->Enterprise Setup,单击CORBA面板上的New,弹出如图4所示的窗口,在Name
for this configuration里填写 WelLogic 7.0,在Path for ORB Tools里填写 h:/bea/weblogic700/server,在Library for projects 里选择 WebLogic 6.x+ Deploy,在IDL compiler command里填写idlj.exe, 在Commnad option for output directory 里填写任意一个目录比如:h:\temp单击OK退出。
(3)选择Project->Default Project properties选择Server标签,在Single services for all service in project在下拉列表中选择WebLogic Application Server 6.x+,单击OK退出,配置完毕。这里的两个选项Single services for all service in project和Modular Services provided by different servers,第一个是在项目里用一个服务,后面这个是在项目里用不同的服务的意思,比如:jsp和servlet可以用Tomcat的,而ejb是用Weblogic的。这里选择在项目里用一个服务。
(图4)
3、在配置好的环境下开发一个session beans
(1) 创建一个项目
选择File——>New选择Project面板下的 Project项。在Name中填入TestSes,Directory里填写你的项目要放的位置,其他的默认,单击Finish。
(2) 创建一个Session Bean模块
选择File——>New选择Enterprise面板下的EJB Module,选择OK。在出现的窗口后,在Name里填写TestSesMod,在Version里选择EJB 2.0 compliant。
(3) 创建一个Session Bean在Jbuilder里,EJB可以可视化的创建,在右边的空面板里点击鼠标右键,选择Create EJB在子菜单里选择Session Bean,如图5所示。现在已经创建了一个可视化的Session Bean,在Bean的设置面板中你可以改变Bean的名字,在这里在Bean Name里输入TestSes。现在开始创建一个方法,在TestSes上点击鼠标右键,选择Add后选择Method(如图6)在Name里填getName,Return type填String,Interfaces里选Remote。在左边的点testses旁边的+号,在下面拉下来的但个JAVA文件里双击TestSesBean.java,在getName方法里加入如下代码:
Public String getName(){
return "Testing Successful";
}
(图5)
(图6)
(4) 创建配置JAR文件
要运行Session Bean,首先要编译这个项目。选择Project下的Make Project TestSes.jpx,编译完了后这时你也可以看到TestSesBean.java旁边多了个+号,点击这个+号你可以看到几个由容器产生的文件。你可以在左边的面板里看到TestSesMod.jar文件。双击TestSesMod.jar可以在左边看到部署描述(如图7)。
(图7)
(5) 创建运行期的设置
Jbuilder允许用户为不同的应用程序创建运行期设置。
选择Run ——>Configuration Name,在出来的Project Properties窗口里Run面板是默认选择上了的,点击New来创建一个新的运行期设置。在弹出来的Runtime Properties点击Server标签在Configuration name里输入一个设置名,这里输入Server(如图8)后按OK后再点OK退出。
(6) 在Jbuilder里运行Weblogic
选择菜单Run下的Run Project运行Weblogic Server
(7) 部署EJB到Webloigc Server上去
右击TestSesMod.jar,在弹出的面板里选择Deploy option of TestSesMod.jar,再选择Deploy(如图9)。
(8) 远程部署
这里简单的介绍一下怎么在远程的Weblogic Server上部署应用。即使是在远程部署的话,在本机上也需要装有应用服务器,如果你在Weblogic Server7.0上部署的话,在Jbuilder里选择Tools ——>Enterprise Deployment,在弹出的窗口里修改Admin url,为远程的服务器的主机名和端口号。并设置正确的用户名和密码。
(图8)
(图9)
(9) 创建一个客户端测试程序来测试你的Session Bean
在Jbuilder里选择File——>New选择Enterprise标签里的EJB Test Client,点击OK。在弹出来的窗口里的Name里输入TestSesTestClient,单击OK结束。
在文件的main()方法里加入如下代码:
public static void main(String[] args) {
TestSesTestClient client = new TestSesTestClient();
try{
client.create();
String name=client.getName();
System.out.println ("Name form the Test client="+name);
}
catch (Exception ex){}
}
(10)运行客户端测试程序
要运行测试程序的话,先要为它加一个运行期设置。在Run——>Configuration里选择New在弹出的窗口里选择Run下的Application。在上面的Configuration name里输入Client,在Main里点选旁边的按钮,在弹出的窗口里选择Browse标签下的testses下的TestSesTestClient。一路OK完成。右击TestSesTestClient.java,单击Run Using Client后,运行Client程序。运行成功后如图10所示。Client得到了调用了Session Bean的方法,返回了Testing Successful。
(图10)
4、常见错误解答
错误1:WebLogic Server cannot start: config.xml not found
错误代码描述:
<140013>
C:\bea\user_projects\.\config.xml not found
Since no config.xml was found, the fileRealm.properties file will not be used.
Would you like the server to create a default configuration and boot? (y/n):
问题发生时机:
在Jbuilder上运行Weblogic Server时,在Weblogic 6.x+ http:7001页上。
产生原因:
Weblogic域目录没有正确设置
解决方法:
选择Tools——>Configure Servers,左边选择Weblogic Server 6.x+,选择右边的Custom标签,
检查你的域目录是否正确。如:h:\bea\user_projects\mydomain。
错误2:Authentication for user denied
错误代码描述:
<000364> Exception:java.lang.SecurityException: Authentication for user username denied
java.lang.SecurityException: Authentication for user username denied.
问题发生时机:
在Jbuilder上运行Weblogic Server时,在Weblogic 6.x+ http:7001页上。
产生原因:
在Jbuilder里用户名、密码填写错误
解决方法:
选择Tools——>Configure Servers,左边选择Weblogic Server 6.x+,选择右边的Custom标签,
检查你的用户名和密码是否正确。
错误3:Deployment of Web application failed
错误代码描述:
Exception:weblogic.management.ApplicationException: Prepare failed. Task Id = 0
Module: TestWebApp Error: weblogic.j2ee.DeploymentException: Cannot deploy
ServletContext(id=2545674,name=TestWebApp,context-path=/TestWebApp) from
C:\bea\user_projects\mydomain\myserver\upload\TestWebApp\TestWebApp.war on myserver
because there is already a webapp named
ServletContext(id=5684736,name=TestWebApp,contextpath=/
TestWebApp) loaded from C:\Documents and
Settings\spati\jbproject\TestWebApp\TestWebApp, which is using the context path
/TestWebApp.
问题发生时机:
部署WAR文件的时候
产生原因:
可能是你已经在Weblogic上部署了一个相同名称的应用了。
解决方法:
选择Project——>Project Properties,选择Server标签,在Services列表里先选上jsp/servlet,把右边的Map project webapps at runtime的勾去掉,就可以安全的部署了。如果问题还是存在的话,你就只有重新新建一个WEB应用程序,把你做的程序都拷贝到新的应用上再部署了。
错误4:NameNotFoundException from test client
错误代码描述:
javax.naming.NameNotFoundException: Unable to resolve 'TestSes' Resolved:
''Unresolved:'TestSes'; remaining name 'TestSes'
问题发生时机:
部署完EJB JAR文件后,运行TestClient的时候
产生原因:
TestClient不能找到EJB的JNDI名。
解决方法:
打开Weblogic Server console检查部署是否有错,在Deployments——>EJB里找到EJB的模块名。检查名称后,点击右边窗口的Deploy,如果JAR部署正确的话,你将在右边的窗口的Deployment状态是true。
错误5:test client run failed
错误代码描述:
javax.naming.CommunicationException. Root exception is java.net.ConnectException:
t3://localhost:7001: Destination unreachable; nested exception is:
java.net.ConnectException: Connection refused: connect; No available router to destination
问题发生时机:
部署完EJB JAR文件后,运行TestClient的时候
产生原因:
test Client和Weblogic通信出现问题
解决方法:
如果你的Weblogic是在别的主机上或者端口号改变了的话,请你在TestSesTestClient.java里修改原来的有关主机名和端口的代码。
好了,到现在为止,你已经可以搭建一个流行的J2EE环境并基本上了解了EJB在Jbuilder上的实现。希望大家多提意见,如果有问题请与作者联系。Email:flyingwcy@163.com。
posted on 2005-10-23 00:11
YangRj 阅读(256)
评论(0) 编辑 收藏 所属分类:
精华文章