WebWork鏄竴涓狫ava web-application寮鍙戞鏋?development framework). 瀹冧笓娉ㄤ簬鎻愰珮寮鍙戣呯殑鐢熶駭鏁堢巼騫剁畝鍖栦唬鐮? WebWork鏋勫緩鍦╔Work涔嬩笂,
闄や簡涓婅堪鐗規у, WebWork榪樹負鍏跺畠鍔熻兘濡?/p>
鎻愪緵浜嗗己鏈夊姏鐨勬敮鎸?
WebWork 2 : 浠涔堟槸WebWork
WebWork鏄竴涓己澶х殑鍩轟簬Web鐨?font color=#0000ff>MVC妗嗘灦, 瀹冩瀯寤哄湪涓涓懡浠ゆā寮忔鏋禭Work涔嬩笂. WebWork鐨勭壒鎬у寘鎷?/p>
WebWork鐪熸鐨勪紭鍔垮湪浜庡畠寮鴻皟綆媧佸拰鍗忎綔鑳藉姏鐨勬牴鏈悊蹇? 浣跨敤WebWork灝嗘湁鍔╀簬
涓 錛氱壒鎬?
1 錛氱伒媧葷殑鏍¢獙(validation)妗嗘灦, 鍏佽浣跨敤XML鏂囦歡瀹氫箟鏍¢獙騫墮氳繃鎴彇鍣?Interceptor)鍦ㄨ繍琛屾椂鑷姩搴旂敤鍒版椿鍔ㄧ被(Action class), 浠庤岃揪鍒版牎楠屼笌媧誨姩綾諱箣闂寸殑瀹屽叏瑙h棔(decoupled). 鏂扮増鏈繕鏀寔瀹㈡埛绔牎楠?
2 錛氱被鍨嬭漿鍖?Type conversion)鍙互寰堝鏄撶殑灝嗗璞′粠涓涓被杞崲鎴愬彟涓涓被鍨嬨?br>
3 錛氬己澶х殑琛ㄨ揪寮忚璦(Expression Language, EL)寤虹珛鍦∣GNL鍩虹涔嬩笂, 鍏佽:
4 錛氫嬌鐢ㄥ弽杞帶鍒?Inversion of Control, IoC)綆$悊緇勪歡(component)鐢熷懡鍛ㄦ湡鍜?u>渚濊禆鍏崇郴, 涓嶉渶瑕佺紪鍐欐敞鍐岀被鍒涘緩緇勪歡, 緇勪歡瀹㈡埛涔熶笉闇瑕佷富鍔ㄨ幏鍙栫粍浠跺疄渚?instance).
5 錛歏elocity妯$増, 浣垮緱寮鍙戜漢鍛樺彲浠ュ緢瀹規槗鐨勫畾鍒禬eb欏甸潰鐨勫瑙?look & feel).
6 錛氭埅鍙栧櫒(Interceptors)鍙互鍔ㄦ佹埅鍙栨椿鍔?Action)鎵ц鍓嶅悗鐨勫鐞嗚繃紼? 榪?/p>
7 錛氭敮鎸佸浗闄呭寲(I18n).
8 錛氬彲浠ユ柟渚跨殑涓庡叾浠栫涓夋柟杞歡闆嗘垚, 鍖呮嫭Hibernate, Spring, Pico, Sitemesh.
9 錛氭敮鎸佸縐嶈鍥炬妧鏈:
10 錛?u>浣跨敤鍖?/u>(Packages)鍜?u>鍚嶇┖闂?/u>(Namespaces)綆$悊鏁頒互鐧捐鐨勬椿鍔?
浜?錛氳儗鏅笌鐩殑
WebWork鏄竴涓紑鏀炬簮浠g爜欏圭洰, 鐩爣鏄負鍦ㄧ煭鏃墮棿鍐呮瀯寤哄鏉傜綉绔欐彁渚涙槗浜庣悊瑙e拰緇存姢鐨勫伐鍏峰強寮鍙戞鏋? Java鏄竴涓鉤鍙頒互鍙婂熀浜庤騫沖彴鐨勮璦, 灝界浠栨敮鎸乤lthough it supports many others as the language in which systems are built, such as JavaScript and XML.
WebWork鍦ㄦ瀯鏋朵笂鍩轟簬鏈浣沖疄璺靛拰閭d簺宸茶璇佸疄鏈変環鍊肩殑璁捐妯″紡. 瀹冭繕鍩轟簬涓涓己鐑堢殑鍔ㄦ満: 灝藉彲鑳界殑綆鍗? 騫跺叿鏈夌淮鎶や笂鐨勭伒媧繪?榪欏疄闄呬笂鏄竴涓洶闅劇殑騫寵 ).
瀹冧篃榧撳姳鐢ㄦ埛浣跨敤鎭板綋鐨? 絎﹀悎闇瑕佺殑鏂瑰紡宸ヤ綔. [It also encourages you, as a user, to do things the way you seem fit for your needs.] WebWork鑳戒互澶氱鏂瑰紡閰嶇疆鍜屼嬌鐢?/strong>, 鍝鏂瑰紡鏇撮傚悎浜庝綘渚濊禆浜庝嬌鐢ㄧ幆澧? 涓嬮潰鏄竴涓緥瀛? WebWork鏀寔澶氱涓嶅悓鐨凥TML鐢熸垚鎶鏈:
瀹冧滑涔嬮棿鍦ㄧ悊蹇典笂鍜屾妧鏈笂閮藉瓨鍦ㄥ緢澶х殑宸埆, 浣嗛兘鑳戒負WebWork鎵鐢? 鍚屾椂, 涓嶅悓鐨勭敤鎴風‘瀹為渶瑕佽繖浜涗笉鍚岀殑鏂瑰紡. "浣犱笉鑳介偅涔堝仛"鏄垜浠敖鍙兘閬垮厤鐨勪竴鍙ヨ瘽, 鑰?鎴戜滑涓嶈兘"寰寰鏄洜涓烘湁鍙︿竴涓洿濂? 鏇撮傚悎鐨勫伐鍏?
涓?nbsp;錛歐ebWork瀵筂VC Model-1鍜孧odel-2鐨勬敮鎸?
Web搴旂敤寮鍙戞鏋剁殑鏈閲嶈鐨勪竴涓換鍔℃槸鏀寔
鐩稿垎紱葷殑鐞嗗康. 濡傛灉娌℃湁鍋氬埌榪欎竴鐐? 閫氬父浼氬鑷寸淮鎶や笂鐨勯棶棰? 濡傛灉寮鍙戝洟闃熺粨鏋勫鏉?鍥犱負姣忎竴涓洟闃熸垚鍛橀氬父鍙礋璐e簲鐢ㄧ殑鏌愪竴鏂歸潰(aspect)), 榪樹細浣垮簲鐢ㄧ殑寮鍙戝彉寰楁洿鍔犲洶闅? 杈懼埌鍒嗙鐩殑鐨勪竴鑸柟娉曟槸閲囩敤MVC(Model-View-Controller)璁捐妯″紡. 璇ユā寮忛紦鍔變嬌鐢ㄥ垎紱葷殑浠g爜鏉ュ鐞嗭細
榪欐牱鍒嗙涔嬪悗, 涓嬩竴涓棶棰樻槸:
鏈変袱縐嶅父鐢ㄧ殑璁捐妯″瀷鍙互鍋氬埌榪欎竴鐐? 瀹冧滑鍒嗗埆琚О涓篗odel-1鍜孧odel-2. 榪欎袱縐嶆ā鍨嬪皢鍦ㄤ笅鏂囨弿榪?
Model-1 錛?br>Model-1鏂瑰紡鐨勫熀鏈兂娉曟槸鍦ㄨ〃紺哄眰(presentation layer)濡侸SP鎴栨ā鐗堜腑璋冪敤鎺у埗鍣ㄤ唬鐮? 濡傛灉浣犳鍦ㄤ嬌鐢↗SP, 榪欐剰鍛崇潃浣犲彲浠ラ氳繃涓ょ鏂瑰紡鎵ц浣犵殑WebWork媧誨姩錛?/p>
Model-2 錛?br>鍦∕odel-2鏂瑰紡涓?/p>
鐢辯涓夋柟鍐沖畾, 閫氬父鏄竴涓猻ervlet鍒嗗彂鍣? 鍒嗗彂鍣ㄨВ鐮?font color=#0000ff>HTTP璇鋒眰涓殑URL, 鐒跺悗鍐沖畾鎵ц鍝簺浠g爜. 涓涓寘鍚帶鍒跺櫒浠g爜鐨凧ava瀵硅薄琚幏鍙栧茍鎵ц, 浠庤屽畬鎴愬鏌愪釜搴旂敤閫昏緫鍜屼笟鍔¢昏緫鐨勫鐞? 褰撴墽琛岀粨鏉熷悗, 鍒嗗彂鍣ㄥ皢璇鋒眰杞氦(forward)緇欎竴涓鍥懼鐞嗗櫒(濡備竴涓狫SP), 瀹冧嬌鐢ㄥ墠涓涓鐞嗙殑鏁版嵁緇樺埗緇撴灉瑙嗗浘.
鍥?nbsp;錛氬浣曢夋嫨浣跨敤?
鐢變簬
瀹屽叏瑙h棔, 浣垮緱鏍規嵁鎵ц鎯呭喌鏉ユ樉紺轟笉鍚岀粨鏋滈〉闈㈡垚涓哄彲鑳? 渚嬪, 濡傛灉澶勭悊鍑虹幇閿欒灝卞彲浠ユ樉紺轟竴涓敊璇〉闈㈣屼笉鏄劇ず姝e父鐨勭粨鏋滈〉闈?
Model-1鏂瑰紡鐨勪紭鐐瑰涓?
Model-2鏂瑰紡鐨勪紭鐐瑰涓?
閫夋嫨浣跨敤鐨勯瑕佸師鍒欐槸:
OGNL鏄疻ebWork,XWork涓殑搴曞眰鏀寔緇勪歡.闈炲父寮哄ぇ鐨勫嚱鏁板簱.