nihaoba
发贴: 100
积分: 50
|
于 2003-01-13 17:28
WLS PORTAL7.0 开发经验
n 如果要在PORTAL中使用FLASH,该FLASH不能在HTML的TABLE中。如果 在HTML 的TABLE中会无法显示。
n 提高PORTAL的性能 1、 paymentWSApp、taxWSApp 在国内一般没用,可用从CONFIG.XML中去 掉 2、 当应用开发完毕。把 C:\bea\user_projects\mobileDomain\sampleportalServer\.wlnotdelete\samp leportal_sampleportal_3243122下的jsp_servlet目录COPY 到 C:\bea\user_projects\mobileDomain\beaApps\sampleportal\sampleportal\WE B-INF\classes下,性能能提高很多,当然在COPY之前应该把整个应用都RUN一 遍,使JSP文件都被编译成CLASS文件 3、设置为PRODUCT模式。JSP设置为不编译等等
n 当创建一个PORTAL WEB APPLICATION时,HOT DEPLOY 可能会失败。 可采用手工DEPLOY方式。方法如下: 在APPLICATION。XML中增加: <module> <web> <web-uri>test</web-uri> <context-root>test</context-root> </web> </module>
在CONFIG。XML中增加: <WebAppComponent Name=“test“ ServletReloadCheckSecs=“300“ Targets=“portalServer“ URI=“test“/> 就可以了。
n 在PORTAL中删除一个WEB APPLICATION,有几处要删除: APPLICATION。XML CONFIG。XML BEAAPPS 下的目录,BEAAPPS-PROJECT下的目录
n 如果你修改FRAMEWORK下的文件,为了使他们生效,要把WEB- INFO/CLASSES/JSP-SERVLET目录下的文件都删除,然后重新启动。
n 为了使PORTAL更好的支持汉字: 1、 WEB。XML中添加: <context-param> <param-name>weblogic.httpd.inputCharset./*</param-name> <param-value>GBK</param-value> </context-param> 2、 WEBLOGIC。XML中添加 <jsp-param> <param-name>encoding</param-name> <param-value>GBK</param-value> </jsp-param>
<input-charset> <resource-path>/</resource-path> <java-charset-name>GBK</java-charset-name> </input-charset>
在FRAMEWORK下的TITLEBAR.JSP,PORTAL.JSP,LOGIN_HEAR.INC中添加 <%@ page contentType=“text/html;charset=gb2312“%>
n 在PORTAL中使用WEB SERVICE时,必须使WORKSHOP处于运行状态才能 成功。
n 出现以下EXCEPTION时,要进行同步操作。 javax.servlet.ServletException: Received a null Portal object from the PortalManager. at com.bea.portal.appflow.servlets.internal.PortalWebflowServlet.setupPor talRequest(PortalWebflowServlet.java:197) atcom.bea.portal.appflow.servlets.internal.PortalWebflowServlet.doGet (PortalWebflowServlet.java:103)at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
n UUP 可通过UUPEXAMPLE学习UUP, 采用UUP,系统的用户仍然要在PORTAL中注册,只是当要得到或改变PROPERTY SET中的值时,会调用相应的EntityPropertyManager,从外部数据源中得到或更 改外部数据源中的数据。PORTAL不会在自己的系统表 PROPERTY_KEY,PROPERTY_VALUE中保存数据。 如果手工对外部数据库源中的数据进行修改, <um:getProperty 会马上得到 最新的值。 对用户的增加,删除,修改马上会反映到UUP-EXAMPLE中,当对如果把UUP- EXAMPLE 中的用户删除,会出现: <2002-12-22 下午07时13分02秒> <Error> <Usermgmt> <402317> <The profile for useri d hello:everyone could not be found.> 增加用户,在PORTAL中会不生效 对WORD1,WORD2的修改会马上生效。
n PORTAL中的LAYOUT定义采用的是TABLE方式,所以如果同一个PORTAL PAGE 中的JSP通过REQUEST传递参数时,如果参数名相同,那么如果一个JSP提 交,会改变其他JSP中的变量,所以同一个PORTAL PAGE 中的JSP文件通过 REQUEST传递的变量名应该不同。 同一个PORTAL PAGE 中的某一个JSP刷新时,其他的PORLET也会同时刷新,为避 免这种情况,可自己定义LAYOUT,采用FRAME定义LAYOUT
n WEB FLOW之间的跳转,并传递参数 1.<portlet:form event=“<%= PortalAppflowConstants.PORTLET_REFRESH % >“> 2. < extrams> <td align=“center“><font face=“arial“ ><a href=“<portlet:createWebflowURL namespace=“page02_1_3“ event=“switch2“ extraParams=“aa='大家'“ />“>杨春成</a></font></td> 在另一个JSP中采用 REQUEST。GETPARAMETERS(“aa”) 就可以取到值。
3. <form method=“POST“ name=“step2Form“ action=“<portlet:createWebflowURL namespace=“checkoutportlet“ event=“link.next“ />“ >
4.结合presentation node, inputprocessor node, pipeline node
n 采用POINTBASE时应注意: 采用POINTBASE时,在启动PORTAL时会判断POINTBASE是否已启动,如果已启动, 就采用启动的POINTBASE,而采用CTRL+C 关闭PORTAL 时,是不会把POINTBASE 关闭的,所以会使不同的DOMAIN之间的POINTBASE数据库互相干扰。为避免这种 问题, 可以修改PORTAL的启动脚本C:\bea\weblogic700\portal\bin\win32\ startWebLogic.cmd。 :_NO_DB_SETTINGS @rem Check if PointBase is up (sets errorlevel) “%JDK_HOME%\bin\java“ com.bea.p13n.db.internal.PointBasePing -host % PB_HOST% -port %PB_PORT% -database %PB_DB%
@rem PointBase already running IF NOT ERRORLEVEL 1 GOTO NOT_PB1
为: :_NO_DB_SETTINGS REM ##############################STOP POINTBASE###################### if “%DB_SETTINGS%“==““ call “%WL_COMMERCE_HOME%\bin\win32 \stopPBServer.bat“ if not “%DB_SETTINGS%“==““ call “%WL_COMMERCE_HOME%\bin\win32 \stopPBServer.bat“ %DB_SETTINGS% REM ##############################STOP POINTBASE######################
这样每次启动PORTAL时都先把POINTBASE关闭,不同PORTAL DOMAIN之间的数据库 就不会互相干扰。
|