分享
 
 
 

WEBLOGIC6.0的一些使用经验

王朝other·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

感觉写的很好,所以转载与大家共享!

前 言

WEBLOGIC是一个性能卓越的J2EE服务器,在我国的使用者在快速增长。但现在有关它的中文资料基本没有,更没有介绍使用经验方面的。下面是本人在学习使用WEBLOGIC6.0中得到的一些经验,写出来与大家分享。

一、WEBLOGIC6.0的安装

WEBLOGIC6.0自带了JDK1.3,所以不用预先安装JDK就可以直接安装它,在WIN2000平台是一个EXE文件,直接运行它即可;在UNIX平台上的安装包是一个*.bin文件,用sh运行它就可以了,最好是加 -i console的控制台选项(如果不加,可能会报CLASSNOFOUND等错误)如下所示:

sh weblogic60_sol.bin -i console的控制台

注意:

1、UNIX系统的TMP目录(环境变量TMPDIR或TMP_DIR所指的路径)应有足够的空间,因为WEBLOGIC6.0安装时先解压文件到系统的TMP目录下,然后再进行安装。如果TMP目录空间不够安装会出错,这时你可以把TMPDIR设到要足够空间的目录下。

2、如果用普通用户安装出错,可试着用ROOT用户安装。一般是环境变量及权限的问题。

3、安装软件可到http://commerce.bea.com/downloads/products.jsp下载,联机文档可到http://edocs.bea.com/wls/docs61/index.html下载。

二、与ORACLE数据库的连接

WEBLOGIC6.0通过ORACLE客户端访问ORACLE,所以在WEBLOGIC6.0所在的机器上要正确安装ORACLE客户端才行。WEBLOGIC6.0对ORACLE提供TYPE2的JDBC DRIVER支持,是一些动态连接库(NT 是.DLL,UNIX是.SO)文件,在$WL_HOME\bin下,以OCI开头的几个目录中。具体采用哪个目录下库文件,与ORACLE SERVER端及CLIENT端的版本及ORACLE API的版本有关,可参考WEBLOGIC6.0的联机文档。要把这些库所在的路径加到系统的环境变量中,否则访问数据库时,WEBLOGIC6.0会报以下错误:

Java.sql.SQLException: System.loadLibrary threw java.lang.UnsatisfiedLinkError

with the message ''no WEBLOGICoci37 in java.library.path''.....

在WIN2000中要加到PATH环境变量中,如:

set PATH= D:\WEBLOGIC6.0\wlserver6.0\bin\oci816_7;c:\ORANT816\bin;%PATH%

在NIX平台,要到系统的LIBRARY PATH中,如在SUN上,要加到LD_LIBRARY_PATH环境变量中,方法如下:

export LD_LIBRARY_PATH=/bea/weblogic6.0/oci816_8:$ORACLE_HOME/lib

在HP平台上,要加到SHLIB_PATH环境变量中,如:

export SHLIB_PATH=/bea/ weblogic6.0/lib/hpux11/oci816_8:$ORACLE_HOME/lib

三、在WEBLOGIC6.0中设置资源的访问权限

WEBLOGIC6.0几乎可以对它所管理的所有资源设置访问控制表,包括EJB、JSP、SERVLET、POOL、JMS、RMI、JNDI、JDBC等等。当用户第一次访问设置了访问控制表的资源时,WEBLOGIC6.0会弹出一个对话框要求输入口令及密码,如果连输3次都不对,会返回以下错误:

Error 401--Unauthorized xxx

From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:

10.4.2 401 Unauthorized

对访问权限的设置有两种方式:

1、 在WEBLOGIC6.O的控制台中设置,把结果保存到fileRealm.properties中,即采用WEBLOGIC6.0的file realm.感觉对DATABASE POOL,EJB等比较好用,对JSP,SERVER及某个目录设置访问控制表比较难。我试了很多次都没成功。它可对WEB用户(通过浏览器访问)和普通用户(通过JAVA客户端等访问)起作用。

2、在WEB.XML,WEBLOGIC.XML中设置,只能对WEB用户起作用。下面举个例子说明这种方式。

如:在一个名为OrderWebApp的WEB APPLICATION中,客户的定单文件都放到/orders目录下,只有manager能浏览该目录下的文件。其WEB.XML及WEBLOGIC.XML可设置如下:

*************************WEB.XML*************************

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 1.2//EN""http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>

<security-constraint>

<web-resource-collection>

<web-resource-name>SecureOrdersEast</web-resource-name>

<description>Security constraint for resources in the orders directory</description>

<url-pattern>/orders/*</url-pattern>

<http-method>POST</http-method>

<http-method>GET</http-method>

</web-resource-collection>

<auth-constraint>

<description>constraint for orders</description>

<role-name>manager</role-name>

</auth-constraint>

<user-data-constraint>

<description>SSL not required</description>

<transport-guarantee>NONE</transport-guarantee>

</user-data-constraint>

</security-constraint>

<security-role>

<description>managers</description>

<role-name>manager</role-name>

</security-role>

</web-app>

说明:<security-constraint>中定义资源的访问控制表。在<web-resource-collection>中定义资源及其存取方式;在<auth-constraint>中定义可访问该资源的角色;在<user-data-constraint>中定义WEBLOGIC SERVER与CLIENT之间的开始通讯时,是否采用SSL建立连接。在<security-role>中定义角色名。

*************************WEBLOGIC.XML*************************

<!DOCTYPE WEBLOGIC6.0-web-app PUBLIC"-//BEA Systems, Inc.//DTD Web Application 6.0//EN""http://www.bea.com/servers/wls600/dtd/WEBLOGIC6.0-web-jar.dtd">

<WEBLOGIC6.0-web-app>

<security-role-assignment>

<security-role-assignment>

<role-name>manager</role-name>

<principal-name>peter</principal-name>

<principal-name>bill</principal-name>

</security-role-assignment>

</WEBLOGIC6.0-web-app>

说明:在<security-role-assignment>定义与WEB.XML中定义的角色所对应的用户。这些用户必须已在WEBLOGIC6.0的控制台中定义才行。

当在浏览器中输入http://localhost:7001/OrderWebApp/orders/order100.html时,WEBLOGIC6.0要求输入用户名及口令.只有peter,bill能够访问该文件。

我发现:如果没有在WEBLOGIC.XML中设置<security-role-assignment>,并在WEBLOGIC6.O的控制台中定义的用户名与WEB.XML中<security-role>中角色的名字一样。则该用户可以访问受保护的资源。如果在在WEBLOGIC.XML中设置了<security-role-assignment>,则与<security-role>中的角色名字一样的用户也不能访问受保护的资源,只有在<security-role-assignment>中定义的用户才可以访问受保护的资源。

四、JSP的设置及调试

在WEBLOGIC6.0中,JSP要放到一个WEB APPLICATION 中才能对它进行访问,对JSP的配置在WEBLOGIC.XML中,如下所示:

<!DOCTYPE WEBLOGIC6.0-web-app PUBLIC"-//BEA Systems, Inc.//DTD Web Application 6.0//EN""http://www.bea.com/servers/wls600/dtd/WEBLOGIC6.0-web-jar.dtd">

<WEBLOGIC6.0-web-app>

<jsp-descriptor>

<jsp-param>

<param-name>

pageCheckSeconds

</param-name>

<param-value>

1

</param-value>

</jsp-param>

<jsp-param>

<param-name>

verbose

</param-name>

<param-value>

true

</param-value>

</jsp-param>

</jsp-descriptor>

</WEBLOGIC6.0-web-app>

比较重要的有pageCheckSeconds,设置WEBLOGIC6.0每隔多长时间检测一次JSP文件的内容是否改变,并需要重新编译,等于0,每次调用都重新编译(一般用于调试环境中),等于-1从不重新编译(一般用于运行环境中)。当第一次访问某个WEB APPLICATION下的一个JSP文件时,WEBLOGIC6.0把它编译成一个CLASS文件并放到相应的目录下:

1、 如果是以目录结构形式发布的WEB APPLICATION,放到该WEB APPLICATION的

WEB-INF\_tmp_war_examplesServer_examplesServer_*目录下。

2、如果该WEB APPLICATON是以一个WAR文件布置的,则放到:

…\applications\.wl_temp_do_not_delete\WEB-INF\_tmp_war_examplesServer_examplesServer_*目录下。

在调试JSP时,为了使每次总是访问最新的页面,除了设置pageCheckSeconds=0外,应该让IE不缓存该页面。设置如下:

把/工具/INTERNET选项/常规/设置/的检察所存页面的较新版本,设为每次访问该页时都检查。如果还是不能看到最新的页面,可以到以上介绍的目录下把与该JSP对应的CLASS文件删除,强制WEBLOGIC6.0重编译。

五、PASSWORD的管理

WEBLOGIC6.0每次启动时都会提示请输入密码,如果不想每次启动时都输入密码,可创建一个PADDWORD.INI文件,并把密码保存在该文件中即可。也可以用-Dpassword=PASSWORD 把密码加到启动脚本中。密码可在WEBLOGIC6.O的控制台中的SECURITY中修改。

六、WEBLOGIC6.O控制台的使用

WEBLOGIC6.O的控制台要在IE5.0以上的版本中才能启动,如果IE设置了代理服务器,WEBLOGIC6.O的控制台有可能无法启动,应把代理服务器的设置去掉在/工具/INTERNET选项/连接/局域网设置中。在WEBLOGIC6.0的控制台能完成几乎所有的配置,不象WEBLOGIC5.1有时候要直接修改配置文件。

七、config.xml文件

每次WEBLOGIC6.0启动成功,会自动把CONFIG.XML文件备份成CONFIG.XML.BOOTED(在相同的目录下)。如果CONFIG.XML中的内容被改动,

导致WEBLOGIC6.0无法启动成功,可用它覆盖被破坏的CONFIG.XML。如果在CONFIG.XML中登记的资源(如某个EJB,WAR文件)被删除,WEBLOGIC6.0每次启动都会给出错误提示,可手工把该EJB或WAR在CONFIG.XML中的登记项删除,以后就不会提示。要注意经常对该文件备份。

八、对默认WEB APPLICATION的访问

WEBLOGIG有一个默认的WEB APPLICATION,如果某一个HTTP(HTTPS)请求,所指定的WEB APPLICATION都无法处理时,会自动让DEFAULT APPLICATION 来处理,如果DEFAULT APPLICATION也处理不了,则报错。如要访问 HTTP://LOCALHOST:7001/MYWEB/MY.JSP。当MYWEB中没有MY.JSP,如果DEFAULT APPLICATION中有MY.JSP,则由它把结果返回给浏览器。默认WEB APPLICATION就是APPLICATIONS下的DefaultWebApp_examplesServer,它只能是以目录结构形式布置,不能是一个WAR文件,如果把该目录删除,WEBLOGIC6.0启动时也会自动生成该目录。访问它时,不用加上该WEB APPLICATION的名字,加在反而会访问不到。如在DefaultWebApp目录下有一个TEST.JSP: HTTP://LOCALHOST:7001/TEST.JSP能访问到该JSP,但HTTP://LOCALHOST:7001/DefaultWebApp_examplesServer/TEST.JSP访问不到。

注意:访问其他的WEB APPLICATION中的文件。要加上该WEB APPLICATION的名字才行。

九、配置CLUSTER应注意的问题

1、要设置网关

配置CLUSTER时,每台服务器都要配置默认网关,如果没有配置,MANAGER SERVER会无法连接到ADMINISTRATOR SERVER上。在WIN2000中,可在控制面板中直接加,在UNIX下,用router add IP address设置,IP ADDRESS 可用该服务器的IP地址,并把最后一节改为1,如192.168.1.111可用192.168.1.1做默认网关。UNIX下可用netstat -rn 查看系统的默认网关。

2、WEBLOGIC6.0以CLUSTER方式运行,所采用包含CLUSTER许可的LICENSE才行。

3、MulticastAddress不合法

有效的MulticastAddress是从224.0.0.0 到 239.255.255.255。

可用WEBLOGIC6.0带的utils.MulticastTest 测试所用的MulticastAddress是不是正常。如:

java utils.MulticastTest -N test -A 237.0.0.1

-N 指定一个名字标识该进程,可随便起。

-A 要测的IP地址

4、在一个CLUSTER中的WEBLOGIC6.0 SERVER的版本要一致,监听的端口也要一样。

5、最好不要在ADMINISTRATOR SEVER中布置任何的应用,把应用放大MANAGED SERVER上。

十、在WEBLOGIC6.0在布置应用

1、WEBLOGIC6.0中应用可分三种,分别对应不同的描述文件及扩展名或目录结构:

(1)*.JAR: 是EJB的压缩包(有3个描述文件ejb-jar.xml,WEBLOGIC6.0-ejb-jar.xml,WEBLOGIC6.0-cmp-rdbms-jar.xml)

(2)*.WAR: 是只包含JSP和SERVLET的WEB APPLICATION压缩包(有2个描述文件web.xml,webloigc.xml)

(3)*.EAR: 是包含EJB和WEB APPLICATION 的J2EE Enterprise Application压缩包(有1 个描述文件,application.xml)

注意:它们不能混用,如WEB APPLICATOIN不能打包成.EAR文件。

2、WEBLOGIC6.0的应用用两种发布方式:

(1)以目录形式存放在WEBLOGIC6.0的APPLICATIONS目录下,适用于开发阶段

(2)以一个压缩包形式存放在WEBLOGIC6.0的APPLICATIONS目录下,适用于运行阶段,可用JAR 打包,如D:\test>jar cf testwar.war *

把TEST目录下的所有文件打包成一个testwar.war文件。

3、WEBLOGIC6.0应用的布置方式有2种

(1)静态布置:即把应用在CONFIG.XML中登记,可通过WEBLOGIC6

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有