感觉写的很好,所以转载与大家共享!
前 言
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.O的控制台进行添加,WEBLOGIC6.0会自动把该应用对应的压缩包拷到APPLICAITONS目录下,如果对该应用修改,需要重新布置才行。
(2)动态布置:没有在CONFIG.XML中登记,可直接把压缩包或目录拷到APPLICATIONS目录下,WEBLOGIC6.0会自动检测到.WEBLOGIC6.0每次启动时会自动对APPLICATIONS目录下没有进行静态布置的应用,进行动态布置。
4、一个例子:
如果一个应用中有EJB,JSP,SERVLET,其布置步骤如下:
(1)生成EJB的JAR文件,最好一个JAR文件对应一个EJB
(2)生成WEB APPLICATION的WAR文件,在WEB.XML,WEBLOGIC.XML中登记,配置SERVLET,JSP等。
(3)创建一个APPLICATION.XML文件,设置该应用的属性.把APPLICATION.XML,*.JAR, *.WAR,打包成一个*.EAR
(4)WEBLOGIC6.O的控制台中登记该应用或把该EAR文件拷到APPLICAITON目录下。到处就完成。
十一、WEBLOGIC6.0 6.0中的CLASSPATH问题
WEBLOGIC6.0 6.0中的CLASSPATH比5.1要简单的多,下面对其做一个小结:
1、WEBLOGIC6.0 6.0启动所需的CLASSPATH只要如下设置就可以了
SET %WL_HOME%\lib\WEBLOGIC6.0_sp.jar;%WL_HOME%\lib\WEBLOGIC6.0.jar
如果要用到它带的CLOUDSCAPE
数据库,则加上:
%WL_HOME%\samples\eval\cloudscape\lib\cloudscape.jar
2、EJB中引用的CLASS要在系统的CLASSPATH中,才能访问到。
3、 如果是一个WEB APPLICATOIN中的某个SERVLET,JSP引用了其他的CLASS,把他们放到该WEB APPLICATOIN的\ WEB-INF\classes目录下WEBLOGIC6.0可以访问到。当然,如果在系统的CLASSPATH中设置这些类的路径, WEBLOGIC6.0也可以访问到。在调用时,WEBLOGIC6.0会把WEB-INF/CLASSES/下的类都COPY到.. /applications/.wl_temp_do_not_delete/...../WEB-INF下,不管是打包的EAR,WAR文件还是没打包 的目录方式。
4、如果一个WEB APPLICATION中的JSP中调用到EJB,即JSP是EJB的CLIENT,只要在该JSP中IMPORT一下就可以,如某个JSP调用到EJB: com.test.bbs.jar,其IMPORT格式如下:
<%@ page import="
javax.naming.*,
javax.ejb.*,
java.rmi.RemoteException,
java.rmi.Remote,
java.util.*,
java.sql.*,
com.test.bbs.*
"%>
当然,该com.test.bbs.jar必须已正确布置。
当 该WEB APPLICATION是以WAR文件布置时,com.test.bbs.jar不用在系统的CLASSPATH或该 WEB APPLICATION的WEB-INF/CLASSES中,该JSP能调用到。但如果一个WEB APPLICATION是以一个目录的方式放 在APPLICATIONS下时,该EJB中的类要在系统的CLASSPATH中才能访问到。放到该WEB APPLICATION的WEB- INF/CLASSES/下,该JSP是访问访问不到这个EJB的。可以把com.test.bbs.jar加到系统的CLASSPATH中,如 WEBLOGIC6.0启动时的CLASSPATH可如下设置:
set CLASSPATH=.;.\lib\WEBLOGIC6.0_sp.jar;.\lib\WEBLOGIC6.0.jar;D:\WEBLOGIC6.0\wlserver6.0\config\examples\applications\xcjing_ejb_bbsok.jar
也可以把bbsHome.class.bbsBean.class,bbs.class拷贝到系统的CLASSPATH指定的某一路径下,如WEBLOGIC6.0启动的CLASSPATH如下:
CLASSPATH=.;.\lib\WEBLOGIC6.0_sp.jar;.\lib\WEBLOGIC6.0.jar;D:\WEBLOGIC6.0\wlserver6.0\config\examples\serverclasses
可以以上3个文件拷到D:\WEBLOGIC6.0\wlserver6.0\config\examples\serverclasses,该JSP也能访问到。
5、如果一个 APPLICATION中的JSP中调用到EJB,CLASSPATH,设置同上。如果该APPLICATION中的EJB中引用的其他的CLASS,则这些CLASS要在系统的CLASSPATH中,才能访问到。
分享到:
相关推荐
### WebLogic 6.0中EJB的使用详解 #### 一、概述 EJB(Enterprise JavaBeans)是Java EE规范中的一个重要组成部分,主要用于构建分布式企业应用中的业务逻辑层。本文将详细介绍如何在WebLogic 6.0服务器环境中部署...
开发部署中间件weblogic下载,经实践试用,没有任何问题。 WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web...
2021年1月19日,Oracle发布了一项重要的安全更新,即WEBLOGIC 10.3.6.0.210119补丁,该补丁针对WebLogic Server的多个潜在安全漏洞进行了修复,确保了系统的稳定性和安全性。 这个补丁主要关注的是WebLogic Server...
当我们需要在Windows环境中同时使用这两者时,可能会面临一个问题:如何配置IIS6.0作为WebLogic的前端代理,以便通过IIS来发布WebLogic中的JSP应用程序。下面将详细介绍这一过程。 首先,我们需要理解为什么要这么...
Weblogic 10.3.6 2019年7月16日集成补丁包(p29633432_1036_Generic_20190716.zip),补丁名称:MXLE,下载文件中包含补丁安装说明和方法(自用详细步骤)。服务器打补丁前请注意做好备份,若与旧的补丁冲突,需卸载...
"WebLogic patch10.3.6.0.180116" 是针对WebLogic Server 10.3.6.0版本的一个重要安全更新,发布于2018年1月16日。这个补丁主要目的是修复该版本中发现的安全漏洞,以保护用户的系统免受潜在攻击。 WebLogic服务器...
这个版本发布于2011年,是WebLogic Server 10.x系列的一个维护更新,提供了一些重要的增强功能和安全补丁。 "weblogic 10.3.6.0.210119补丁" 指的是针对WebLogic Server 10.3.6.0的特定日期(2021年1月19日)的安全...
2021年10月发布的WebLogic 10.3.6.0.211019补丁集是针对这个版本的一次重要更新,旨在提升系统性能、增强安全性并修复已知问题。 补丁集更新(Patch Set Update, PSU)是Oracle针对其产品提供的常规维护更新,包含...
详细描述了如何在tomacat6.0下发布webService,并以此为基础,进一步重点描述了如何在Weblogic10.3下发布webService。网上多半描述的是Weblogic8.1版本,而很少有关Weblogic10版本下发布webService。据本人了解,这...
- 对于Weblogic 6.0,只需要选择Weblogic 6.0作为集成服务器即可。 2. **项目属性设置:** - 在“Project”菜单下选择“Default Project Properties”,然后进入“Run”选项卡。 - 设置虚拟机参数(VM ...
先打累积补丁(p29659185_1036_Generic.zip),在打单项补丁(p29633432_1036...补丁完成后,启动weblogic,控制台会输出如下: WebLogic Server 10.3.6.0.190716 PSU Patch for BUG29633432 Thu May 23 04:18:02 PDT 2019
《WebLogic服务器基础使用手册》 WebLogic服务器是一款由甲骨文公司开发的企业级Java应用服务器,广泛应用于企业级应用程序部署和管理。本文将详细介绍WebLogic服务器的基础使用,包括信息查看、日志查看、服务器...
标题 "IIS6.0 + webLogic10 集群 整合" 指的是在Windows操作系统上,通过Internet Information Services (IIS) 6.0版本与Oracle的webLogic Server 10进行集成,构建一个高可用性和可扩展性的集群环境。这种集成允许...
本文将详细解析"weblogic10.3.6.0 补丁包-编码21Y4"的相关知识点。 1. **WebLogic Server 10.3.6.0版本** WebLogic Server 10.3.6.0是WebLogic Server的一个稳定版本,发布于2012年。这个版本支持Java EE 5和6标准...
2018年04月份发布的WebLogic Server补丁(10.3.6.0.180417)是为了修复在该版本中发现的安全漏洞。PATCH_ID - GFWX 和 Patch number - 27395085 是这个特定补丁的唯一标识符,用于跟踪和应用更新。 `GFWX.jar` 文件...
Weblogic 10.3 性能优化参数配置 Weblogic 服务器是 Oracle 公司推出的一个基于 Java 的中间件服务器,广泛应用于企业级应用系统中。为了确保 Weblogic 服务器的高性能和稳定运行,需要对其进行合理的配置和优化。...
自用CVE-2018-3191 weblogic反序列化exp。
对于每一个要在MyEclipse中开发的应用项目,都需要进行一些特定的设置,以确保它们能够被正确地编译和部署到WebLogic服务器上: - 右键点击项目,选择`Properties`。 - 在弹出的窗口中,选择`Java Compiler`选项卡...
weblogic10.3.6(weblogic11g)序列化漏洞补丁 执行如下: 1、创建目录 cache_dir 2、执行命令: ...Version: WebLogic Server 10.3.6.0.171017 PSU Patch for BUG26519424 TUE SEP 12 18:34:42 IST 2017
在安装过程中可能会遇到一些常见问题,例如安装失败、兼容性问题等。对于这些问题,可以参考官方文档或社区论坛寻找解决方案,或者尝试以下几种通用的方法: - **检查系统要求**:确保当前操作系统满足 WebLogic ...