|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你说是sun公司对她研究的透还是微软?针对自己工具开发的.net网页编程性能上肯定会站上风的。前言
WEBLOGIC是一本性能出色的J2EE服务器,在我国的利用者在疾速增加。但如今有关它的中文材料基础没有,更没有先容利用履历方面的。上面是自己在进修利用WEBLOGIC6.0中失掉的一些履历,写出来与人人分享。
1、WEBLOGIC6.0的安装
WEBLOGIC6.0自带了JDK1.3,以是不必事后安装JDK就能够间接安装它,在WIN2000平台是一个EXE文件,间接运转它便可;在UNIX平台上的安装包是一个*.bin文件,用sh运转它就能够了,最好是加-iconsole的把持台选项(假如不加,大概会报CLASSNOFOUND等毛病)以下所示:
shweblogic60_sol.bin-iconsole的把持台
注重:
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下载。
2、与ORACLE数据库的毗连
WEBLOGIC6.0经由过程ORACLE客户端会见ORACLE,以是在WEBLOGIC6.0地点的呆板上要准确安装ORACLE客户端才行。WEBLOGIC6.0对ORACLE供应TYPE2的JDBCDRIVER撑持,是一些静态毗连库(NT是.DLL,UNIX是.SO)文件,在$WL_HOMEin下,以OCI开首的几个目次中。详细接纳哪一个目次下库文件,与ORACLESERVER端及CLIENT真个版本及ORACLEAPI的版本有关,可参考WEBLOGIC6.0的联机文档。要把这些库地点的路径加到体系的情况变量中,不然会见数据库时,WEBLOGIC6.0会报以下毛病:
Java.sql.SQLException:System.loadLibrarythrewjava.lang.UnsatisfiedLinkError
withthemessage""noWEBLOGICoci37injava.library.path"".....
在WIN2000中要加到PATH情况变量中,如:
setPATH=D:WEBLOGIC6.0wlserver6.0inoci816_7;c:ORANT816in;%PATH%
在NIX平台,要到体系的LIBRARYPATH中,如在SUN上,要加到LD_LIBRARY_PATH情况变量中,办法以下:
exportLD_LIBRARY_PATH=/bea/weblogic6.0/oci816_8:$ORACLE_HOME/lib
在HP平台上,要加到SHLIB_PATH情况变量中,如:
exportSHLIB_PATH=/bea/weblogic6.0/lib/hpux11/oci816_8:$ORACLE_HOME/lib
3、在WEBLOGIC6.0中设置资本的会见权限
WEBLOGIC6.0几近能够对它所办理的一切资本设置会见把持表,包含EJB、JSP、SERVLET、POOL、JMS、RMI、JNDI、JDBC等等。当用户第一次会见设置了会见把持表的资本时,WEBLOGIC6.0会弹出一个对话框请求输出口令及暗码,假如连输3次都不合错误,会前往以下毛病:
Error401--Unauthorizedxxx
FromRFC2068HypertextTransferProtocol--HTTP/1.1:
10.4.2401Unauthorized
对会见权限的设置有两种体例:
1、在WEBLOGIC6.O的把持台中设置,把了局保留到fileRealm.properties中,即接纳WEBLOGIC6.0的filerealm.感到对DATABASEPOOL,EJB等对照好用,对JSP,SERVER及某个目次设置会见把持表对照难。我试了良多次都没乐成。它可对WEB用户(经由过程扫瞄器会见)和一般用户(经由过程JAVA客户端等会见)起感化。
2、在WEB.XML,WEBLOGIC.XML中设置,只能对WEB用户起感化。上面举个例子申明这类体例。
如:在一个名为OrderWebApp的WEBAPPLICATION中,客户的订单文件都放到/orders目次下,只要manager能扫瞄该目次下的文件。其WEB.XML及WEBLOGIC.XML可设置以下:
*************************WEB.XML*************************
<!DOCTYPEweb-appPUBLIC"-//SunMicrosystems,Inc.//DTDWebApplication1.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>Securityconstraintforresourcesintheordersdirectory</description>
<url-pattern>/orders/*</url-pattern>
<http-method>POST</http-method>
<http-method>GET</http-method>
</web-resource-collection>
<auth-constraint>
<description>constraintfororders</description>
<role-name>manager</role-name>
</auth-constraint>
<user-data-constraint>
<description>SSLnotrequired</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>中界说WEBLOGICSERVER与CLIENT之间的入手下手通信时,是不是接纳SSL创建毗连。在<security-role>中界说脚色名。
*************************WEBLOGIC.XML*************************
<!DOCTYPEWEBLOGIC6.0-web-appPUBLIC"-//BEASystems,Inc.//DTDWebApplication6.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>中界说的用户才能够会见受回护的资本。
4、JSP的设置及调试
在WEBLOGIC6.0中,JSP要放到一个WEBAPPLICATION中才干对它举行会见,对JSP的设置在WEBLOGIC.XML中,以下所示:
<!DOCTYPEWEBLOGIC6.0-web-appPUBLIC"-//BEASystems,Inc.//DTDWebApplication6.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从不从头编译(一样平常用于运转情况中)。当第一次会见某个WEBAPPLICATION下的一个JSP文件时,WEBLOGIC6.0把它编译成一个CLASS文件并放到响应的目次下:
1、假如是以目次布局情势公布的WEBAPPLICATION,放到该WEBAPPLICATION的
WEB-INF\_tmp_war_examplesServer_examplesServer_*目次下。
2、假如该WEBAPPLICATON是以一个WAR文件安排的,则放到:
…applications.wl_temp_do_not_deleteWEB-INF\_tmp_war_examplesServer_examplesServer_*目次下。
在调试JSP时,为了使每次老是会见最新的页面,除设置pageCheckSeconds=0外,应当让IE不缓存该页面。设置以下:
把/工具/INTERNET选项/惯例/设置/的审查所存页面的较新版本,设为每次会见该页时都反省。假如仍是不克不及看到最新的页面,能够到以上先容的目次下把与该JSP对应的CLASS文件删除,强迫WEBLOGIC6.0重编译。
5、PASSWORD的办理
WEBLOGIC6.0每次启动时城市提醒请输出暗码,假如不想每次启动时都输出暗码,可创立一个PADDWORD.INI文件,并把暗码保留在该文件中便可。也能够用-Dpassword=PASSWORD把暗码加到启动剧本中。暗码可在WEBLOGIC6.O的把持台中的SECURITY中修正。
6、WEBLOGIC6.O把持台的利用
WEBLOGIC6.O的把持台要在IE5.0以上的版本中才干启动,假如IE设置了代办署理服务器,WEBLOGIC6.O的把持台有大概没法启动,应把代办署理服务器的设置往失落在/工具/INTERNET选项/毗连/局域网设置中。在WEBLOGIC6.0的把持台能完成几近一切的设置,不象WEBLOGIC5.1偶然候要间接修正设置文件。
7、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中的挂号项删除,今后就不会提醒。要注重常常对该文件备份。
8、对默许WEBAPPLICATION的会见
WEBLOGIG有一个默许的WEBAPPLICATION,假如某一个HTTP(HTTPS)哀求,所指定的WEBAPPLICATION都没法处置时,会主动让DEFAULTAPPLICATION来处置,假如DEFAULTAPPLICATION也处置不了,则报错。如要会见HTTP://LOCALHOST:7001/MYWEB/MY.JSP。当MYWEB中没有MY.JSP,假如DEFAULTAPPLICATION中有MY.JSP,则由它把了局前往给扫瞄器。默许WEBAPPLICATION就是APPLICATIONS下的DefaultWebApp_examplesServer,它只能是以目次布局情势安排,不克不及是一个WAR文件,假如把该目次删除,WEBLOGIC6.0启动时也会主动天生该目次。会见它时,不必加上该WEBAPPLICATION的名字,加在反而会会见不到。如在DefaultWebApp目次下有一个TEST.JSP:HTTP://LOCALHOST:7001/TEST.JSP能会见到该JSP,但HTTP://LOCALHOST:7001/DefaultWebApp_examplesServer/TEST.JSP会见不到。
注重:会见其他的WEBAPPLICATION中的文件。要加上该WEBAPPLICATION的名字才行。
9、设置CLUSTER应注重的成绩
1、要设置网关
设置CLUSTER时,每台服务器都要设置默许网关,假如没有设置,MANAGERSERVER会没法毗连到ADMINISTRATORSERVER上。在WIN2000中,可在把持面板中间接加,在UNIX下,用routeraddIPaddress设置,IPADDRESS可用该服务器的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是否是一般。如:
javautils.MulticastTest-Ntest-A237.0.0.1
-N指定一个名字标识该历程,可任意起。
-A要测的IP地点
4、在一个CLUSTER中的WEBLOGIC6.0SERVER的版本要分歧,监听的端口也要一样。
5、最好不要在ADMINISTRATORSEVER中安排任何的使用,把使用缩小MANAGEDSERVER上。
10、在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的WEBAPPLICATION紧缩包(有2个形貌文件web.xml,webloigc.xml)
(3)*.EAR:是包括EJB和WEBAPPLICATION的J2EEEnterpriseApplication紧缩包(有1个形貌文件,application.xml)
注重:它们不克不及混用,如WEBAPPLICATOIN不克不及打包成.EAR文件。
2、WEBLOGIC6.0的使用用两种公布体例:
(1)以目次情势寄存在WEBLOGIC6.0的APPLICATIONS目次下,合用于开辟阶段
(2)以一个紧缩包情势寄存在WEBLOGIC6.0的APPLICATIONS目次下,合用于运转阶段,可用JAR打包,如D: est>jarcftestwar.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)天生WEBAPPLICATION的WAR文件,在WEB.XML,WEBLOGIC.XML中挂号,设置SERVLET,JSP等。
(3)创立一个APPLICATION.XML文件,设置该使用的属性.把APPLICATION.XML,*.JAR,*.WAR,打包成一个*.EAR
(4)WEBLOGIC6.O的把持台中挂号该使用或把该EAR文件拷到APPLICAITON目次下。各处就完成。
11、WEBLOGIC6.06.0中的CLASSPATH成绩
WEBLOGIC6.06.0中的CLASSPATH比5.1要复杂的多,上面对其做一个小结:
1、WEBLOGIC6.06.0启动所需的CLASSPATH只需以下设置就能够了
SET%WL_HOME%libWEBLOGIC6.0_sp.jar;%WL_HOME%libWEBLOGIC6.0.jar
假如要用到它带的CLOUDSCAPE数据库,则加上:
%WL_HOME%samplesevalcloudscapelibcloudscape.jar
2、EJB中援用的CLASS要在体系的CLASSPATH中,才干会见到。
3、假如是一个WEBAPPLICATOIN中的某个SERVLET,JSP援用了其他的CLASS,把他们放到该WEBAPPLICATOIN的WEB-INFclasses目次下WEBLOGIC6.0能够会见到。固然,假如在体系的CLASSPATH中设置这些类的路径,WEBLOGIC6.0也能够会见到。在挪用时,WEBLOGIC6.0会把WEB-INF/CLASSES/下的类都COPY到../applications/.wl_temp_do_not_delete/...../WEB-INF下,不论是打包的EAR,WAR文件仍是没打包的目次体例。
4、假如一个WEBAPPLICATION中的JSP中挪用到EJB,即JSP是EJB的CLIENT,只需在该JSP中IMPORT一下就能够,如某个JSP挪用到EJB:com.test.bbs.jar,其IMPORT格局以下:
<%@pageimport="
javax.naming.*,
javax.ejb.*,
java.rmi.RemoteException,
java.rmi.Remote,
java.util.*,
java.sql.*,
com.test.bbs.*
"%>
固然,该com.test.bbs.jar必需已准确安排。
当该WEBAPPLICATION是以WAR文件安排时,com.test.bbs.jar不必在体系的CLASSPATH或该WEBAPPLICATION的WEB-INF/CLASSES中,该JSP能挪用到。但假如一个WEBAPPLICATION是以一个目次的体例放在APPLICATIONS下时,该EJB中的类要在体系的CLASSPATH中才干会见到。放到该WEBAPPLICATION的WEB-INF/CLASSES/下,该JSP是会见会见不到这个EJB的。能够把com.test.bbs.jar加到体系的CLASSPATH中,如WEBLOGIC6.0启动时的CLASSPATH可以下设置:
setCLASSPATH=.;.libWEBLOGIC6.0_sp.jar;.libWEBLOGIC6.0.jar;D:WEBLOGIC6.0wlserver6.0configexamplesapplicationsxcjing_ejb_bbsok.jar
也能够把bbsHome.class.bbsBean.class,bbs.class拷贝到体系的CLASSPATH指定的某一起径下,如WEBLOGIC6.0启动的CLASSPATH以下:
CLASSPATH=.;.libWEBLOGIC6.0_sp.jar;.libWEBLOGIC6.0.jar;D:WEBLOGIC6.0wlserver6.0configexamplesserverclasses
能够以上3个文件拷到D:WEBLOGIC6.0wlserver6.0configexamplesserverclasses,该JSP也能会见到。
5、假如一个APPLICATION中的JSP中挪用到EJB,CLASSPATH,设置同上。假如该APPLICATION中的EJB中援用的其他的CLASS,则这些CLASS要在体系的CLASSPATH中,才干会见到。
微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包...... |
|