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,最后创建一个域。
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数据库的时候会起作用。
选择上面的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退出。
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的。这里选择在项目里用一个服务。
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";
}
要运行session bean,首先要编译这个项目。选择project下的make project testses.jpx,编译完了后这时你也可以看到testsesbean.java旁边多了个+号,点击这个+号你可以看到几个由容器产生的文件。你可以在左边的面板里看到testsesmod.jar文件。双击testsesmod.jar可以在左边看到部署描述(如图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,为远程的服务器的主机名和端口号。并设置正确的用户名和密码。
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。
4、常见错误解答
错误1:weblogic server cannot start: config.xml not found
错误代码描述:
<info> <management> <140013> <c:\bea\user_projects\.\config.xml not found>
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 <username> denied
错误代码描述:
<critical> <weblogicserver> <000364> <server failed during initialization.
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。
from-javaresearch.com
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器