锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
鏉ユ簮錛歴truts2寮鍙戠粍
Action 綾?
" Struts1瑕佹眰Action綾葷戶鎵夸竴涓娊璞″熀綾匯係truts1鐨勪竴涓櫘閬嶉棶棰樻槸浣跨敤鎶借薄綾葷紪紼嬭屼笉鏄帴鍙c?br />
" Struts 2 Action綾誨彲浠ュ疄鐜頒竴涓狝ction鎺ュ彛錛屼篃鍙疄鐜板叾浠栨帴鍙o紝浣垮彲閫夊拰瀹氬埗鐨勬湇鍔℃垚涓哄彲鑳姐係truts2鎻愪緵涓涓狝ctionSupport鍩虹被鍘誨疄鐜板父鐢ㄧ殑鎺ュ彛銆侫ction鎺ュ彛涓嶆槸蹇呴』鐨勶紝浠諱綍鏈塭xecute鏍囪瘑鐨凱OJO瀵硅薄閮藉彲浠ョ敤浣淪truts2鐨凙ction瀵硅薄銆?br />
綰跨▼妯″紡:
" Struts1 Action鏄崟渚嬫ā寮忓茍涓斿繀欏繪槸綰跨▼瀹夊叏鐨勶紝鍥犱負浠呮湁Action鐨勪竴涓疄渚嬫潵澶勭悊鎵鏈夌殑璇鋒眰銆傚崟渚嬬瓥鐣ラ檺鍒朵簡Struts1 Action鑳戒綔鐨勪簨錛屽茍涓旇鍦ㄥ紑鍙戞椂鐗瑰埆灝忓績銆侫ction璧勬簮蹇呴』鏄嚎紼嬪畨鍏ㄧ殑鎴栧悓姝ョ殑銆?br />
" Struts2 Action瀵硅薄涓烘瘡涓涓姹備駭鐢熶竴涓疄渚嬶紝鍥犳娌℃湁綰跨▼瀹夊叏闂銆傦紙瀹為檯涓婏紝servlet瀹瑰櫒緇欐瘡涓姹備駭鐢熻澶氬彲涓㈠純鐨勫璞★紝騫朵笖涓嶄細瀵艱嚧鎬ц兘鍜屽瀮鍦懼洖鏀墮棶棰橈級
Servlet 渚濊禆:
" Struts1 Action 渚濊禆浜嶴ervlet API ,鍥犱負褰撲竴涓狝ction琚皟鐢ㄦ椂HttpServletRequest 鍜?HttpServletResponse 琚紶閫掔粰execute鏂規硶銆?br />
" Struts 2 Action涓嶄緷璧栦簬瀹瑰櫒錛屽厑璁窤ction鑴辯瀹瑰櫒鍗曠嫭琚祴璇曘傚鏋滈渶瑕侊紝Struts2 Action浠嶇劧鍙互璁塊棶鍒濆鐨剅equest鍜宺esponse銆備絾鏄紝鍏朵粬鐨勫厓绱犲噺灝戞垨鑰呮秷闄や簡鐩存帴璁塊棶HttpServetRequest 鍜?HttpServletResponse鐨勫繀瑕佹с?/p>
鍙祴鎬?
" 嫻嬭瘯Struts1 Action鐨勪竴涓富瑕侀棶棰樻槸execute鏂規硶鏆撮湶浜唖ervlet API錛堣繖浣垮緱嫻嬭瘯瑕佷緷璧栦簬瀹瑰櫒錛夈備竴涓涓夋柟鎵╁睍錛嶏紞Struts TestCase錛嶏紞鎻愪緵浜嗕竴濂桽truts1鐨勬ā鎷熷璞★紙鏉ヨ繘琛屾祴璇曪級銆?br />
" Struts 2 Action鍙互閫氳繃鍒濆鍖栥佽緗睘鎬с佽皟鐢ㄦ柟娉曟潵嫻嬭瘯錛?#8220;渚濊禆娉ㄥ叆”鏀寔涔熶嬌嫻嬭瘯鏇村鏄撱?/p>
鎹曡幏杈撳叆:
" Struts1 浣跨敤ActionForm瀵硅薄鎹曡幏杈撳叆銆傛墍鏈夌殑ActionForm蹇呴』緇ф壙涓涓熀綾匯傚洜涓哄叾浠朖avaBean涓嶈兘鐢ㄤ綔ActionForm錛屽紑鍙戣呯粡甯稿垱寤哄浣欑殑綾繪崟鑾瘋緭鍏ャ傚姩鎬丅ean錛圖ynaBeans錛夊彲浠ヤ綔涓哄垱寤轟紶緇烝ctionForm鐨勯夋嫨錛屼絾鏄紝寮鍙戣呭彲鑳芥槸鍦ㄩ噸鏂版弿榪?鍒涘緩)宸茬粡瀛樺湪鐨凧avaBean錛堜粛鐒朵細瀵艱嚧鏈夊啑浣欑殑javabean錛夈?br />
" Struts 2鐩存帴浣跨敤Action灞炴т綔涓鴻緭鍏ュ睘鎬э紝娑堥櫎浜嗗絎簩涓緭鍏ュ璞$殑闇姹傘傝緭鍏ュ睘鎬у彲鑳芥槸鏈夎嚜宸?瀛?灞炴х殑rich瀵硅薄綾誨瀷銆侫ction灞炴ц兘澶熼氳繃web欏甸潰涓婄殑taglibs璁塊棶銆係truts2涔熸敮鎸丄ctionForm妯″紡銆俽ich瀵硅薄綾誨瀷錛屽寘鎷笟鍔″璞★紝鑳藉鐢ㄤ綔杈撳叆/杈撳嚭瀵硅薄銆傝繖縐峂odelDriven 鐗規х畝鍖栦簡taglib瀵筆OJO杈撳叆瀵硅薄鐨勫紩鐢ㄣ?/p>
琛ㄨ揪寮忚璦錛?/strong>
" Struts1 鏁村悎浜咼STL錛屽洜姝や嬌鐢↗STL EL銆傝繖縐岴L鏈夊熀鏈璞″浘閬嶅巻錛屼絾鏄闆嗗悎鍜岀儲寮曞睘鎬х殑鏀寔寰堝急銆?br />
" Struts2鍙互浣跨敤JSTL錛屼絾鏄篃鏀寔涓涓洿寮哄ぇ鍜岀伒媧葷殑琛ㄨ揪寮忚璦錛嶏紞"Object Graph Notation Language" (OGNL).
緇戝畾鍊煎埌欏甸潰錛坴iew錛? 鏍¢獙錛?/strong> Action鎵ц鐨勬帶鍒訛細 絎竴閮ㄥ垎: Struts 寮鍙?6.83MB 22鍒?6縐?http://beansoft.java-cn.org/download/ssh_1_struts.exe 絎簩閮ㄥ垎: Hibernate + Spring 11.5MB 38鍒?9縐?http://beansoft.java-cn.org/download/ssh_2_hibernate_spring.exe 絎笁閮ㄥ垎: 鑷繁瀹炵幇 SpringProxyAction 5.05MB 14鍒?5縐?http://beansoft.java-cn.org/download/ssh_3_struts_proxy_asm.exe 絎洓閮ㄥ垎: ASM 閿欒瑙e喅鍙婄敤 Spring 鐨勪唬鐞嗗疄鐜版暣鍚?9.95MB 23鍒?9縐?http://beansoft.java-cn.org/download/ssh_4_spring_struts.exe 澶х翰 PDF 涓嬭澆: http://beansoft.java-cn.org/download/spring_struts_hibernate.pdf 427KB 浠g爜涓嬭澆(涓嶅甫綾誨簱): http://beansoft.java-cn.org/download/myssh.rar 45KB 瑙嗛澶х翰: MyEclipse 5.5 寮鍙?Spring 鏁村悎 Struts, Hibernate 鐨勫簲鐢?/span> 鍒橀暱鐐?/span> 2007.10
" Struts 1浣跨敤鏍囧噯JSP鏈哄埗鎶婂璞$粦瀹氬埌欏甸潰涓潵璁塊棶銆?br />
" Struts 2 浣跨敤 "ValueStack"鎶鏈紝浣縯aglib鑳藉璁塊棶鍊艱屼笉闇瑕佹妸浣犵殑欏甸潰錛坴iew錛夊拰瀵硅薄緇戝畾璧鋒潵銆俈alueStack絳栫暐鍏佽閫氳繃涓緋誨垪鍚嶇О鐩稿悓浣嗙被鍨嬩笉鍚岀殑灞炴ч噸鐢ㄩ〉闈紙view錛夈?br />
銆
綾誨瀷杞崲錛?/strong>
" Struts 1 ActionForm 灞炴ч氬父閮芥槸String綾誨瀷銆係truts1浣跨敤Commons-Beanutils榪涜綾誨瀷杞崲銆傛瘡涓被涓涓漿鎹㈠櫒錛屽姣忎竴涓疄渚嬫潵璇存槸涓嶅彲閰嶇疆鐨勩?br />
" Struts2 浣跨敤OGNL榪涜綾誨瀷杞崲銆傛彁渚涘熀鏈拰甯哥敤瀵硅薄鐨勮漿鎹㈠櫒銆?/p>
" Struts 1鏀寔鍦ˋctionForm鐨剉alidate鏂規硶涓墜鍔ㄦ牎楠岋紝鎴栬呴氳繃Commons Validator鐨勬墿灞曟潵鏍¢獙銆傚悓涓涓被鍙互鏈変笉鍚岀殑鏍¢獙鍐呭錛屼絾涓嶈兘鏍¢獙瀛愬璞°?br />
" Struts2鏀寔閫氳繃validate鏂規硶鍜孹Work鏍¢獙妗嗘灦鏉ヨ繘琛屾牎楠屻俋Work鏍¢獙妗嗘灦浣跨敤涓哄睘鎬х被綾誨瀷瀹氫箟鐨勬牎楠屽拰鍐呭鏍¢獙錛屾潵鏀寔chain鏍¢獙瀛愬睘鎬?/p>
" Struts1鏀寔姣忎竴涓ā鍧楁湁鍗曠嫭鐨凴equest Processors錛堢敓鍛藉懆鏈燂級錛屼絾鏄ā鍧椾腑鐨勬墍鏈堿ction蹇呴』鍏變韓鐩稿悓鐨勭敓鍛藉懆鏈熴?br />
" Struts2鏀寔閫氳繃鎷︽埅鍣ㄥ爢鏍堬紙Interceptor Stacks錛変負姣忎竴涓狝ction鍒涘緩涓嶅悓鐨勭敓鍛藉懆鏈熴傚爢鏍堣兘澶熸牴鎹渶瑕佸拰涓嶅悓鐨凙ction涓璧蜂嬌鐢ㄣ?/p>
Java EE 璁插駭
鏈珷瑕佺偣
鍒涘緩鏁版嵁搴?/span>
蹇熷紑鍙?Struts 搴旂敤
娣誨姞 Hibernate 鍔熻兘
娣誨姞 Spring 鍔熻兘
Spring 鏁村悎 Hibernate
妯℃嫙 Action 浠g悊綾誨疄鐜?Struts + Spring
Spring 鏁村悎 Struts
Asm 鍑洪敊鍜?log4j.properties 鏂囦歡
嫻嬭瘯榪愯
鍒涘緩鏁版嵁搴?/span>
• 鍒涘緩鏁版嵁搴?/span>
Ø 鐢?MyEclipse Derby 鎴栬呭叾瀹冩暟鎹簱
Ø 鐢?MyEclipse Database Explorer 綆$悊鏁版嵁搴?/span>
Ø 鎵ц SQL:
• CREATE TABLE bbsuser (
• id int(11) NOT NULL,
• username varchar(200) NOT NULL,
• password varchar(20) NOT NULL,
• age int,
• PRIMARY KEY (id)
• )
• ENGINE=MyISAM DEFAULT CHARSET=GBK;
蹇熷紑鍙?Struts 搴旂敤
娣誨姞 Hibernate 鍔熻兘
娣誨姞 Spring 鍔熻兘
Spring 鏁村悎 Hibernate
Spring 鏁村悎 Hibernate(緇?
妯℃嫙 Action 浠g悊綾誨疄鐜?Struts + Spring
Spring 鏁村悎 Struts
• 娣誨姞 Spring Plug in
Ø <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
Ø <set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml" />
Ø </plug-in>
• 鏇挎崲 Action 鐨?Type
Ø <action path="/login“ …
Ø type="org.springframework.web.struts.DelegatingActionProxy" />
• 鍦?Spring 閰嶇疆鏂囦歡涓厤緗?Bean
Ø 瑕佺偣: 閫氳繃 path 鍜?bean 鐨?name 榪涜鍖歸厤, 榪欎袱涓煎繀欏諱竴鏍?/span>
Ø <bean name="/login" class="com.test.struts.action.LoginAction"></bean>
• 娉ㄥ叆 DAO 鐨勪唬鐞?bean
• 璇︾粏姝ラ鍙傝冩枃妗?/span>
Spring 鏁村悎 Struts 鐨勪袱縐嶆柟寮?/span>
• struts1鍔犺澆spring鐨勪袱縐嶆柟寮忥細
絎竴縐嶏細閫氳繃web.xml閰嶇疆鍔犺澆spring涓婁笅鏂囩幆澧冿紝鍏墮厤緗柟寮忓涓嬶細
web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
閫氳繃listener鍔犺澆
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
鎴栬呭埄鐢╯everlet綾誨姞杞?br />
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
絎簩縐嶆柟寮忥細
浣跨敤Struts鎻掍歡
鍦╯truts-config.xml涓?br />
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml"/>
</plug-in>• 榪欎袱縐嶉厤緗殑鏄庢樉鍖哄埆灝辨槸錛岀涓縐嶆柟寮忓彲浠ラ厤緗涓猻pring閰嶇疆鏂囦歡銆?/span>
Asm 鍑洪敊鍜?log4j.properties 鏂囦歡
• Log4j.properties
Ø # Configure logging for testing: optionally with log file
Ø log4j.rootLogger=WARN, stdout
Ø # log4j.rootLogger=WARN, stdout, logfile
Ø log4j.appender.stdout=org.apache.log4j.ConsoleAppender
Ø log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
Ø log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
Ø log4j.appender.logfile=org.apache.log4j.FileAppender
Ø log4j.appender.logfile.File=target/spring.log
Ø log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
Ø log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
• 鍒犻櫎 asm-2.2.3.jar
嫻嬭瘯榪愯
• 嫻嬭瘯榪愯
Ø 鐢?MyEclipse 鍙戝竷鍒?Tomcat
Ø 榪愯
Ø 鎵撳紑嫻忚鍣ㄦ祴璇?/span>
]]>