欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
BEA Weblogic Portal項目實(shí)施解決方案集

獲息BEA舉辦dev2dev原創(chuàng )技術(shù)文章大獎賽活動(dòng),恰巧我的項目也處于收尾驗收階段。作為Weblogic Portal8.1.2在國內的第一次大型應用,我覺(jué)得有必要把這次項目實(shí)施過(guò)程中的一些感想和經(jīng)驗整理成文并介紹給所有喜歡和使用Weblogic Portal的開(kāi)發(fā)者。

這篇文章以解決方案集的形勢收錄了這次項目實(shí)施過(guò)程中對一些典型問(wèn)題的解決辦法。這些問(wèn)題有的是Portal項目中最常遇到的,如單點(diǎn)登錄,內容整合,有的則純粹是解決Weblogic Portal自身問(wèn)題的小技巧,如Desktop的傳遞中文參數的問(wèn)題。

由于有太多經(jīng)驗和感想需要和廣大Portal開(kāi)發(fā)著(zhù)交流,所以這個(gè)解決方案集還有必要收錄更豐富的內容,這部分工作還在進(jìn)行當中。希望這些來(lái)自一線(xiàn)的實(shí)戰經(jīng)驗能夠幫助Weblogic Portal在國內的其他項目中取得勝利。

陳龍 (dev2dev ID:SCEA)

北京有生博大軟件軟件技術(shù)有限公司

目錄:

BEA Weblogic Portal項目實(shí)施解決方案集?來(lái)自WLP8.1 SP2在國內的第一個(gè)成功應用...

利用UUP實(shí)現PortalLDAP同步用戶(hù)信息..

同步用戶(hù)信息(profile)的必要性...

LDAP服務(wù)器端的配置...

WLS Admin console中的配置...

WLP應用中部署的 p13n_ejb.jar的配置...

創(chuàng )建UUP.

查看WLP admin console中的結果...

利用UUP實(shí)現Portal和已有J2EE應用的單點(diǎn)登錄...

優(yōu)點(diǎn)和限制條件...

第一步:制作online.usr文件...

第二步:制作login.jspLoginBacking.java.

第三步:制作SSOFilter.java.

利用RSS技術(shù)實(shí)現Portal和其他Web應用的內容整合...

Desktop中的中文問(wèn)題...

第一種方式...

第二種方式...

利用UUP實(shí)現PortalLDAP同步用戶(hù)信息

同步用戶(hù)信息(profile)的必要性

如果項目中有以下因素存在則有必要同步PortalLDAP服務(wù)器的用戶(hù)信息。

1.         LDAP服務(wù)器為整個(gè)項目中的所有應用作集中用戶(hù)身份驗證服務(wù)。在這種情況下Portal不一定要和LDAP同步。因為WLS作為WLP的基礎組件可以為Portal提供身份驗證服務(wù),所以只需要WLSLDAP同步即可。具體如何在WLS中配置LDAP身份驗證服務(wù)請看LDAP服務(wù)器端的配置WLS Admin console中的配置部分。

2.         Portal的用戶(hù)數量眾多,而且由于用戶(hù)的所屬的組織機構(ou)變化頻繁,導致用戶(hù)的角色經(jīng)常變化。在這種情況下,完全有必要讓PortalLDAP服務(wù)器獲取用戶(hù)信息,否則開(kāi)發(fā)和維護的任務(wù)將相當繁重。在Portal中為了達到基于角色的個(gè)性化,必須在Portal admin中給Portal組件指定具體的角色。讓Portal 訪(fǎng)問(wèn)LDAP,從LDAP同步用戶(hù)的組織機構,解決了在Portal中維護用戶(hù)信息的問(wèn)題,體現了LDAP作為用戶(hù)身份認證服務(wù)的價(jià)值。


下面將以業(yè)界領(lǐng)先的Novell NDS為例詳細描述具體的配置方法。NDS的基本配置情況可以通過(guò)圖1了解。

1顯示了目錄樹(shù)的組織結構,其中Groups是用于管理的環(huán)境(Context),我們用來(lái)存放groups。

 Users是存放組織單元和用戶(hù)的組織(Organization)。

LDAP服務(wù)器端的配置

不同的LDAP服務(wù)器配置方法各不相同,下面方法簡(jiǎn)單介紹Novell NDSLDAP配置,所有操作都在ConsoleOne中進(jìn)行:

1.         Users下創(chuàng )建一個(gè)用戶(hù)PortalAdmin。該用戶(hù)應該是配置WLS域的管理員,用戶(hù)名和密碼要和其完全一致。所以建議在配置PortalDomain時(shí)選擇使用PortalAdmin作為域管理員。如果需要修改PortalDomain的管理員名和密碼則需要修改PortalDomain根目錄下的boot.property文件,只要將username=password=后面的密文改為明文即可,當第一次重起WLS后,系統會(huì )自動(dòng)把明文以3DES算法加密。

2.         Groups下創(chuàng )建兩個(gè)組Administrators,PortalSystemAdministrators。

3.         Portaladmin加入AdministratorsPortalSystemAdministrators組。

4.          PortalAdmin分配權限。也就是指定PortalAdminUsers這個(gè)組織的受托者(Trustees)。在Users上點(diǎn)擊右鍵,選擇此對象的受托者(Trustees of This Object)。選擇PortalAdmin,然后選擇合適的權限。

5.         為了讓PortalAdmin和管理環(huán)境Groups中的LDAP Group聯(lián)系,還要啟用明文口令。在LDAP Group上點(diǎn)擊右鍵,選擇屬性,在一般(General)項中選擇啟用明文口令復選框。

WLS Admin console中的配置

LDAP的身份驗證替換WLS默認的身份驗證服務(wù)需要如下配置:

1.         進(jìn)入WLS admin console(需要先啟動(dòng)WLS),以下兩種方法都可以:

  • 打開(kāi)IE瀏覽器,在地址欄輸入http:\<hostname>:<port>console。hostnameWLS所在的主機名,一般為本地主機localhost。portWLS的端口,默認端口是7001。
  • Workshop中打開(kāi)你的Portal應用后,通過(guò)Tools->Weblogic Server->Weblogic Console打開(kāi)。

2.         admin console左側的樹(shù)型菜單依次展開(kāi)Security -> Realms-> myrealm-> Providers-> Authentication。

3.         admin console右側頁(yè)面中選擇合適的目錄服務(wù)的類(lèi)型。我們選擇Configure a new Novell Authenticator...。

4.         在新的頁(yè)面中,General 面板保持默認值即可,如果有多個(gè)身份驗證服務(wù)器同時(shí)存在則需要考慮Control Flag的選項。點(diǎn)擊Create開(kāi)始配置。

5.         Novell LDAP 面板。這里的參數是Weblogic用來(lái)和LDAP連接的。輸入的參數有:Host ,NDS服務(wù)器的IP地址;Port ,NDS的端口號,默認是389;Principal ,Weblogic用來(lái)連接NDS的用戶(hù)名的DN,依照圖1應該是cn=admin,o=Groups; Credential,DN的密碼。其他參數保持默認。點(diǎn)擊Apply。

6.         Users 面板。輸入的參數有:User Base DN,用戶(hù)的基礎DN,一般為用戶(hù)所屬的ouDN,如果用戶(hù)分散在多個(gè)以同一o為根的ou中就需要把該值設為包含這些ouoDN,依照圖1應該是o=Users。其他參數保持默認。點(diǎn)擊Apply。

7.         Groups 面板。輸入的參數有:Group Base DN,組的基礎DN,一般為管理環(huán)境的組織(o)DN,依照圖2應該是o=Groups。其他參數保持默認。點(diǎn)擊Apply。

8.         其他的面板暫時(shí)無(wú)需配置。配置完上述參數后重新啟動(dòng)這個(gè)PortalDomain WLS,然后再次登錄WLS admin console。

9.         admin console左側的樹(shù)型菜單依次展開(kāi)Security -> Realms-> myrealm-> Users Security -> Realms-> myrealm-> Groups。檢查上述步驟配置的結果。

10.     如果配置沒(méi)有問(wèn)題,WLSLDAP獲得了用戶(hù),還需要將原來(lái)的默認身份驗證刪除。分別是:DefaultAuthenticator,DefaultIdentityAsserter。

WLP應用中部署的 p13n_ejb.jar的配置

為了讓PortalLDAP獲得用戶(hù)信息,實(shí)現基于角色的個(gè)性化配置,就必須要部署一個(gè)無(wú)狀態(tài)Session BeanLDAP獲得用戶(hù)的信息。這個(gè)無(wú)狀態(tài)Session Bean負責UUPLDAP之間的映射。實(shí)現這個(gè)無(wú)狀態(tài)Session Bean有兩種方案,可以自己開(kāi)發(fā),也可以使用WLPp13n_ejb.jar中提供的一個(gè)參考實(shí)現,com.bea.p13n.usermgmt.profile.ldap。實(shí)際上,對這個(gè)參考實(shí)現作一些配置之后就基本能夠滿(mǎn)足項目的要求。下面是具體的配置方法。ejb-jar.xmlweblogic-ejb.xml位于你的Portal應用的根目錄下的p13n_ejb.jar中的META_INF目錄中,application_config位于你的應用的根目錄下的META_INF目錄中。

1.         p13n_ejb.jar復制到另外一個(gè)目錄中。在這一新的目錄中執行jar xvf p13n_ejb.jar META-INFejb-jar.xml META-INFweblogic-ejb-jar.xml命令,把p13n_ejb.jar中的META_INF目錄下的ejb-jar.xmlweblogic-ejb-jar.xml解壓出來(lái)。

2.         修改ejb-jar.xml。找到<!-- Ldap Property Manager    這一行,取消這一注釋?zhuān)?/span>LdapPropertyManager這個(gè)無(wú)狀態(tài)session bean可以部署。

3.       LdapPropertyManager的部署描述中的多數配置和WLS Admin console中的配置一致,見(jiàn)圖2。


     2 XMLSpy中看到的ejb-jar.xml

如果配置了config/principalconfig/principalCredential兩項,就可以將config/credentialMBeanName這一項注釋或刪除掉。

4.     找到<!-- User Profile Manager-->這一行,開(kāi)始修改UserProfileManager的部署描述。

5.     注意下面一項:

     <!-- map all properties in property set ldap to ldap server -->

     <env-entry>

        <env-entry-name>PropertyMapping/ldap</env-entry-name>

        <env-entry-type>java.lang.String</env-entry-type>

        <env-entry-value>LdapPropertyManager</env-entry-value>

   </env-entry>

其中PropertyMapping/ldap指明LdapPropertyManager作為ldap這個(gè)UUP中的PropertySetLDAP服務(wù)器之間的映射,以后創(chuàng )建UUP文件時(shí)的名稱(chēng)必須和這里指定的”ldap”完全一致。

6.         修改下面一項:

   <!-- an ldap property manager -->

   <ejb-ref>

       <ejb-ref-name>ejb/LdapPropertyManager</ejb-ref-name>

       <ejb-ref-type>Session</ejb-ref-type>

       <home>com.bea.p13n.property.EntityPropertyManagerHome</home>

       <remote>com.bea.p13n.property.EntityPropertyManager</remote>

       <!-- <ejb-link>LdapPropertyManager</ejb-link> -->

       <ejb-link>EntityPropertyManager</ejb-link>

</ejb-ref>

修改為:

   <!-- an ldap property manager -->

    <ejb-ref>

       <ejb-ref-name>ejb/LdapPropertyManager</ejb-ref-name>

       <ejb-ref-type>Session</ejb-ref-type>

       <home>com.bea.p13n.property.LdapPropertyManagerHome</home>

       <remote>com.bea.p13n.property.LdapPropertyManager</remote>

       <ejb-link>LdapPropertyManager</ejb-link>

       <!-- <ejb-link>EntityPropertyManager</ejb-link> -->

</ejb-ref>

       請注意home,remote接口和ejb-link的變化。

7.         按需要,可在<!-- Group profile manager -->中作同樣修改。

8.         取消對

    <method>

       <ejb-name>LdapPropertyManager</ejb-name>

       <method-name>*</method-name>

</method>

       的注釋。ejb-jar.xml的修改完成。

9.         修改weblogic-ejb-jar.xml文件,找到

<!-- LdapPropertyManager

    <weblogic-enterprise-bean>

        <ejb-name>LdapPropertyManager</ejb-name>

        <enable-call-by-reference>True</enable-call-by-reference>        <jndi-name>${APPNAME}.BEA_personalization.LdapPropertyManager</jndi-name>

    </weblogic-enterprise-bean>

-->

取消對這一項的注釋。

10.     取消對

    <method>

       <ejb-name>LdapPropertyManager</ejb-name>

       <method-name>*</method-name>

</method>

的注釋。weblogic-ejb-jar.xml的修改完成

11.     META-INF中的ejb-jar.xmlweblogic-ejb-jar.xml都修改完成后,執行jar uvf p13n_ejb.jar META-INF命令,將這兩個(gè)文件更新回p13n_ejb.jar中。然后將p13n_ejb.jar重新復制到Portal應用的根目錄下,覆蓋原始文件。

12.     修改application_config文件,在<CacheManager Name="CacheManager"></CacheManager>中加入一項:<Cache Name="ldapPropertyCache" TimeToLive="60000" Notes="Cache for UUP LDAP." MaxEntries="100"/>。該項配置同樣可以在WLP admin consoleService Administration->CacheManager中添加和修改。

13.     所有的配置都完成以后,需要重新啟動(dòng)weblogic,并在WLS admin console檢查p13n_ejb是否部署成功。

創(chuàng )建UUP

只有創(chuàng )建的UUP的文件名必須和上述ejb-jar.xml中的指定的文件名完全一致,LdapPropertyManager才可以把LDAP服務(wù)器中的User的屬性映射到UUP文件中定義的屬性集中。

1.         Workshop中打開(kāi)你的Portal應用,在datauserprofiles下創(chuàng )建名為ldap.usr的屬性集文件。

2.         屬性集中的屬性必須和LDAP服務(wù)器中的屬性對應才會(huì )有意義。所以應該對照LDAP服務(wù)器中的用戶(hù)屬性向ldap.usr屬性集中添加屬性。

3.         可以去http://www.iit.edu/~gawojar/ldap/ 下載一個(gè)LDAP browser,在其中觀(guān)察LDAPUser對象的屬性。User對象的屬性類(lèi)似圖3。


3

4.         對應的我們在ldap.usr中加入如下屬性:


4

UUP屬性集中的屬性必須是LDAP服務(wù)其中User對象屬性的子或全集,并且屬性的類(lèi)型一致。

查看WLP admin console中的結果

1.         登錄WLP admin console。在Workshop中打開(kāi)Portal應用后在通過(guò)Portal->Portal Administration打開(kāi)。

2.         WLS域管理員身份(PortalAdmin)登陸,該WLS域管理員也是在LDAP服務(wù)器端創(chuàng )建的超級用戶(hù)。

3.         點(diǎn)擊Users & Groups,然后選擇一個(gè)組。在右側頁(yè)面的1號區域點(diǎn)擊Show All Users in Group,然后再2號區域點(diǎn)擊一個(gè)用戶(hù)名。

4.         在新頁(yè)面中選擇Edit User Profile Values標簽,然后在Properties from Property Set:選擇ldap。

5.        


可以看到LdapPropertyManager的映射結果,如圖5,可對比圖3觀(guān)看。

5

利用UUP實(shí)現Portal和已有J2EE應用的單點(diǎn)登錄

優(yōu)點(diǎn)和限制條件

在企業(yè)應用整合中,Portal負責的是表現層和部分Web Component(Portlets)層的整合。而在這些整合應用中又以單點(diǎn)登錄(Single Sign-On)最為常見(jiàn),其實(shí)SSO也最能代表Portal在應用整合中的作用。

下面介紹一個(gè)在項目中使用的簡(jiǎn)單方案,他利用一個(gè)Servlet FilterWLPUUP實(shí)現了Portal和項目中的其他J2EE應用通過(guò)同一個(gè)LDAP服務(wù)器進(jìn)行身份驗證的目的,用戶(hù)只需要在Portal中登錄一次,再訪(fǎng)問(wèn)其他和Portal整合的應用時(shí)無(wú)需再次登錄。這個(gè)Filter只需編寫(xiě)一次就可以部署到多個(gè)Web項目中去,可復用程度高。


這個(gè)方案也有一個(gè)限制,就是所有要整合的Web項目都必須是Portal應用中的項目。如圖6所示:

                     6

FTApp是一個(gè)Portal應用。FTPortalFTAPP這個(gè)應用下的一個(gè)Portal Web項目。RiseNet則是FTAPP這個(gè)應用下的一個(gè)普通 Web項目。之所以這樣做是為了讓同一個(gè)Portal應用下的項目共享一個(gè)Datasync Project,因為我們要用Datasync ProjectUUP機制存取同一個(gè)用戶(hù)在多個(gè)Web項目中的狀態(tài)。

因為有這個(gè)限制,所以在實(shí)現單點(diǎn)登錄之前應該把所有要整合到單點(diǎn)登錄環(huán)境的項目導入(Import)Portal應用中來(lái)。導入的方法是在Portal應用上點(diǎn)擊右鍵然后選擇Import Project。

下面開(kāi)始正式的開(kāi)發(fā)工作。這個(gè)過(guò)程需要創(chuàng )建的工件有:一個(gè)登錄用的JSP頁(yè)面,login.jsp,以及這個(gè)JSP頁(yè)面用到的LoginBacking.java類(lèi);一個(gè)Filter,SSOFilter.java;一個(gè)UUP文件,online.usr;

第一步:制作online.usr文件

Workshop中打開(kāi)你的Portal應用,在datauserprofiles下創(chuàng )建名為online.usr的屬性集文件。在文件中加入tokenpassword兩個(gè)屬性,他們的類(lèi)型都是Single Unrestricted。Online.usr的作用是存取已經(jīng)登錄的在線(xiàn)用戶(hù)的信息,用于以后在其他Web Project中登錄。

第二步:制作login.jspLoginBacking.java

這兩個(gè)文件可以從BEA提供的例子sampleportal中導入,然后在這個(gè)基礎上修改而來(lái)。他們的具體位置分別在:

%BEA_HOME%weblogic81samplesportalportalAppsampleportalportletslogin.jsp

%BEA_HOME%weblogic81samplesportalportalAppsampleportalWEB-INFsrcexamplesloginLoginBacking.java

把這兩個(gè)文件導入到你的Portal項目的相應位置。根據實(shí)際需要對login.jsp做一些界面修改即可,LoginBacking.java則要加入一些額外的邏輯,這些邏輯包括用戶(hù)在登錄進(jìn)Portal之后和退出Portal之前的操作兩部分。

打開(kāi)LoginBacking.java,進(jìn)行如下修改:

1.         添加import com.bea.p13n.usermgmt.profile.*;

2.         找到

String username = request.getParameter("username");

String password = request.getParameter("password");

兩行代碼,在他們后面加入一行:

ProfileWrapper profile = ProfileFactory.getProfile(username,"everyone");

3.         找到Authentication.login(username, password, request);這一行代碼。這行代碼正確執行的就是用戶(hù)登錄Portal。在這一行之后加入我們自己的代碼。我們的代碼要為用戶(hù)的這次登錄創(chuàng )建一個(gè)唯一的token,然后把這個(gè)token和用戶(hù)的密碼一起存入online.usr中。代碼示例:

代碼示例1

4.         找到Authentication.logout(request);這一行代碼。這行代碼正確執行的結果就是用戶(hù)退出Portal。在這一行之前加入我們自己的代碼。代碼將刪除在online.usr中存儲的用戶(hù)登錄tokenpassword。代碼示例:


代碼示例2

5.         注意讀者自己處理以上步驟profile操作的異常。

第三步:制作SSOFilter.java

SSOFilter.java應該部署到每一個(gè)和Portal整合的Web項目中,他的作用是檢查通過(guò)自己的Request對象,如果這個(gè)Request對應的Session沒(méi)有登錄就從Request對象得到tokenusername參數。通過(guò)username參數從online.usr中查找Portal存儲的token。比較這兩個(gè)token,驗證用戶(hù)是不是已經(jīng)在Portal中登錄過(guò)的合法用戶(hù)。如果通過(guò)了驗證,程序還要把online.usr中存儲的password取出,和username一起作為這個(gè)Web應用登錄的參數。在這個(gè)過(guò)程中發(fā)生任何錯誤都可以跳轉回Portal的登錄頁(yè)面,如果沒(méi)有錯誤和異常,這個(gè)Request就可以通過(guò)SSOFilter了。


SSOFilter制作完成后還要在web.xml中添加<filter> </filter><filter-mapping> </filter-mapping>配置項。參考代碼示例3

代碼示例3

利用RSS技術(shù)實(shí)現Portal和其他Web應用的內容整合

Portal和其他Web應用內容整合的最簡(jiǎn)單方式就是使用<IFrame>,但是這種方式引發(fā)的Session同步問(wèn)題在大型整合應用中往往是讓人無(wú)法接受的。必須采用一種全新的整合方式,使被整合的各個(gè)應用之間達到最大程度的松耦合。因為我們整合的是內容,不涉及表現,更不涉及業(yè)務(wù)邏輯,所以XML是我們的首選。其他 Web應用把XML(內容)格式的內容信息傳遞給Portal,Portal使用XSLT(表現)解析XML,把XML表現為HTML(內容+表現)各式展現給用戶(hù)。

為了使整合方案形成規范并符合標準,我們采用和RSS技術(shù),它是WEB站點(diǎn)之間交換內容的標準??梢詮?/span>BEA Portalsampleportal例子中找到符合RSS2.0規范的XML文件(rssBEA.xml)和解析XMLXSL文件(位于rss.jsp)。我們可以從sampleportal中導入這兩個(gè)文件,然后在這個(gè)基礎上修改而來(lái)。他們的具體位置分別在:

%BEA_HOME%weblogic81samplesportalportalAppsampleportalportlets ss ssBEA.xml

%BEA_HOME%weblogic81samplesportalportalAppsampleportalportlets ss ss.jsp

sampleportal演示的是如何整合外網(wǎng)信息,也就是整合的內容對于每個(gè)用戶(hù)都是一樣的,比如Yahoo的新聞等。而具體項目中的要求往往是整合的信息需要根據用戶(hù)的權限和角色的不同而不同,也就是個(gè)性化的內容,如通知,待辦文件,郵件列表等。這就對整合方案增加了如下要求:

1.         個(gè)性化內容整合的前提還是單點(diǎn)登錄。必須首先實(shí)現單點(diǎn)登錄才可以使其他Web應用為用戶(hù)提供安全的,個(gè)性化的內容。

2.         Portal發(fā)往其他Web應用的請求無(wú)需攜帶用戶(hù)名和密碼等識別用戶(hù)身份的參數,因為在第一次登錄這個(gè)Web應用時(shí)SSOFilter已經(jīng)解決了Session的問(wèn)題并且在Session中添加了識別用戶(hù)身份的參數。

3.         被整合的其他Web應用需要根據用戶(hù)的身份動(dòng)態(tài)生成XML內容,然后把XML內容響應給發(fā)送請求的Portal。

這個(gè)過(guò)程用圖說(shuō)7明:


7 虛線(xiàn)代表請求過(guò)程,實(shí)線(xiàn)代表響應過(guò)程



下面兩圖是一個(gè)整合的例子:

8 一個(gè)模仿MSN風(fēng)格的Portal界面。其中每個(gè)Portlet的內容都可能來(lái)自不同的外部應用甚至Internet。


9 每個(gè)Portlet可以編輯自己的表現。因為我們只整合內容,不整合邏輯。內容和表現是分離的。

Desktop中的中文問(wèn)題

WL Portal的中文問(wèn)題很多就是WL Server的中文問(wèn)題,只有少數和Portal自身相關(guān),但是這些問(wèn)題更加隱蔽。這其中最迷惑人的就是Desktop的中文問(wèn)題。


可以通過(guò)兩種途徑看到Portal的界面。一種是在Workshop中用Workshop Test Browser打開(kāi)正在設計的portal文件,這種方式用于開(kāi)發(fā)人員測試和預覽Portal。另一種是在WLP Admin Console中通過(guò)Portal Management打開(kāi)。這兩種方式打開(kāi)的Portal界面雖然相似,但是Portal后臺的處理過(guò)程是完全不一樣的。

第一種方式


這種方式我們稱(chēng)為”Single file mode”。這個(gè)”single file”指的就是在Portal項目中創(chuàng )建的擴展名是.portal的文件。這個(gè)文件其實(shí)是一個(gè)xml文件,我們用Workshop設計這個(gè)Portal文件,采用托拽等可視化操作,其實(shí)是在修改這個(gè)xml文件。在這個(gè)Portal文件上點(diǎn)右鍵,選擇Open as xml,就可以看到這個(gè)Portal的本來(lái)面目了。如果鼠標右鍵的彈出菜單中沒(méi)有,可以在Tools->Application Properties->Portal中選擇is the Open as XML Option available復選框。

10

Workshop Test Browser中展現這個(gè)Portal的過(guò)程如下圖所示:


11

第一步:Portal Server 首先解析.portal XML文件,從中得到這個(gè)Portal的全局配置屬性,從中得知portal使用了哪些組件(shell,books,pages,layouts,menus)。

第二步:獲得這些portal組件的資源信息。

第三步:按照資源信息,定位并找到這些資源(images,javascript,CSS,JSP,HTML)。

第四部:把所有的資源合并成HTML。

可以看出Portal Server會(huì )把.portal文件中的<portal:directive.page contentType="text/html;charset=GBK"/>這一行轉換成<%@ page contentType="text/html; charset=GBK" %>用于整個(gè)Portal中的所有JSP頁(yè)面,這一行的默認值是charset=UTF8。所以在測試和預覽時(shí)的中文問(wèn)題可以在這里解決。這個(gè)中文問(wèn)題相對很好解決。

第二種方式

這種方式我們稱(chēng)為”Database mode”。這種方式用于實(shí)際的使用當中,即Portal的管理員在WLP Admin Console中根據角色把Desktop授權給相應具有權限的用戶(hù)后,用戶(hù)在訪(fǎng)問(wèn)自己的 Desktop時(shí)Portal Server的處理方式。顯然Desktop中的中文參數傳遞問(wèn)題不通過(guò)上述第一種方式的方法修改。

注意到這樣一點(diǎn),就是這種方式訪(fǎng)問(wèn)desktopURL中包含appmanager。然后試圖去Web.xml中找到和這樣的URL匹配的Servlet。果然發(fā)現如下Servlet配置項:

<servlet>

    <servlet-name>AppManagerServlet</servlet-name>

    <servlet-class>com.bea.netuix.servlets.manager.PortalServlet</servlet-class>

    <load-on-startup>1</load-on-startup>

  </servlet>

  <servlet-mapping>

    <servlet-name>AppManagerServlet</servlet-name>

    <url-pattern> /appmanager/* </url-pattern>

  </servlet-mapping>

AppManagerServlet所在的包路徑得到線(xiàn)索,com.bea.netuix包負責用戶(hù)界面的合成和展現。所以進(jìn)一步發(fā)現com.bea.netuix.application.localization.definition.LocalizationLocale這個(gè)類(lèi)(可以下載BEA PortalAPI文檔)。這個(gè)類(lèi)中的public void setEncoding(String encoding),這個(gè)方法就是設置編碼字符集的。這個(gè)類(lèi)還有一個(gè)靜態(tài)字符串常量public static final String DEFAULT_ENCODING,而這個(gè)變量的值是”UTF-8”。見(jiàn)圖12。


12

WLP Admin ConsolePortal項目的其他配置文件中均沒(méi)有發(fā)現指定其他編碼字符集的方法。

我們稱(chēng)這種方式為”Database mode”是因為它是基于數據庫的,它需要從數據庫中查尋書(shū)然后合成用戶(hù)界面。那么關(guān)于字符集的信息也一定存儲在數據庫中。根據這個(gè)思路,進(jìn)行如下操作(sampleportal為例)

1. Workshop中打開(kāi)Tools->Weblogic Server->DataSource Viewer。見(jiàn)圖13        


13

2.         %BEA_HOME%weblogic81commonevalpointbase ools目錄中運行startPointBaseConsole.cmd

3. Connect to DataBase窗口按照圖12的信息添加相應選項,然后連接數據庫。見(jiàn)圖14        


14

4.         在左側的目錄中找到SCHEMAS->WEBLOGIC->TABLES->L10N_LOCALE表。在L10N_LOCALE上點(diǎn)右鍵,選擇Select * FROM “WEBLOGIC”.” L10N_LOCALE”。問(wèn)題的根源一目了然。

5.         按你的要求修改Encoding,Language等字段。

總結

其他解決方案還在整理之中,希望很快能夠和大家見(jiàn)面。也希望您能通過(guò)Email和我聯(lián)系,交流經(jīng)驗。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Unified User Profiles
BEA到臺灣、BEA在臺灣: Weblogic Portal 8.1:整合LDAP
開(kāi)發(fā)WTC服務(wù)ejb
JBuilder7+Weblogic7+mysql 開(kāi)發(fā)EJB的配置(加入BMP,CMP開(kāi)發(fā)實(shí)例)
BEA WebLogic平臺下J2EE調優(yōu)攻略----第五章 性能監控和性能分析- jac...
使用Maven 2創(chuàng )建WebLogic Portal應用程序
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久