锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
瀵逛簬B/S緇撴瀯鐨勪紒涓氬簲鐢ㄨ蔣浠舵潵璇達紝鍩烘湰鐨勯〉闈笉澶栦袱縐嶏紝涓縐嶆槸濉獸orm鐨勶紝涓縐嶆槸DataGrid 鏁版嵁鍒楄〃綆$悊鐨勶紝鍐嶉厤鍚堜竴浜沜ss, js, ajax鐨勬晥鏋滐紝灝辨槸View灞傝鍏蟲敞鐨勪笢瑗夸簡銆?
闃呰鍏ㄦ枃
]]>
銆1錛氬垎灞傚紑鍙戜嬌涓嶅悓鐨勫紑鍙戜漢鍛樺叧娉ㄤ粬浠搮闀跨殑鐗瑰畾灞傞潰錛屾湁鍔╀簬寮鍙戜紭璐ㄧ殑緋葷粺銆傚洜涓哄緢灝戞湁紼嬪簭鍛樺彲浠ョ簿閫氫粠JS錛孋SS錛孌HTML鍒皊truts鍐嶅埌 hibernate鐩磋嚦鏈鍚庣殑鏁版嵁搴撹璁¤繖涓鏁村寮鍙戞祦紼嬫墍瑕佷嬌鐢ㄥ埌鐨勬墍鏈夋妧鏈傚ぇ瀹跺悇鍙稿叾鑱岋紝鍏ㄥ姏鍏蟲敞鑷繁鎿呴暱鐨勫眰闈紝榪欒姣斾竴涓漢鎴栦竴涓皬緇勮礋璐f煇涓妯″潡浠庨〉闈㈠埌鏈搴曞眰鐨勫紑鍙戞柟寮忚濂界殑澶氥?
銆2錛?鍒嗗眰鍒嗙浜嗛昏緫錛屼嬌寰楃郴緇熺粨鏋勫眰嬈℃槑鏅幫紝緋葷粺鍙樺緱鐏墊椿鍜屾槗浜庣淮鎶ゃ傚紑鍙戜漢鍛樺簲璇ュ敖閲忎嬌緋葷粺鐨勫悇灞備箣闂翠繚鎸佺浉瀵圭嫭绔嬬殑鏉捐﹀悎鐘舵侊紝榪欐槸瀹炵幇鍒嗗眰鐨勫繀瑕佹潯浠訛紝涔熸槸鏋勫緩鑹瀯緋葷粺鐨勯噸瑕佷繚璇併?
闃呰鍏ㄦ枃
]]>
MVC涓嶅氨鏄妸M銆乂銆丆鍒嗗紑涔堬紵鑷沖敮鐗╂湸绱犵殑鍋氭硶鏄袱涓狫SP涓涓礋璐iew錛屼竴涓礋璐ontroller錛屽啀鍔犱竴涓礋璐odel鐨凧ava Bean錛屽凡緇忓彲浠ュ伐浣滃緱寰堝ソ錛岄偅鏃跺欎竴鍒囬兘寰堢畝鍗曘?
鑰岀幇鍦ㄤ負浜嗕竴浜涗笉鏄湰璐ㄧ殑鍔熻兘錛屽啋鍑鴻繖涔堝闈炴爣鍑嗙殑Web妗嗘灦錛屽疄鍦ㄨ浜轟竴闃甸儊闂楓傚儚Ruby On Rails閭f牱綆鎹峰紑鍙戯紝鍙敤鍙笉鐢紝鑰屼笖娌℃湁澶鐨勯檺鍒墮渶瑕佸涔犵殑錛屾瘮濡俉ebwork榪欏瀷榪樺彲浠ヨ冭檻銆備絾鍍廠truts閭f牱瓚婄敤妗嗘灦瓚婇夯鐑︼紝鎴栬呭儚Tapestry閭f牱鏈変弗閲嶈嚜闂懼悜錛岄涓婂嚳鐫"楂樻墜涓撶敤鐜╁叿"鐨勶紝鐢ㄥ湪鍥㈤槦閲屽氨鏄笉璐熻矗浠葷殑琛屼負浜嗐?
闃呰鍏ㄦ枃
]]>
浣咥ppfuse鐨刴odel灞傛誨叡鏈変竴涓狣AO鎺ュ彛銆佷竴涓狣AOImpl綾匯佷竴涓猄ervice鎺ュ彛銆佷竴涓猄erviceImpl綾匯佷竴涓狣ataObject.....澶ф鍙湁鍙楁儻浜嗚檺寰呯殑浜烘墠浼氭鐒舵帴鍙楀惂銆?
鍙﹀錛孌omain-Driven閫㈠垵涓銆佸崄浜斾篃浼氳鎷垮嚭鏉ヨ璁轟竴閬嶃?
鍏跺疄鏃犺浠涔堟ā寮忥紝閮戒笉榪囨槸涓縐嶄漢涓虹殑鍒掑垎銆佹娊璞″拰灝佽銆傚彧瑕佸湪鍥㈤槦閲岀悊瑙d竴鑷達紝鑷垜鎰熻浼橀泤灝辮浜嗐?
鎴戠殑寤鴻鏄紝涓寮濮婦O鍜孧anager涓鐢熶竴鏃﹀寘婕斿叏鍦猴紝DO浣滀負綰暟鎹澆浣擄紝鑰孧anager綾繪斁緗晢涓氭柟娉曪紝鐢?getHibernateTemplate()鐩存帴璁塊棶鏁版嵁搴擄紝涓嶅己鍒跺熀浜庢帴鍙g紪紼嬨傚綋鏌愬ぉ緋葷粺澶嶆潅鍒頒綘鐩磋涓婇渶瑕佸皢DAO灞傚拰Service灞傚垎寮鏃訛紝鍐嶅垎寮灝卞ソ浜嗐?
闃呰鍏ㄦ枃
]]>
鎵浠ワ紝Pramatic綺劇涓嶇伃銆傝繖涓郴鍒楀氨鏄帰瀵繪渶閫傚悎鑷繁鐨凷pring+Hibernate妯″紡銆?
I-閰嶇疆鏂囦歡綆鍖?
鎴戝帉鍊︿竴鍒囬厤緗枃浠剁箒閲嶇殑妗嗘灦銆?
鏈濂界殑鎯呭喌鏄紝妗嗘灦鎻愪緵鏋佺鐏墊椿澶嶆潅鐨勯厤緗柟寮忥紝浣嗗彧鍦ㄤ綘闇瑕佺殑鏃跺欍?
Spring鎻愪緵浜嗕笁縐嶅彲鑳芥潵綆鍖朮ML銆傞殢鐫鍥藉唴鐢ㄦ埛姘村鉤鐨勬彁楂橈紝榪欎簺鍩烘湰鐨勭畝鍖栨妧宸уぇ瀹墮兘宸叉帉鎻°?
闃呰鍏ㄦ枃
]]>
1. 涓嬭澆EMF銆丟EF銆丣EM銆乄TP銆?
鍏朵腑鍓嶉潰涓変釜鏄畨瑁匴TP鎵蹇呴』瑕佸厛瑁呯殑錛屼笉鐒跺彧瑁呬竴涓猈TP鏄病鏈夌敤鐨勩傝繖鍥涗釜閮藉彲浠ュ湪Eclipse鐨勫畼緗戜笂鎵懼埌銆傚搴旂殑鐗堟湰鍏崇郴濡備笅錛?
eclipse 3.2錛欵MF 2.2銆丟EF 3.2銆丣EM 1.2銆乄TP 1.5
eclilpse 3.3錛欵MF 2.3銆丟EF 3.3銆丣EM 1.5銆乄TP 2.0
闃呰鍏ㄦ枃
]]>
鏈枃涓昏璁ㄨ Server Side ( 閽堝 Java Language) 鐨勬樉紺哄眰鎶鏈紝鐒跺悗榪涗竴姝ヨ璁?Browser Side 錛?Ajax 錛夌殑鏄劇ず灞傛妧鏈紙涓涓吀鍨嬬殑 Ajax 搴旂敤涔熷垎涓?Model, View, Controller 鈥?Data, HTML/CSS, JavaScript 錛夈傛敞鎰忥紝鏈枃鍏充簬 Ajax 鐨勮璁哄彧鏈夊緢灝戜竴閮ㄥ垎錛屽洜涓烘垜涓嶆搮闀胯繖涓鍩熴傚彧鏄竴涓『渚跨殑鎵╁睍姣旇緝銆?
涓涓緢鏈夎叮鐨勭幇璞°?Server Side 鍜?Browser Side 鐨勬樉紺哄眰鎶鏈牸灞鎭板ソ鐩稿弽銆?Server Side 鐨?Scripted Template 鎶鏈瘮杈冨錛屾瘮杈冩祦琛岋紱鑰?Browser Side 鐨?HTML DOM Manipulation 鎶鏈?HTML View Model 鎶鏈瘮杈冨錛屾瘮杈冩祦琛屻?
闃呰鍏ㄦ枃
]]>
1. 鍦ㄥ鎴風璋冪敤dataset1.flushData()鏃訛紝浼氬埌鏈嶅姟绔皟鐢ㄨViewModel瀹炵幇綾葷殑doLoadData()錛屽鏋渄oLoadData()鏂規硶閲岃繕鏈夊叾瀹僁ataset錛屽
Dataset dataset2 = getDataset("dataset2");
Dataset dataset3 = getDataset("dataset3");
2. 鍦ㄥ鎴風錛宒ataset.setValue("str")鏂規硶浼氬啀嬈¤Е鍙慳fterChange浜嬩歡錛屽鏋滃湪afterChange閲岀洿鎺ヨ皟鐢╠ataset.setValue()灝嗕駭鐢熸寰幆錛屽簲璇?
//disableEvents錛氱姝㈡暟鎹泦瑙﹀彂鐢ㄦ埛浜嬩歡
dataset.disableEvents();
dataset.setValue("contractStatus",1);
//enableEvents錛氬厑璁告暟鎹泦瑙﹀彂鐢ㄦ埛浜嬩歡
dataset.enableEvents();
]]>
]]>
build.xml涓璽arget鏁伴噺寰堝錛岃屼笖涔嬮棿鐨勪緷璧栧叧緋誨鏉傦紝鏈夊繀瑕佸仛涓暣鐞嗐傛垜鐜板湪鍙槸鎶婃墍鏈塼arget鐨勫叧緋葷悊娓呬簡涓涓嬶紝鑷充簬姣忎釜target閲岄潰姣忎竴姝ョ殑鎿嶄綔浠ュ悗鍐嶆潵鐪嬨?br />
AppFuse鐨則arget渚濊禆鍏崇郴鍥?浠ヤ笅閮芥槸target鐨刵ame錛岀澶磋〃紺哄悗鑰呬緷璧栦簬鍓嶈?
-init --> prepare --> copy-resources -->聽
聽聽聽聽聽聽聽 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 stage-web聽聽-------------------------------------->聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽--> copy-web-files聽 -->聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 --> compile-dao --> package-dao --> compile-service --> package-service --> compile-web聽--聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 聽 >聽聽webdoclet --> jsp-2 --> compile-jsp --> deploy-web
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 聽聽聽聽聽 --> package-web聽--> war
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽--> deploy
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 --> deploy-war
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 --> install
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 --> gen-forms聽---------------------------------------------------------------->聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 --> db-export
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 --> db-load
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 --> java2html --> javadoc
聽聽聽 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 --> checkstyle
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽--> pmd
聽聽聽聽聽聽 --> db-create聽
聽聽聽聽聽 聽--> setup-tomcat
聽聽聽聽聽聽 --> fixcrlf
- test-reports --> deploy-test-reports
- test-all-running
- ping-tomcat
- db-prepare
- db-drop
- undeploy
- emma
- todo
- with-debug -->
聽聽聽聽聽聽聽聽 check-debug --> start.tomcat
- no-debug聽聽 -->
-remove
-reload
-start
-drop
-list
-wiki聽 -->聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 dist
-clean -->
聽
*************************************************************
鍏朵綑鐨則arget
webdoclet聽聽聽 -->
db-load聽聽聽聽聽聽聽 -->聽聽聽聽聽 test-web聽聽聽聽聽-->
check-debug -->
copy-resources -->
package-dao聽聽聽 -->
db-load聽聽聽聽聽聽聽聽聽聽聽 -->聽 test-dao聽聽聽聽聽-->
check-debug聽聽聽 -->聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 test-all聽
copy-resources聽-->
compile-service -->聽test-service -->
check-debug聽聽聽聽 -->
war聽聽聽聽聽聽聽聽聽聽聽聽聽聽 -->聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 test-jsp聽聽聽聽聽聽 -->
check-debug -->
聽
db-create聽聽聽-->
db-prepare --> setup-db
db-load聽聽聽聽聽 -->
ping-tomcat聽聽 -->
db-load聽聽聽聽聽聽聽聽 --> test-canoo
compile-web -->
undeploy -->
clean聽聽聽聽聽 聽--> refesh
deploy聽聽聽 -->聽
javadoc聽聽聽聽 -->
todo聽聽聽聽聽聽聽聽聽 -->
checkstyle --> docs
pmd聽聽聽聽聽聽聽聽聽 -->
clean聽聽聽聽聽聽聽聽聽聽聽聽聽 -->聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 bin
package-web -->
setup-db聽聽聽聽聽聽 -->
setup-tomcat --> setup
deploy聽聽聽聽聽聽聽聽聽 -->
clean -->
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 new
init聽聽聽 -->
瀹炲湪鏄緢涔憋紝璇曚簡濂藉嚑涓柟娉曪紝榪樻槸榪欐牱鍐欏嚭鏉ョ浉瀵規竻妤氱偣銆俢ompile-web鍜寃ebdoclet閭e効鎹簡涓錛宑ompile-web渚濊禆浜巗tage-web銆乸ackage-service銆乬en-forms銆?br />
鏁翠釜Ant Project鐨刣efault target鏄痯ackage-web錛屽疄闄呬笂榪欎釜鍏崇郴鍥句篃灝辨槸AppFuse鐨勯儴緗叉祦紼嬶紝紜疄寰堝ぇ鍟娿?/p>
銆銆閭d箞IoC鏄浣曞仛鐨勫憿錛熸湁鐐瑰儚閫氳繃濠氫粙鎵懼コ鏈嬪弸錛屽湪鎴戝拰濂蟲湅鍙嬩箣闂村紩鍏ヤ簡涓涓涓夎咃細濠氬Щ浠嬬粛鎵銆傚浠嬬鐞嗕簡寰堝鐢風敺濂沖コ鐨勮祫鏂欙紝鎴戝彲浠ュ悜濠氫粙鎻愬嚭涓涓垪琛紝鍛婅瘔瀹冩垜鎯蟲壘涓粈涔堟牱鐨勫コ鏈嬪弸錛屾瘮濡傞暱寰楀儚鏉庡槈嬈o紝韜潗鍍忔灄鐔欓浄錛屽敱姝屽儚鍛ㄦ澃浼︼紝閫熷害鍍忓崱媧涙柉錛屾妧鏈儚榻愯揪鍐呬箣綾葷殑錛岀劧鍚庡浠嬪氨浼氭寜鐓ф垜浠殑瑕佹眰錛屾彁渚涗竴涓猰m錛屾垜浠彧闇瑕佸幓鍜屽ス璋堟亱鐖便佺粨濠氬氨琛屼簡銆傜畝鍗曟槑浜嗭紝濡傛灉濠氫粙緇欐垜浠殑浜洪変笉絎﹀悎瑕佹眰錛屾垜浠氨浼氭姏鍑哄紓甯搞傛暣涓繃紼嬩笉鍐嶇敱鎴戣嚜宸辨帶鍒訛紝鑰屾槸鏈夊浠嬭繖鏍蜂竴涓被浼煎鍣ㄧ殑鏈烘瀯鏉ユ帶鍒躲係pring鎵鍊″鐨勫紑鍙戞柟寮忓氨鏄姝わ紝鎵鏈夌殑綾婚兘浼氬湪spring瀹瑰櫒涓櫥璁幫紝鍛婅瘔spring浣犳槸涓粈涔堜笢瑗匡紝浣犻渶瑕佷粈涔堜笢瑗匡紝鐒跺悗spring浼氬湪緋葷粺榪愯鍒伴傚綋鐨勬椂鍊欙紝鎶婁綘瑕佺殑涓滆タ涓誨姩緇欎綘錛屽悓鏃朵篃鎶婁綘浜ょ粰鍏朵粬闇瑕佷綘鐨勪笢瑗褲傛墍鏈夌殑綾葷殑鍒涘緩銆侀攢姣侀兘鐢?spring鏉ユ帶鍒訛紝涔熷氨鏄鎺у埗瀵硅薄鐢熷瓨鍛ㄦ湡鐨勪笉鍐嶆槸寮曠敤瀹冪殑瀵硅薄錛岃屾槸spring銆傚浜庢煇涓叿浣撶殑瀵硅薄鑰岃█錛屼互鍓嶆槸瀹冩帶鍒跺叾浠栧璞★紝鐜板湪鏄墍鏈夊璞¢兘琚玸pring鎺у埗錛屾墍浠ヨ繖鍙帶鍒跺弽杞傚鏋滀綘榪樹笉鏄庣櫧鐨勮瘽錛屾垜鍐沖畾鏀懼純銆?/p>
聽聽聽聽聽聽聽 IoC鐨勪竴涓噸鐐規槸鍦ㄧ郴緇熻繍琛屼腑錛屽姩鎬佺殑鍚戞煇涓璞℃彁渚涘畠鎵闇瑕佺殑鍏朵粬瀵硅薄銆傝繖涓鐐規槸閫氳繃DI錛圖ependency Injection錛屼緷璧栨敞鍏ワ級鏉ュ疄鐜扮殑銆傛瘮濡傚璞闇瑕佹搷浣滄暟鎹簱錛屼互鍓嶆垜浠繪槸瑕佸湪A涓嚜宸辯紪鍐欎唬鐮佹潵鑾峰緱涓涓狢onnection瀵硅薄錛屾湁浜?spring鎴戜滑灝卞彧闇瑕佸憡璇塻pring錛孉涓渶瑕佷竴涓狢onnection錛岃嚦浜庤繖涓狢onnection鎬庝箞鏋勯狅紝浣曟椂鏋勯狅紝A涓嶉渶瑕佺煡閬撱傚湪緋葷粺榪愯鏃訛紝spring浼氬湪閫傚綋鐨勬椂鍊欏埗閫犱竴涓狢onnection錛岀劧鍚庡儚鎵撻拡涓鏍鳳紝娉ㄥ皠鍒癆褰撲腑錛岃繖鏍峰氨瀹屾垚浜嗗鍚勪釜瀵硅薄涔嬮棿鍏崇郴鐨勬帶鍒躲侫闇瑕佷緷璧?Connection鎵嶈兘姝e父榪愯錛岃岃繖涓狢onnection鏄敱spring娉ㄥ叆鍒癆涓殑錛屼緷璧栨敞鍏ョ殑鍚嶅瓧灝辮繖涔堟潵鐨勩傞偅涔圖I鏄浣曞疄鐜扮殑鍛紵 Java 1.3涔嬪悗涓涓噸瑕佺壒寰佹槸鍙嶅皠錛坮eflection錛夛紝瀹冨厑璁哥▼搴忓湪榪愯鐨勬椂鍊欏姩鎬佺殑鐢熸垚瀵硅薄銆佹墽琛屽璞$殑鏂規硶銆佹敼鍙樺璞$殑灞炴э紝spring灝辨槸閫氳繃鍙嶅皠鏉ュ疄鐜版敞鍏ョ殑銆?/p>
聽聽聽聽聽聽聽 濡傛灉榪樹笉鏄庣櫧錛屾斁寮僯ava鍚э紒