锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲人成7777影视在线观看,亚洲美女自拍视频,亚洲伊人色欲综合网http://m.tkk7.com/dudubird/category/14206.htmlzh-cnFri, 02 Mar 2007 05:58:54 GMTFri, 02 Mar 2007 05:58:54 GMT60Portal Framework浠嬬粛http://m.tkk7.com/dudubird/archive/2006/08/30/66629.html姣涢噷姹傛柉鐨勫寲鐭?/dc:creator>姣涢噷姹傛柉鐨勫寲鐭?/author>Wed, 30 Aug 2006 04:01:00 GMThttp://m.tkk7.com/dudubird/archive/2006/08/30/66629.htmlhttp://m.tkk7.com/dudubird/comments/66629.htmlhttp://m.tkk7.com/dudubird/archive/2006/08/30/66629.html#Feedback0http://m.tkk7.com/dudubird/comments/commentRss/66629.htmlhttp://m.tkk7.com/dudubird/services/trackbacks/66629.html闃呰鍏ㄦ枃

]]>
portal鍜宲ortlet鍩烘湰姒傚康浠嬬粛http://m.tkk7.com/dudubird/archive/2006/08/17/64125.html姣涢噷姹傛柉鐨勫寲鐭?/dc:creator>姣涢噷姹傛柉鐨勫寲鐭?/author>Thu, 17 Aug 2006 06:53:00 GMThttp://m.tkk7.com/dudubird/archive/2006/08/17/64125.htmlhttp://m.tkk7.com/dudubird/comments/64125.htmlhttp://m.tkk7.com/dudubird/archive/2006/08/17/64125.html#Feedback0http://m.tkk7.com/dudubird/comments/commentRss/64125.htmlhttp://m.tkk7.com/dudubird/services/trackbacks/64125.html鐗堟潈澹版槑錛氫換浣曡幏寰桵atrix鎺堟潈鐨勭綉绔欙紝杞澆鏃惰鍔″繀浠ヨ秴閾炬帴褰㈠紡鏍囨槑鏂囩珷鍘熷鍑哄鍜屼綔鑰呬俊鎭強鏈0鏄?/span>
浣滆?Sunil Patil;observer
鍘熸枃鍦板潃:http://www.onjava.com/pub/a/onjava/2005/10/19/challenging-java-dominance.html
涓枃鍦板潃:http://www.matrix.org.cn/resource/article/44/44029_Portlet.html
鍏抽敭璇嶏細 Portlet Java


Portlets
鈥淧ortlets鏄竴縐峎eb緇勪歡錛嶅氨鍍弒ervlets錛嶆槸涓撲負灝嗗悎鎴愰〉闈㈤噷鐨勫唴瀹硅仛闆嗗湪涓璧瘋岃璁$殑銆傞氬父璇鋒眰涓涓猵ortal欏甸潰浼氬紩鍙戝涓猵ortlets琚皟鐢ㄣ傛瘡涓猵ortlet閮戒細鐢熸垚鏍囪孌碉紝騫朵笌鍒殑portlets鐢熸垚鐨勬爣璁版緇勫悎鍦ㄤ竴璧峰祵鍏ュ埌portal欏甸潰鐨勬爣璁板唴銆傗濓紙鎽樿嚜Portlet瑙勮寖錛孞SR 168錛?br />
鏈枃鎺㈣浜嗕互涓嬪唴瀹癸細
1.聽聽聽聽聽聽聽聽Portal欏甸潰鐨勫厓绱?
2.聽聽聽聽聽聽聽聽Portal鏄粈涔堬紵
3.聽聽聽聽聽聽聽聽Portlets鏄粈涔堬紵
4.聽聽聽聽聽聽聽聽寮鍙戔淗ello World鈥?Portlet
5.聽聽聽聽聽聽聽聽鍦≒luto涓婇儴緗睭elloWorld Portlet
6.聽聽聽聽聽聽聽聽濡備綍鍒涘緩Portal欏甸潰
7.聽聽聽聽聽聽聽聽緇撴潫璇?
8.聽聽聽聽聽聽聽聽璧勬簮


銆銆Portlet瑙勮寖?yōu)畣portlet瀹氫箟涓轟竴縐嶁滃熀浜嶫ava鎶鏈殑web緇勪歡錛岀敱澶勭悊璇鋒眰鍜岀敓鎴愬姩鎬佸唴瀹圭殑portlet瀹瑰櫒綆$悊鈥濄傝繖孌佃瘽鍚搗鏉ユ槸涓嶆槸鏈変簺璐硅В錛熸湰鏂囧皢璇存槑portlets鏄粈涔堜互鍙婅兘鐢ㄥ畠浠仛浠涔堛?br />

鍥?鏄劇ず浜嗗湪璁塊棶涓涓猵ortal鏈嶅姟鍣ㄦ椂嫻忚鍣ㄤ腑欏甸潰鐨勬牱瀛愩?br />

鍥? 鍏稿瀷鐨刾ortal鏈嶅姟鍣ㄧ殑欏甸潰錛堢偣鍑繪煡鐪嬪師鍥撅級

銆銆濡傛灉浠旂粏鏌ョ湅嫻忚鍣ㄩ噷鐨勯〉闈紝灝變細鐪嬪埌欏甸潰鏄敱涓嶅悓鐨勨滅獥鍙b濈粍鎴愮殑銆備竴涓獥鍙g敤浜庡埛鏂板ぉ姘旓紝鍙︿竴涓敤浜庢柊闂伙紝榪樻湁涓涓敤浜庡埛鏂拌偂浠鳳紝絳夌瓑銆傝繖閲岀殑姣忎竴涓獥鍙i兘浠h〃浜嗕竴涓猵ortlets銆傚鏋滅湅寰楀啀浠旂粏浜涳紝榪樹細鍙戠幇姣忎釜紿楀彛閮芥湁涓涓爣棰樻潯鍜屼竴浜涙寜閽紝鍖呮嫭鏈灝忓寲鍜屾渶澶у寲鎸夐挳銆?br />
銆銆鍦ㄧ郴緇熼噷錛岃繖浜涚獥鍙f槸鐩鎬簰鐙珛寮鍙戙佸悇涓嶅悓鐨勫簲鐢ㄣ傛柊闂籶ortlet鐨勫紑鍙戣呭垱寤哄簲鐢ㄥ茍鎵撳寘鎴恮ar鏍煎紡鐨勬枃浠?闅忓悗portal鏈嶅姟鍣ㄧ殑綆$悊鍛樺湪鏈嶅姟鍣ㄤ笂閮ㄧ講璇ar鏂囦歡騫跺垱寤洪〉闈紝鎺ヤ笅鏉ユ瘡涓敤鎴蜂細閫夋嫨鍦ㄤ粬鐨勯〉闈㈤噷鏈夊摢浜涘簲鐢ㄣ備緥濡傦紝濡傛灉鐢ㄦ埛瀵硅偂浠蜂笉鎰熷叴瓚h屽浣撹偛鎰熷叴瓚o紝浠栧彲浠ョ敤鈥滀綋鑲測濈獥鍙f浛鎹⑩滆偂浠封濈獥鍙c?br />
銆銆Portlet鎶鏈渶瑕佸涔犺澶氭柊姒傚康錛屾湰鏂囦笉鍙兘鍏ㄩ兘娑電洊錛屽洜姝ゆ湰鏂囧垎涓轟袱閮ㄥ垎銆傚湪絎竴閮ㄥ垎閲屾垜浠緇嗚鏄巔ortals鍜宲ortlets錛屽茍寮鍙戜竴涓畝鍗曠殑鈥淗ello World鈥漰ortlet錛涘湪絎簩閮ㄥ垎鎴戜滑灝嗘帰璁ㄤ竴浜涢珮綰т富棰樸?br />
銆銆鎴戜滑灝嗙敤Apache鐨凱luto鏈嶅姟鍣紙Portlet API 1.0瑙勮寖鐨勫弬鑰冨疄鐜幫級鏉ユ祴璇曟垜浠殑紺轟緥portlets錛屾垜浠繕浼氳姳浜涙椂闂存帰璁ㄥ浣曞畨瑁呭拰浣跨敤Pluto鏈嶅姟鍣ㄣ?br />
Portal欏甸潰鐨勫厓绱?/span>

鍥?鏄劇ず浜哖ortal欏甸潰鐨勫悇縐嶅厓绱犮?br />

鍥? portal欏甸潰鐨勫厓绱?br />
銆銆姣忎釜portlet欏甸潰鐢變竴涓垨澶氫釜portlet紿楀彛緇勬垚錛屾瘡涓猵ortlet紿楀彛鍙堝垎涓轟袱閮ㄥ垎錛氫竴涓槸澶栬錛屽畠鍐沖畾浜唒ortlet紿楀彛鐨勬爣棰樻潯銆佹帶鍒跺拰杈圭晫鐨勬牱寮忥紱鍙︿竴涓槸portlet孌碉紝瀹冪敱portlet搴旂敤濉厖銆?br />
銆銆Portal鏈嶅姟鍣ㄥ喅瀹氫簡portal欏甸潰鐨勬暣浣撹鎰燂紝鍍忔爣璇嗐佹爣棰樻潯棰滆壊銆佹帶鍒跺浘鏍囩瓑銆傞氳繃淇敼鍑犱釜JSP鍜宑ss妯℃澘鏂囦歡灝卞彲浠ユ敼鍙榩ortal鐨勬暣涓鎰熴傛垜浠皢鍦ㄢ滃浣曞垱寤簆ortal欏甸潰鈥濋儴鍒嗗姝ゅ仛娣卞叆璁ㄨ銆?br />
Portal鏄粈涔堬紵

銆銆鍦ㄤ簡瑙ortlet涔嬪墠鏈夊繀瑕佸厛浜嗚Вportal銆傚湪Portlet瑙勮寖閲屾槸榪欐牱璁茬殑錛氣減ortal鏄竴縐峸eb搴旂敤錛岄氬父鐢ㄦ潵鎻愪緵涓у寲銆佸崟嬈$櫥褰曘佽仛闆嗗悇涓俊鎭簮鐨勫唴瀹癸紝騫朵綔涓轟俊鎭郴緇熻〃鐜板眰鐨勫涓匯傝仛闆嗘槸鎸囧皢鏉ヨ嚜鍚勪釜淇℃伅婧愮殑鍐呭闆嗘垚鍒頒竴涓獁eb欏甸潰閲岀殑媧誨姩鈥濄?br />
銆銆Portal鐨勫姛鑳藉彲浠ュ垎涓轟笁涓富瑕佹柟闈細
1.聽聽聽聽聽聽聽聽Portlet瀹瑰櫒錛歅ortlet瀹瑰櫒涓巗ervlet瀹瑰櫒闈炲父綾諱技錛屾墍鏈夌殑portlet閮介儴緗插湪portlet瀹瑰櫒閲岋紝portlet瀹瑰櫒鎺у埗portlet鐨勭敓鍛藉懆鏈熷茍涓哄叾鎻愪緵蹇呰鐨勮祫婧愬拰鐜淇℃伅銆侾ortlet瀹瑰櫒璐熻矗鍒濆鍖栧拰閿姣乸ortlets錛屽悜portlets浼犻佺敤鎴瘋姹傚茍鍚堟垚鍝嶅簲銆?br />2.聽聽聽聽聽聽聽聽鍐呭鑱氶泦錛歅ortlet瑙勮寖涓瀹歱ortal鐨勪富瑕佸伐浣滀箣涓鏄仛闆嗙敱鍚勭portlet搴旂敤鐢熸垚鐨勫唴瀹癸紝鎴戜滑灝嗗湪鈥滃浣曞垱寤篜ortal欏甸潰鈥濋儴鍒嗗姝ゅ仛榪涗竴姝ヨ璁恒?br />3.聽聽聽聽聽聽聽聽鍏叡鏈嶅姟錛歱ortlet鏈嶅姟鍣ㄧ殑涓涓己欏規(guī)槸瀹冩墍鎻愪緵鐨勪竴濂楀叕鍏辨湇鍔°傝繖浜涙湇鍔″茍涓嶆槸portlet瑙勮寖鎵瑕佹眰鐨勶紝浣唒ortal鐨勫晢涓氬疄鐜扮増鏈彁渚涗簡涓板瘜鐨勫叕鍏辨湇鍔′互鏈夊埆浜庡畠浠殑绔炰簤鑰呫傚湪澶ч儴鍒嗗疄鐜頒腑閮芥湁鏈涙壘鍒扮殑鍑犱釜鍏叡鏈嶅姟鏈夛細
聽聽聽聽聽聽聽聽 o 鍗曟鐧誨綍錛氬彧闇鐧誨綍portal鏈嶅姟鍣ㄤ竴嬈″氨鍙互璁塊棶鎵鏈夊叾瀹冪殑搴旂敤錛岃繖鎰忓懗鐫浣犳棤闇鍐嶅垎鍒櫥褰曟瘡涓涓簲鐢ㄣ備緥濡備竴鏃︽垜鐧誨綍浜嗘垜鐨刬ntranet緗戠珯錛屾垜灝辮兘璁塊棶mail搴旂敤銆両M娑堟伅搴旂敤鍜屽叾瀹冪殑intranet搴旂敤錛屼笉蹇呭啀鍒嗗埆鐧誨綍榪欎簺搴旂敤銆?br />銆銆Portal鏈嶅姟鍣ㄤ細涓轟綘鍒嗛厤涓涓氳璇佸簱銆備綘鍙渶瑕佸湪mail搴旂敤閲岃瀹氫竴嬈$敤鎴峰悕鍜屽瘑鐮侊紝榪欎簺淇℃伅灝嗕互鍔犲瘑鐨勬柟寮忓瓨鍌ㄥ湪閫氳璇佸簱涓傚湪浣犲凡鐧誨綍鍒癷ntranet緗戠珯騫惰璁塊棶mail搴旂敤鐨勬椂鍊欙紝portal鏈嶅姟鍣ㄤ細浠庨氳璇佸簱涓鍙栦綘鐨勯氳璇佹浛浣犵櫥褰曞埌mail鏈嶅姟鍣ㄤ笂銆備綘瀵瑰叾瀹冨簲鐢ㄧ殑璁塊棶涔熷皢鐓ф澶勭悊銆?br />聽聽聽聽聽聽聽聽聽聽o涓у寲錛氫釜鎬у寲鏈嶅姟鐨勫熀鏈疄鐜頒嬌鐢ㄦ埛鑳戒粠涓ゆ柟闈釜鎬у寲濂圭殑欏甸潰錛氱涓錛岀敤鎴峰彲浠ユ牴鎹ス鐨勮嚜韜枩濂藉喅瀹氭爣棰樻潯鐨勯鑹插拰鎺у埗鍥炬爣銆傜浜岋紝鐢ㄦ埛鍙互鍐沖畾鍦ㄥス鐨勯〉闈笂鏈夊摢浜沺ortlets銆備緥濡傦紝濡傛灉鎴戞槸涓綋鑲茶糠錛屾垜鍙兘浼氱敤涓涓兘鎻愪緵鎴戦挓鐖辯悆闃熸渶鏂頒俊鎭殑portlet鏉ュ彇浠h偂紲ㄥ拰鏂伴椈portlets銆?br />聽聽聽聽聽聽銆銆涓浜涘湪涓у寲鏈嶅姟鏂歸潰棰嗗厛鐨勫晢涓氬疄鐜扮増鏈厑璁鎬綘寤虹珛涓虹敤鎴鋒樉紺轟粈涔堟牱鐨勫簲鐢ㄦ墍渚濇嵁鐨勬爣鍑嗭紙濡傛敹鍏ュ拰鍏磋叮錛夈傚湪榪欑鎯呭喌涓嬶紝鍙互璁懼畾涓浜涘儚鈥滃浠諱綍鏀跺叆涓篨鐨勭敤鎴鋒樉紺洪璧犲晢鍝佺殑portlet鈥濆拰鈥滃浠諱綍鏀跺叆涓篨鐨勭敤鎴鋒樉紺烘墦鎶樺晢鍝佺殑portlet鈥濊繖鏍風殑鍟嗕笟瑙勫垯銆?br />
銆銆聽聽聽聽聽聽姝ゅ榪樻湁涓浜涘叕鍏辨湇鍔★紝姣斿鏈哄櫒緲昏瘧錛屾槸鐢眕ortal鏈嶅姟鍣ㄥ皢portlet鐢熸垚鐨勫唴瀹圭炕璇戜負鐢ㄦ埛瑕佹眰鐨勮璦銆傚ぇ閮ㄥ垎鐨勫晢涓歱ortal鏈嶅姟鍣ㄩ兘鏀寔鎵嬫寔璁懼璁塊棶騫跺叿鏈夐拡瀵逛笉鍚岀殑嫻忚緇堢鐢熸垚涓嶅悓鍐呭鐨勮兘鍔涖?br />
Portlets鏄粈涔堬紵

銆銆涓巗ervlets綾諱技錛宲ortlets鏄儴緗插湪瀹瑰櫒鍐呯敤鏉ョ敓鎴愬姩鎬佸唴瀹圭殑web緇勪歡銆備粠鎶鏈搴﹁portlet鏄竴涓疄鐜頒簡javax.portlet.Portlet鎺ュ彛鐨勭被錛屽畠琚墦鍖呮垚war鏂囦歡鏍煎紡閮ㄧ講鍒皃ortlet瀹瑰櫒閲屻?br />
銆銆Portlets鍦ㄤ互涓嬫柟闈笌servlets鐩鎬技錛?br />1.聽聽聽聽聽聽聽聽portlets鐢辯壒瀹氱殑瀹瑰櫒綆$悊銆?br />2.聽聽聽聽聽聽聽聽portlets鐢熸垚鍔ㄦ佸唴瀹廣?br />3.聽聽聽聽聽聽聽聽portlet鐨勭敓鍛藉懆鏈熺敱瀹瑰櫒綆$悊銆?br />4.聽聽聽聽聽聽聽聽portlets閫氳繃璇鋒眰/鍝嶅簲妯″紡涓巜eb瀹㈡埛绔氦浜掋?br />
銆銆Portlets鍦ㄤ互涓嬫柟闈笌servlets鐩稿紓錛?br />1.聽聽聽聽聽聽聽聽portlets鍙兘鐢熸垚鏍囪孌碉紝鑰屼笉鏄暣涓枃妗c?br />2.聽聽聽聽聽聽聽聽portlets娌℃湁鍙緵鐩存帴璁塊棶鐨刄RL鍦板潃銆備笉榪囦綘榪樻槸鑳藉璁╁埆浜洪氳繃URL璁塊棶鍒皃ortlet錛屼綘鍙互鎶婂寘鍚portlet鐨勯〉闈㈢殑URL鍙戠粰浠栥?br />3.聽聽聽聽聽聽聽聽portlets涓嶈兘闅忔剰鍦扮敓鎴愬唴瀹癸紝榪欐槸鍥犱負portlet鐢熸垚鐨勫唴瀹規(guī)渶緇堣鎴愪負portal欏甸潰鐨勪竴閮ㄥ垎銆傚鏋減ortal鏈嶅姟鍣ㄨ姹傜殑鏄痟tml/text綾誨瀷錛岄偅涔堟墍鏈夌殑portlets閮藉簲鐢熸垚html/text綾誨瀷鐨勫唴瀹廣傚啀姣旀柟璇達紝濡傛灉portal鏈嶅姟鍣ㄨ姹傜殑鏄疻ML綾誨瀷錛岄偅涔堟墍鏈夌殑portlets閮藉簲鐢熸垚WML綾誨瀷鐨勫唴瀹廣?br />
銆銆portlets榪樻彁渚涗簡涓浜涢檮鍔犵殑鍔熻兘錛?br />1.聽聽聽聽聽聽聽聽璁劇疆鍙傛暟鐨勬寔涔呭寲瀛樺偍錛歱ortlets鎻愪緵浜嗕竴涓狿ortletPreferences瀵硅薄鐢ㄦ潵淇濆瓨鐢ㄦ埛鐨勮緗弬鏁般傝繖浜涘弬鏁拌瀛樺叆涓涓寔涔呭寲鏁版嵁搴擄紝榪欐牱鏈嶅姟鍣ㄩ噸鍚悗鏁版嵁渚濈劧鏈夋晥銆傚紑鍙戣呬笉蹇呭叧蹇冭繖浜涙暟鎹瓨鍌ㄧ殑鍏蜂綋瀹炵幇鏈哄埗銆?br />2.聽聽聽聽聽聽聽聽璇鋒眰澶勭悊錛歱ortlets鎻愪緵浜嗘洿涓虹粏綺掑害鐨勮姹傚鐞嗐傚浜庣敤鎴峰湪portlet涓婂姩浣滄椂鍚戣portlet鍙戝嚭鐨勮姹?涓縐嶇О涓烘椿璺冩湡鐨勭姸鎬?錛屾垨鑰呭洜鐢ㄦ埛鍦ㄥ叾瀹僷ortlet涓婂姩浣滆屽紩鍙戠殑鍒鋒柊欏甸潰璇鋒眰錛孭ortal鏈嶅姟鍣ㄦ彁渚涗簡涓ょ涓嶅悓鐨勫洖璋冩柟娉曟潵澶勭悊銆?br />3.聽聽聽聽聽聽聽聽Portlet妯″紡錛歱ortlets鐢ㄦā寮忕殑姒傚康鏉ヨ〃紺虹敤鎴峰湪鍋氫粈涔堛傚湪浣跨敤mail搴旂敤鐨勬椂鍊欙紝浣犲彲鑳戒細鐢ㄥ畠鏉ヨ淇°佸啓淇℃垨媯鏌ヤ俊浠垛曗曡繖浜涢兘鏄痬ail搴旂敤鐨勯瀹氬姛鑳斤紝Portlets閫氬父浠IEW妯″紡鎻愪緵榪欎簺鍔熻兘銆備絾榪樻湁涓浜涙椿鍔紝鍍忔寚瀹氬埛鏂版椂闂存垨錛堥噸鏂幫級璁劇疆鐢ㄦ埛鍚嶅拰瀵嗙爜錛岃繖浜涙椿鍔ㄥ厑璁哥敤鎴峰畾鍒跺簲鐢ㄧ殑琛屼負錛屽洜姝ゅ畠浠敤鐨勬槸EDIT妯″紡銆侻ail搴旂敤鐨勫府鍔╁姛鑳界敤鐨勬槸HELP妯″紡銆?br />
銆銆濡傛灉浠旂粏鎯蟲兂鍏跺疄榪欓噷闈㈠茍娌℃湁浠涔堟柊涓滆タ錛屽畠浠弽鑰屽ぇ閮ㄥ垎閮芥槸鏅氱殑涓氬姟闇姹傘侾ortlet瑙勮寖鐨勪綔鐢ㄥ湪浜庡畠鎻愪緵浜嗕竴涓娊璞″眰錛岃繖鎵嶆槸瀹冨鎵鏈変笌涔嬬浉鍏崇殑浜猴紞鏈緇堢敤鎴楓佸紑鍙戣呭拰綆$悊鍛橈紞鐨勪環(huán)鍊兼墍鍦ㄣ?br />
銆銆浣滀負涓涓紑鍙戣咃紝鎴戜細灝嗘墍鏈変笌VIEW妯″紡鏈夊叧鐨勪笟鍔¢昏緫鏀懼叆doView()鏂規(guī)硶錛屽皢涓庡簲鐢ㄩ厤緗湁鍏崇殑涓氬姟閫昏緫鏀懼叆doEdit()鏂規(guī)硶錛屽皢涓庡府鍔╂湁鍏崇殑閫昏緫鏀懼叆doHelp()鏂規(guī)硶

銆銆榪欏氨綆鍖栦簡綆$悊鍛樺portlet搴旂敤鐨勮闂帶鍒剁鐞嗭紝鍥犱負浠栧彧闇鏀瑰彉portlet鐨勮闂潈闄愬氨鑳藉喅瀹氱敤鎴瘋兘鍋氫粈涔堛備緥濡傦紝濡傛灉mail搴旂敤鐨勪竴涓敤鎴瘋兘澶熷湪EDIT妯″紡涓嬭瀹氱敤鎴峰悕鍜屽瘑鐮侊紝閭d箞灝卞彲浠ユ柇瀹氫粬鍏鋒湁EDIT妯″紡璁塊棶鏉冮檺銆?br />
銆銆涓嶅Θ鑰冭檻榪欐牱涓縐嶆儏褰細鎴戞槸涓涓猧ntranet緗戠珯鐨勭鐞嗗憳錛屾垜鐨勫叕鍙鎬拱浜嗕竴涓兘鏄劇ず鏂伴椈淇℃伅鐨勭涓夋柟portlet搴旂敤錛岃搴旂敤鍏佽鐢ㄦ埛鎸囧畾璺熻釜鏂伴椈鏇存柊鐨刄RL鍦板潃錛屾垜鎯沖熷姪瀹冧負鐢ㄦ埛鏄劇ず鍏徃鐨勫唴閮ㄦ柊闂匯傚彟涓涓渶姹傛槸鎴戜笉鎯寵鐢ㄦ埛閫氳繃璇ュ簲鐢ㄦ潵璺熻釜浠諱綍鍏跺畠鐨勬柊闂諱俊鎭潵婧愩備綔涓虹鐞嗗憳錛屾垜鍙互涓烘墍鏈夌殑鐢ㄦ埛鎸囧畾涓涓敤浜庡唴閮ㄦ柊闂繪洿鏂扮殑URL鍦板潃錛屽悓鏃墮氳繃鏀瑰彉portlet搴旂敤鐨勯儴緗叉弿榪扮鏉ュ彇娑堝叾瀹冧漢淇敼璇ュ湴鍧鐨勬潈闄愩?br />
銆銆鐢變簬鎵鏈夌殑portlet搴旂敤閮藉叿鏈夌浉浼肩殑UI鐣岄潰錛屽洜姝ら噰鐢╬ortlets鍙嬌緗戠珯瀵規(guī)渶緇堢敤鎴鋒洿鍏峰惛寮曞姏銆傚鏋滃ス鎯抽槄璇諱換浣曚竴涓簲鐢ㄧ殑甯姪淇℃伅錛屽ス鍙互鐐瑰嚮甯姪鎸夐挳錛涘ス涔熺煡閬撶偣鍑葷紪杈戞寜閽兘璁╁ス榪涘叆搴旂敤鐨勯厤緗睆銆傛爣鍑嗗寲鐨勭敤鎴風晫闈嬌浣犵殑portlet搴旂敤鏇村紩浜恒?br />
4.聽聽聽聽聽聽聽聽紿楀彛鐘舵侊細紿楀彛鐘舵佸喅瀹氫簡portal欏甸潰涓婄暀緇檖ortlet鐢熸垚鍐呭鐨勭┖闂淬傚鏋滅偣鍑繪渶澶у寲鎸夐挳錛宲ortlet灝嗗崰鎹暣涓睆騫曪紝鎴愪負鐢ㄦ埛鍞竴鍙敤鐨刾ortlet錛涜屽湪鏈灝忓寲鐘舵侊紝portlet鍙樉紺轟負鏍囬鏉°備綔涓哄紑鍙戣呭簲褰撴牴鎹彲鐢ㄧ┖闂寸殑澶у皬鏉ュ畾鍋氬唴瀹廣?br />
5.聽聽聽聽聽聽聽聽鐢ㄦ埛淇℃伅錛氶氬父portlets鍚戝彂鍑鴻姹傜殑鐢ㄦ埛鎻愪緵涓у寲鐨勫唴瀹癸紝涓轟簡鑳芥洿鍔犺涔嬫湁鏁堬紝portlets闇瑕佽闂敤鎴風殑灞炴т俊鎭紝濡傚鍚嶃乪mail銆佺數(shù)璇濈瓑銆侾ortlet API涓烘鎻愪緵浜嗙敤鎴峰睘鎬х殑姒傚康錛屽紑鍙戣呰兘澶熺敤鏍囧噯鐨勬柟寮忚闂繖浜涘睘鎬э紝騫剁敱綆$悊鍛樿礋璐e湪榪欎簺灞炴т笌鐪熷疄鐨勭敤鎴蜂俊鎭暟鎹簱錛堥氬父鏄疞DAP鏈嶅姟鍣級涔嬮棿寤虹珛鏄犲皠鍏崇郴銆?br />
銆銆鎴戜滑灝嗗湪鏈枃鐨勭浜岄儴鍒嗘繁鍏ヨ璁鴻繖浜涚壒鐐癸紞璇鋒眰澶勭悊銆佺敤鎴蜂俊鎭拰portlet妯″紡銆?br />
寮鍙?Hello World" Portlet

銆銆鐜板湪鎴戜滑灝辨潵寮鍙戜竴涓畝鍗曠殑HelloWorld portlet銆?br />1.聽聽聽聽聽聽聽聽鍒涘緩涓涓悕涓篐elloWorld鐨剋eb欏圭洰錛屽畠涓庨氬父鐨剆ervlet欏圭洰綾諱技錛屾湁涓涓?WEB-INF/web.xml鏂囦歡浣滀負欏圭洰鐨勯儴緗叉弿榪扮銆?br />
2.聽聽聽聽聽聽聽聽鍦╞uild path閲屽姞鍏ortlet-api-1.0.jar鏂囦歡錛岃jar鏂囦歡鏄疨luto鍙戣鍖呯殑涓閮ㄥ垎銆?br />
3.聽聽聽聽聽聽聽聽鍦⊿ource鏂囦歡澶逛腑鎸夊涓嬪唴瀹瑰垱寤篐elloWorld.java鏂囦歡錛?br />
public class HelloWorld extends GenericPortlet{
聽聽protected void doView(RenderRequest request,
聽聽RenderResponse response) throws
聽聽PortletException, IOException {
聽聽聽聽聽聽聽聽response.setContentType("text/html");
聽聽聽聽聽聽聽聽response.getWriter().println("Hello Portlet");
聽聽聽聽聽聽聽聽}
}


銆銆姣忎釜portlet閮借瀹炵幇Portlet鎺ュ彛錛岃鎺ュ彛涓簆ortlet瀹氫箟浜嗙敓鍛藉懆鏈熸柟娉曘傜敱浜庝笉鎯寵鐩栨墍鏈夎繖浜涙柟娉曪紝鎴戜滑鍙GenericPortlet綾昏繘琛屾墿灞曪紝瀹冩槸涓涓疄鐜頒簡Portlet鎺ュ彛鐨勯傞厤鍣ㄧ被銆侴enericPortlet綾繪彁渚涗簡鎵鏈夌敓鍛藉懆鏈熸柟娉曠殑榛樿瀹炵幇錛屾墍浠ユ垜浠彧闇瀹炵幇鎴戜滑鎵闇瑕佺殑鏂規(guī)硶銆?br />
銆銆鎴戜滑鍦?HelloWorld portlet閲岃鍋氱殑鍙槸鏄劇ず鈥淗ello Portlet鈥濓紝鎵浠ユ垜浠皢瑕嗙洊GenericPortlet綾葷殑doView()鏂規(guī)硶錛岃鏂規(guī)硶浠ortletRequest 鍜?PortletResponse浣滀負鍙傛暟銆傚湪doView()鏂規(guī)硶涓鍏堣皟鐢╮esponse.setContentType()浠ラ氱煡portlet瀹瑰櫒璇ortlet灝嗚鐢熸垚浣曠綾誨瀷鐨勫唴瀹癸紞濡傛灉涓嶈繖鏍峰仛灝變細瀵艱嚧IllegalStateException寮傚父銆備竴鏃﹁緗簡鍐呭鐨勭被鍨嬶紝灝卞彲浠ヤ粠response瀵硅薄涓幏寰桺rintWriter騫跺紑濮嬪啓鍏ャ?br />
4.聽聽聽聽聽聽聽聽姣忎釜portlet搴旂敤鍦?WEB-INF鏂囦歡澶逛腑閮芥湁涓涓猵ortlet.xml鏂囦歡錛屽畠鏄痯ortlet搴旂敤鐨勯儴緗叉弿榪扮銆傛寜浠ヤ笅鍐呭鍒涘緩portlet.xml鏂囦歡錛?br />
<portlet>
聽聽<description>HelloWorldDescription
聽聽聽聽聽聽聽聽</description>
聽聽聽聽<portlet-name>HelloWorld
聽聽聽聽聽聽聽聽</portlet-name>
聽聽聽聽<display-name>Hello World
聽聽聽聽聽聽聽聽</display-name>

聽聽聽聽<portlet-class>com.test.HelloWorld
聽聽聽聽聽聽聽聽</portlet-class>
聽聽聽聽<expiration-cache>-1
聽聽聽聽聽聽聽聽</expiration-cache>
聽聽聽聽聽聽聽聽<supports>
聽聽聽聽聽聽聽聽聽聽<mime-type>text/html</mime-type>
聽聽聽聽聽聽<portlet-mode>VIEW
聽聽聽聽聽聽聽聽聽聽</portlet-mode>
聽聽聽聽聽聽聽聽</supports>
聽聽聽聽<supported-locale>en
聽聽聽聽聽聽聽聽</supported-locale>

聽聽聽聽聽聽聽聽<portlet-info>
聽聽聽聽聽聽聽聽聽聽<title>Hello World</title>
聽聽聽聽聽聽聽聽聽聽<short-title>Hello World
聽聽聽聽聽聽聽聽聽聽</short-title>
聽聽聽聽聽聽聽聽聽聽<keywords>Hello,pluto</keywords>
聽聽聽聽聽聽</portlet-info>
</portlet>


銆銆<portlet-name>鍏冪礌澹版槑浜唒ortlet鐨勫悕瀛楋紝<portlet-class>鍏冪礌鎸囧畾浜唒ortlet鐨勫叏闄愬畾綾誨悕錛?lt;expiration-cache>鍏冪礌浠ョ涓哄崟浣嶆寚瀹氫簡鍐呭瓚呮湡鐨勬椂闂淬傝繖閲岄潰鏈変竴鐐歸渶瑕佹敞鎰忥細浣犲湪portlet涓婄殑鏌愪簺鍔ㄤ綔鍙兘浼氬鑷村唴瀹瑰埛鏂幫紝榪欎笌緙撳瓨鏃墮棿鏃犲叧銆?br />銆銆<supports>鍏冪礌鎸囧畾瀵逛簬緇欏畾鐨?lt;mime-type>鏈夊摢浜涙ā寮忓彲渚涙敮鎸併傚湪紺轟緥涓垜浠亣瀹欻elloWorld鍙兘鐢熸垚text/html綾誨瀷鐨勫唴瀹癸紝涓斿彧鏈塿iew妯″紡鍙敮鎸佽鍐呭綾誨瀷銆傚鏋滆澧炲姞瀵瑰叾瀹冨唴瀹圭被鍨嬬殑鏀寔錛岄渶瑕佹坊鍔犳柊鐨?lt;support>鍏冪礌騫舵寚瀹氭敮鎸佽MIME綾誨瀷鐨勬ā寮忔湁鍝簺銆傞氬父portlet瀵逛簬text/html綾誨瀷鏈塚IEW銆丒DIT鍜孒ELP妯″紡鍙緵鏀寔錛岃屽浜嶹ML MIME綾誨瀷鍒欏彧鏈塚IEW妯″紡銆?br />銆銆榪樺彲浠ョ敤<supported-locale>鍏冪礌鏉ユ寚瀹歱ortlet鏀寔鍝簺鏈湴鍖栥?lt;title>鍏冪礌鐢ㄦ潵鎸囧畾portlet鐨勬爣棰樸傚鏋滆瀵規(guī)爣棰樺仛鍥介檯鍖栧鐞嗭紝鍙互鐢ㄥ厓绱?lt;resource-bundle>鎸囧畾璧勬簮錛堟瘮渚媝roperties鏂囦歡錛夌殑鏂囦歡鍚嶃傚湪榪欑鎯呭喌涓嬶紝瀹瑰櫒灝嗘牴鎹敤鎴鋒墍鍦ㄧ殑鍦板尯浠庨傚綋鐨刾roperties鏂囦歡涓夋嫨鏍囬銆?br />
5.聽聽聽聽聽聽聽聽姣忎釜portlet搴旂敤閮芥槸涓涓獁eb搴旂敤錛屽洜姝ら櫎浜唒ortlet.xml鏂囦歡涔嬪榪橀渶瑕佹湁web.xml鏂囦歡銆?br />
<web-app>
聽聽<display-name>Hello World Portlet
聽聽</display-name>
聽聽<welcome-file-list
聽聽聽聽<welcome-file>index.jsp
聽聽聽聽聽聽聽聽</welcome-file>
聽聽</welcome-file-list>
</web-app>


6.聽聽聽聽聽聽聽聽鎺ヤ笅鏉ュ皢榪欎簺鏂囦歡榪涜緙栬瘧騫舵墦鍖呬負war鏂囦歡銆備綘鍙互鑷繁瀹屾垚榪欎簺宸ヤ綔錛屾垨鑰呬笅杞藉甫鏈塨uild.xml 鐨勭ず渚嬩唬鐮侊紙鍙傝鈥滆祫婧愨濋儴鍒嗭級鏉ュ垱寤簑ar鏂囦歡銆?br />鍦≒luto涓婇儴緗睭elloWorld Portlet

銆銆Pluto灝氬浜庡紑鍙戦樁孌電殑鏃╂湡錛屽洜姝よ繕娌℃湁涓濂楁槗浜庝嬌鐢ㄧ殑綆$悊宸ュ叿銆備負浜嗚兘浣跨敤Pluto鏈嶅姟鍣紝闇瑕佸皢緙栬瘧鍜屾簮浠g爜涓や釜鐗堟湰閮戒笅杞姐傞渶瑕佹敞鎰忕殑鏄互涓嬭鏄庢槸閽堝Windows騫沖彴鐨勶紝Unix鐢ㄦ埛閫氳繃淇敼鏂滄潬絎﹀彿鍜屾墽琛宻h shell鑴氭湰錛堜笉鏄痓at鎵瑰懡浠ゆ枃浠訛級浼氬緱鍒扮被浼肩殑緇撴灉銆?br />
1.聽聽聽聽聽聽聽聽鍒涘緩涓涓枃浠跺す錛屾瘮濡侰:\PlutoInstallation銆?br />2.聽聽聽聽聽聽聽聽浠嶱luto鐨勭綉绔欎笅杞絧luto-1.0.1-rc1.zip鍜宲luto-src-1.0.1-rc1.zip銆?br />3.聽聽聽聽聽聽聽聽灝唒luto-1.0.1-rc1.zip瑙e帇鍒癈:\PlutoInstallation.鏂囦歡澶癸紝瀹冨簲琚В鍘嬪埌C:\PlutoInstallation\pluto-1.0.1-rc1鏂囦歡澶逛笅銆?br />4.聽聽聽聽聽聽聽聽鎵цC:\PlutoInstallation\pluto-1.0.1-rc1\bin\startup.bat鍚姩Pluto錛岀幇鍦ㄥ彲浠ラ氳繃鍦板潃http://localhost:8080/pluto/portal璁塊棶Pluto鏈嶅姟鍣ㄣ?br />5.聽聽聽聽聽聽聽聽灝唒luto-src-1.0.1-rc1.zip瑙e帇鍒癈:\PlutoInstallation\PlutoSrc鏂囦歡澶廣?br />6.聽聽聽聽聽聽聽聽榪涘叆C:\PlutoInstallation\PlutoSrc鏂囦歡澶癸紝鎵цmaven distribute:all.錛岀紪璇戝茍涓嬭澆榪愯甯歌綆$悊浠誨姟鎵蹇呴渶鐨勭浉鍏寵祫婧愭枃浠躲傜幇鍦ㄥ彲浠ュ皢HelloWorldPortlet.war浣滀負portlet榪涜瀹夎浜嗐?br />7.聽聽聽聽聽聽聽聽棣栧厛灝咹elloWorldPortlet.war鏂囦歡鎷瘋礉鍒癈:\PlutoInstallation\portlets鐩綍錛屽鏋滄病榪欎釜鐩綍灝卞垱寤哄畠銆?br />8.聽聽聽聽聽聽聽聽灝咰:\PlutoInstallation\plutosrc\build.properties.sample鏇村悕涓篵uild.properties銆?br />9.聽聽聽聽聽聽聽聽緙栬緫build.properties錛屽皢maven.tomcat.home鎸囧悜Pluto緙栬瘧鐗堢殑瀹夎浣嶇疆錛屽湪鏈緥涓簲鏀逛負maven.tomcat.home=C:/PlutoInstallation/pluto-1.0.1-rc1銆?br />10.聽聽聽聽聽聽聽聽涓轟簡瀹夎portlet錛岃繘鍏:\plutoInstallation\plutosrc\deploy鏂囦歡澶癸紝鎵цmaven deploy -Ddeploy=c:\PlutoInstallation\portlets\HelloWorldPortlet.war錛屽簲鑳界湅鍒扳渂uild successful鈥濅俊鎭?br />11.聽聽聽聽聽聽聽聽鍦–:\PlutoInstallation\pluto-1.0.1-rc1\webapps鏂囦歡澶逛笅錛屽簲璇ユ湁涓涓狧elloWorldPortlet鏂囦歡澶廣?br />12.聽聽聽聽聽聽聽聽鐜板湪榪涘叆C:\PlutoInstallation\pluto-1.0.1-rc1\webapps\HelloWorld\WEB-INF\ folder鏂囦歡澶癸紝鎵撳紑portlet鐨剋eb.xml鏂囦歡錛屼綘浼氬彂鐜伴噷闈㈣嚜鍔ㄥ浜嗗嚑琛岋紝濡備笅鎵紺猴細
<servlet>
聽聽<servlet-name>HelloWorld</servlet-name>
聽聽聽聽 <display-name>HelloWorld Wrapper</display-name>
聽聽聽聽聽聽<description>Automated generated
聽聽聽聽聽聽Portlet Wrapper</description>
聽聽聽聽聽聽<servlet-class>org.apache.pluto.core.PortletServlet
聽聽聽聽聽聽</servlet-class>
聽聽聽聽聽聽<init-param>
聽聽聽聽聽聽聽聽 <param-name>portlet-class</param-name>
聽聽聽聽聽聽聽聽 <param-value>com.test.HelloWorld
聽聽聽聽聽聽聽聽 </param-value>
聽聽聽聽聽聽</init-param>
聽聽聽聽聽聽<init-param>
聽聽聽聽聽聽聽聽 <param-name>portlet-guid</param-name>
聽聽聽聽聽聽聽聽 <param-value>HelloPluto.HelloWorld
聽聽聽聽聽聽聽聽 </param-value>
聽聽聽聽聽聽</init-param>
</servlet>

13.聽聽聽聽聽聽聽聽鎺ヤ笅鏉ユ垜浠皢璇ortlet鍔犲埌欏甸潰閲屻傝繘鍏:\PlutoInstallation\pluto-1.0.1-rc1\webapps\pluto\WEB-INF\data鏂囦歡澶癸紝鍙互鐪嬪埌鏈変袱涓猉ML鏂囦歡錛歱ageregistry.xml鍜宲ortletentityregistry.xml銆?br />14.聽聽聽聽聽聽聽聽portletentityregistry.xml鍖呭惈浜唒ortlet鐨勫畾涔夛紝鍦ㄨ鏂囦歡涓姞鍏ヤ互涓嬪嚑琛岋細
 <application id="5">
聽聽 <definition-id>HelloWorld</definition-id>
聽聽聽聽 <portlet id="1">
聽聽聽聽聽聽 <definition-id>HelloWorld.HelloWorld</definition-id>
聽聽聽聽 </portlet>
</application>

銆銆搴旂敤鐨?lt;definition-id>搴斾負web搴旂敤鎵鍦ㄦ枃浠跺す鐨勫悕瀛楋紝portlet鐨?lt;definition-id>搴斾笌web.xml涓敓鎴愮殑portlet-guid鐩鎬竴鑷淬?br />15.聽聽聽聽聽聽聽聽pageregistry.xml瀹氫箟浜嗛〉闈腑鍖呭惈浜嗗摢浜沺ortlets錛屽璇ユ枃浠跺仛濡備笅鏀瑰姩錛?br />
聽聽<fragment name="p2" type="portlet">
聽聽聽聽<property name="portlet" value="/blog/5.1"/>
</fragment>

16.聽聽聽聽聽聽聽聽鎵цshutdown鍛戒護鍜宻tartup鍛戒護閲嶅惎Pluto鏈嶅姟鍣紝榪斿洖鍒板湴鍧http://localhost:8080/pluto/portal騫剁偣鍑燴淭est Link鈥濓紞姝ゆ椂欏甸潰涓皢鍑虹幇鎴戜滑鐨?br />
HelloWorld portlet銆?/span>

鍥?鐨勫彸渚ф樉紺轟簡HelloWorld portlet鐪嬩笂鍘葷殑鏍峰瓙銆?br />

鍥? portlet鐨勫睆騫曟埅鍥?br />
濡備綍鍒涘緩Portal欏甸潰

鍥?鏄劇ず浜唒ortal瀹瑰櫒濡備綍灝嗗垎紱葷殑portlets緇勮涓洪〉闈€?br />

鍥? 鍒涘緩Portal欏甸潰

銆銆澶ч儴鍒嗙殑portal鏈嶅姟鍣ㄥ熀鏈笂閮芥槸閮ㄧ講浜庡簲鐢ㄦ湇鍔″櫒涓婄殑web搴旂敤錛岄氳繃servlet鏉ュ鐞嗚闂畃ortal鏈嶅姟鍣ㄧ殑璇鋒眰銆傛煡鐪嬩竴涓婸luto鐨勫畨瑁呯洰褰曞氨浼氬彂鐜癙luto涓嶈繃鏄竴涓儴緗蹭簬Tomcat鏈嶅姟鍣ㄤ笂鐨勪竴涓櫘閫歸eb搴旂敤錛屽啀鐪嬬湅C:\PlutoInstallation\pluto-1.0.1-rc1\webapps\pluto\WEB-INF\web.xml浼氬彂鐜版墍鏈夊彂寰Pluto鏈嶅姟鍣ㄧ殑璇鋒眰閮借鏄犲皠鍒皁rg.apache.pluto.portalImpl.Servlet涓娿?br />
銆銆鍦ㄦ湰鏂囧紑濮嬮儴鍒嗏淧ortal欏甸潰鐨勫厓绱犫濅腑錛屾垜浠彁鍒皃ortal欏甸潰鐢變袱閮ㄥ垎緇勬垚銆備竴閮ㄥ垎鏄敱欏甸潰涓殑portlets鐢熸垚鐨勫唴瀹癸紝鍙︿竴閮ㄥ垎鏄敱portal鏈嶅姟鍣ㄧ敓鎴愮殑鍐呭銆?br />
銆銆鍦≒luto閲岋紝鍙鐢ㄦ埛鍙戝嚭璇鋒眰錛屽氨浼氱敱servlet榪涜鎺у埗錛屾牴鎹敤鎴鋒墍璇鋒眰鐨勯〉闈㈡潵紜畾闇瑕佹樉紺虹殑portlets鐨勫垪琛ㄣ備竴鏃︾敓鎴愪簡鍒楄〃錛宻ervlet灝卞皢鎺у埗杞粰榪欎簺portlets綰跨▼騫舵敹闆嗙敱瀹冧滑鐢熸垚鐨勫唴瀹廣?br />
銆銆瀵逛簬鐢眕ortal鏈嶅姟鍣ㄧ敓鎴愮殑鍐呭錛堝儚portal緗戠珯鐨勮鎰熷強姣忎釜portlet鐨勫瑙傚拰鎺у埗涔嬬被錛夊垯鍙栧喅浜嶤:\PlutoInstallation\pluto-1.0.1-rc1\webapps\pluto\WEB-INF\aggregation鏂囦歡澶逛笅鐨凧SP鏂囦歡銆俁ootFragment.jsp鏄富JSP鏂囦歡錛屽畠鍐沖畾浜嗘暣浣撶殑瑙傛劅鍜屽榻愭柟寮忥紱瀹冭繕鍖呭惈浜咹eads浠ュ畾涔夊湪鐢熸垚鐨勯〉闈腑鐨?lt;HEAD>鏍囩閲岀殑鍐呭銆俆abNavigation.jsp鐢ㄦ潵閫夋嫨鍦╞anner涓鏄劇ず浠涔堬紙榛樿鎯呭喌涓嬪湪banner鏄劇ず鍒楄〃涓篃鍖呮墿浜唒luto.png鍥劇墖錛夈俆abNavigation.jsp鐢ㄦ潵紜畾portal緗戠珯鐨勫鑸柟妗堛傝繖鎰忓懗鐫鍙渶鏀瑰姩璇ユ枃浠跺す涓嬪皯閲忕殑鍑犱釜JSP鏂囦歡錛屽氨鑳芥敼鍙樻暣涓猵ortal緗戠珯鐨勮鎰熴?br />
銆銆Pluto鏍規(guī)嵁pageregistry.xml涓殑璁劇疆紜畾欏甸潰涓湁澶氬皯琛岋紝騫剁敤RowFragment.jsp鍘誨~鍏呫侰olumnFragment.jsp鐢ㄦ潵濉厖姣忎釜鏍忕洰銆侾ortletFragmentHeader.jsp鐢ㄦ潵濉厖姣忎釜portlet鐨勯〉澶達紝鍍忔爣棰樻潯鍙婃渶澶у寲鍜屾渶灝忓寲鎺у埗銆俧ooter.jsp鐢ㄦ潵濉厖JSP鐨勯〉鑴氥傚鏋滃幓鐪嬩竴涓媝ortal欏甸潰鐨凥TML浠g爜灝變細鍙戠幇姣忎釜portlet紿楀彛鏃犻潪閮芥槸宓屽叆<TD>鏍囩鐨勫唴瀹瑰潡銆?br />
緇撴潫璇?/span>

銆銆浠諱綍涓縐嶆柊鎶鏈鎯寵幏寰楁垚鍔熼兘搴斿叿澶囦互涓嬫潯浠訛細棣栧厛錛屽畠鑳芥彁鍗囩幇鏈夋妧鏈紱鍏舵錛屽畠鑳借В鍐崇幇鏈夋妧鏈亣鍒扮殑鏅亶闂錛涘啀嬈★紝瀹冭兘鎻愪緵澶氫簬涓涓殑鎶借薄灞傦紙鏈変漢璇達紝姣忔娊璞″嚭涓灞傦紝闂灝辮В鍐充竴鍗婏級銆?br />
銆銆鐢變簬portlet涓庣幇鏈夌殑搴旂敤鏈嶅姟鍣ㄦ灦鏋勫吋瀹癸紝榪欏Portlet API鏉ヨ鏄竴嬈″彂灞晄ervlet鎶鏈殑濂芥満浼氥備綘鍙互浠巔ortlet閲岃皟鐢‥JB錛屾垨鑰呯敤瀹冨惎鍔ㄥ拰鍙備笌鐢卞簲鐢ㄦ湇鍔″櫒鎺у埗鐨勫叏灞鎬т簨鍔°傛崲鍙ヨ瘽璇達紝鍦ㄤ互鍟嗕笟閫昏緫涓烘牳蹇冪殑棰嗗煙閲岋紝portlet瀹屽叏鍙互鍋氬緱鍜宻ervlet涓鏍峰ソ銆?br />
銆銆Portlets鎻愪緵浜嗕竴涓娊璞″眰錛岀幇鍦ㄤ綘涓嶅繀鍐嶆媴蹇冨鎴風浣跨敤浜嗕粈涔堟牱鐨凥TTP鏂規(guī)硶錛屼篃涓嶅繀鑷繁緙栧啓紼嬪簭鍘繪崟鑾峰儚鐐瑰嚮鎸夐挳榪欐牱鐨勫鎴風浜嬩歡銆傛渶鍚庝絾緇濅笉鏄渶嬈¤鐨勪竴鐐規(guī)槸錛宲ortlets浠ユ彁渚涘儚鍗曟鐧誨綍銆佷釜鎬у寲絳夋湇鍔$殑鏂瑰紡瑙e喅浜唖ervlets涓嶈兘瑙e喅鐨勫ぇ閮ㄥ垎闂銆?br />
璧勬簮
鏈枃鐨勭ず渚嬩唬鐮?/a>
路JSR 168鐨勯欏?http://www.jcp.org/en/jsr/detail?id=168
路Pluto鐨勯欏?http://portals.apache.org/pluto/
路onjava.com:
onjava.com
路Matrix-Java寮鍙戣呯ぞ鍖?http://www.matrix.org.cn


Sunil Patil浠庝簨J2EE鎶鏈伐浣滃凡鏈?騫達紝浠栨劅鍏磋叮鐨勯鍩熷寘鎷璞″叧緋繪槧灝勫伐鍏楓乁I妗嗘灦浠ュ強portals銆?


]]>
主站蜘蛛池模板: 免费人成网站在线观看不卡| 亚洲一区二区三区在线网站 | 亚洲国产精品不卡毛片a在线| 亚洲色成人四虎在线观看| 97在线线免费观看视频在线观看| 亚洲黄色一级毛片| 中国人xxxxx69免费视频| 亚洲精品第五页中文字幕| 日韩中文字幕精品免费一区| ww亚洲ww在线观看国产| 四虎成人免费网站在线| 综合一区自拍亚洲综合图区| 亚洲午夜无码AV毛片久久| 一级黄色免费毛片| 久久亚洲国产精品一区二区| 四虎影视在线影院在线观看免费视频| 亚洲国产天堂久久综合网站 | 亚洲精华国产精华精华液好用| 永久黄网站色视频免费| 免费夜色污私人影院网站| 国产亚洲情侣一区二区无码AV| 在线毛片片免费观看| 91丁香亚洲综合社区| yy6080亚洲一级理论| 免费在线看黄的网站| 亚洲三级中文字幕| 免费jjzz在在线播放国产| 免费观看一区二区三区| 亚洲宅男精品一区在线观看| 免费人成网站在线播放| 久久免费精品视频| 亚洲中文字幕精品久久| 久久亚洲AV永久无码精品| **毛片免费观看久久精品| 色偷偷尼玛图亚洲综合| 亚洲国产成人高清在线观看| 日韩精品福利片午夜免费观着| 一区二区免费在线观看| 亚洲日韩乱码中文无码蜜桃| 亚洲高清视频一视频二视频三| 88av免费观看入口在线|