锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产成人91精品,亚洲免费福利视频,亚洲另类视频在线观看http://m.tkk7.com/lq410/category/3119.htmlzh-cnFri, 02 Mar 2007 06:52:48 GMTFri, 02 Mar 2007 06:52:48 GMT60鍏充簬Spring AOP FrameWork鐨勫嚑縐岮dvice- -http://m.tkk7.com/lq410/archive/2005/11/02/17844.html鎵戞墤鎵戞墤Wed, 02 Nov 2005 09:19:00 GMThttp://m.tkk7.com/lq410/archive/2005/11/02/17844.htmlhttp://m.tkk7.com/lq410/comments/17844.htmlhttp://m.tkk7.com/lq410/archive/2005/11/02/17844.html#Feedback0http://m.tkk7.com/lq410/comments/commentRss/17844.htmlhttp://m.tkk7.com/lq410/services/trackbacks/17844.html       鍦⊿pring鐨凙OP FrameWork涓瑼dvice涓昏鍒嗕負(fù)浠ヤ笅浜旂綾誨瀷錛?/DIV>
       1銆丮ethodBeforeAdvice銆?姝dvice鎸囩殑鏄浜庤鍒囪呮柟娉曟墽琛屼箣鍓嶇殑騫查銆傛Advice闄や簡鍦ㄦ姏鍑哄紓甯告椂鑳藉琚垏鑰呮柟娉曟墽琛屼綔鍑哄共棰勫錛屽叾浠栨儏鍐典笅璇ヨ鍒囪呯殑鏂規(guī)硶浠嶇収甯告墽琛屻?/DIV>
       2銆丮ethodInterceptor銆傛Advice鎸囩殑鏄浜庤鍒囪呮柟娉曟墽琛岃繃紼嬭繘琛屽共棰勶紝鍙嬌寰楄鍒囪呮柟娉曞湪鏌愪簺鏉′歡涓嬩笉鎵ц錛屽茍涓斿彲浠ユ敼鍙樿鍒囪呮柟娉曟墽琛屽悗榪斿洖鐨勭被鍨嬨?/DIV>
       3銆丄fterReturningAdvice銆傛Advice鎸囩殑鏄浜庤鍒囪呮柟娉曟墽琛屼箣鍚庣殑騫查銆傛Advice鍜孧ethodBeforeAdvice鐩稿悓銆?/DIV>
       4銆乀hrowingAdvice銆傛Advice鎸囩殑鏄綋琚垏鑰呮柟娉曟姏鍑哄紓甯告椂榪涜鐨勫共棰勩?/DIV>
       5銆両ntroductionInterceptor銆傛Advice鍙共棰勮鍒囪咃紝騫跺彲鏀瑰彉鍒垏鑰咃紝姣斿璁╄鍒囪呭疄鐜頒竴涓帴鍙g瓑絳夈?/DIV>

鎵戞墤 2005-11-02 17:19 鍙戣〃璇勮
]]>Spring Aop綆鍗曞疄渚嬪叆闂?/title><link>http://m.tkk7.com/lq410/archive/2005/10/14/15472.html</link><dc:creator>鎵戞墤</dc:creator><author>鎵戞墤</author><pubDate>Fri, 14 Oct 2005 01:05:00 GMT</pubDate><guid>http://m.tkk7.com/lq410/archive/2005/10/14/15472.html</guid><wfw:comment>http://m.tkk7.com/lq410/comments/15472.html</wfw:comment><comments>http://m.tkk7.com/lq410/archive/2005/10/14/15472.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.tkk7.com/lq410/comments/commentRss/15472.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/lq410/services/trackbacks/15472.html</trackback:ping><description><![CDATA[AOP姝e湪鎴愪負(fù)杞歡寮鍙戠殑涓嬩竴涓湥鏉備嬌鐢ˋOP錛屼綘鍙互灝嗗鐞哸spect鐨勪唬鐮佹敞鍏ヤ富紼嬪簭錛岄氬父涓葷▼搴忕殑涓昏鐩殑騫朵笉鍦ㄤ簬澶勭悊榪欎簺aspect銆侫OP鍙互闃叉浠g爜娣蜂貢銆?<BR>涓轟簡鐞嗚ВAOP濡備綍鍋氬埌榪欑偣錛岃冭檻涓涓嬭鏃ュ織鐨勫伐浣溿傛棩蹇楁湰韜笉澶彲鑳芥槸浣犲紑鍙戠殑涓葷▼搴忕殑涓昏浠誨姟銆傚鏋滆兘灝嗏滀笉鍙鐨勨濄侀氱敤鐨勬棩蹇椾唬鐮佹敞鍏ヤ富紼嬪簭涓紝閭h澶氬ソ鍟娿侫OP鍙互甯姪浣犲仛鍒般?<BR>Spring framework鏄緢鏈夊墠閫旂殑AOP鎶鏈備綔涓轟竴縐嶉潪渚電暐鎬х殑錛岃交鍨嬬殑AOP framework錛屼綘鏃犻渶浣跨敤棰勭紪璇戝櫒鎴栧叾浠栫殑鍏冩爣絳撅紝渚垮彲浠ュ湪Java紼嬪簭涓嬌鐢ㄥ畠銆傝繖鎰忓懗鐫寮鍙戝洟闃熼噷鍙渶涓浜鴻瀵逛粯AOP framework錛屽叾浠栦漢榪樻槸璞″線甯鎬竴鏍風(fēng)紪紼嬨?<BR>AOP鏄緢澶氱洿瑙夐毦浠ョ悊瑙g殑鏈鐨勬牴婧愩傚垢榪愮殑鏄紝浣犲彧瑕佺悊瑙d笁涓蹇碉紝灝卞彲浠ョ紪鍐橝OP妯″潡銆傝繖涓変釜姒傚康鏄細(xì)advice錛宲ointcut鍜宎dvisor銆俛dvice鏄綘鎯沖悜鍒殑紼嬪簭鍐呴儴涓嶅悓鐨勫湴鏂規(guī)敞鍏ョ殑浠g爜銆俻ointcut瀹氫箟浜嗛渶瑕佹敞鍏dvice鐨勪綅緗紝閫氬父鏄煇涓壒瀹氱殑綾葷殑涓涓猵ublic鏂規(guī)硶銆俛dvisor鏄痯ointcut鍜宎dvice鐨勮閰嶅櫒錛屾槸灝哸dvice娉ㄥ叆涓葷▼搴忎腑棰勫畾涔変綅緗殑浠g爜銆? <P>鏃㈢劧鎴戜滑鐭ラ亾浜嗛渶瑕佷嬌鐢╝dvisor鍚戜富瑕佷唬鐮佷腑娉ㄥ叆鈥滀笉鍙鐨勨漚dvice錛岃鎴戜滑瀹炵幇涓涓猄pring AOP鐨勪緥瀛愩傚湪榪欎釜渚嬪瓙涓紝鎴戜滑灝嗗疄鐜頒竴涓猙efore advice錛岃繖鎰忓懗鐫advice鐨勪唬鐮佸湪琚皟鐢ㄧ殑public鏂規(guī)硶寮濮嬪墠琚墽琛屻備互涓嬫槸榪欎釜before advice鐨勫疄鐜頒唬鐮侊細(xì) </P> <P>浠g爜: <BR>package com.company.springaop.test; </P> <P>import java.lang.reflect.Method; <BR>import org.springframework.aop.MethodBeforeAdvice; </P> <P>public class TestBeforeAdvice implements MethodBeforeAdvice { </P> <P>public void before(Method m, Object[] args, Object target) <BR>throws Throwable { <BR>System.out.println("Hello world! (by " <BR>+ this.getClass().getName() <BR>+ ")"); <BR>} <BR>} <BR></P> <P><BR>鎺ュ彛MethodBeforeAdvice鍙湁涓涓柟娉昩efore闇瑕佸疄鐜幫紝瀹冨畾涔変簡advice鐨勫疄鐜般俠efore鏂規(guī)硶鍏辯敤涓変釜鍙傛暟錛屽畠浠彁渚涗簡鐩稿綋涓板瘜鐨勪俊鎭傚弬鏁癕ethod m鏄痑dvice寮濮嬪悗鎵ц鐨勬柟娉曘傛柟娉曞悕縐板彲浠ョ敤浣滃垽鏂槸鍚︽墽琛屼唬鐮佺殑鏉′歡銆侽bject[] args鏄紶緇欒璋冪敤鐨刾ublic鏂規(guī)硶鐨勫弬鏁版暟緇勩傚綋闇瑕佽鏃ュ織鏃訛紝鍙傛暟args鍜岃鎵ц鏂規(guī)硶鐨勫悕縐幫紝閮芥槸闈炲父鏈夌敤鐨勪俊鎭備綘涔熷彲浠ユ敼鍙樹紶緇檓鐨勫弬鏁幫紝浣嗚灝忓績浣跨敤榪欎釜鍔熻兘錛涚紪鍐欐渶鍒濅富紼嬪簭鐨勭▼搴忓憳騫朵笉鐭ラ亾涓葷▼搴忓彲鑳戒細(xì)鍜屼紶鍏ュ弬鏁扮殑鍙戠敓鍐茬獊銆侽bject target鏄墽琛屾柟娉昺瀵硅薄鐨勫紩鐢ㄣ?</P> <P>鍦ㄤ笅闈㈢殑BeanImpl綾諱腑錛屾瘡涓猵ublic鏂規(guī)硶璋冪敤鍓嶏紝閮戒細(xì)鎵цadvice錛?</P> <P>浠g爜: <BR>package com.company.springaop.test; </P> <P>public class BeanImpl implements Bean { </P> <P>public void theMethod() { <BR>System.out.println(this.getClass().getName() <BR>+ "." + new Exception().getStackTrace()[0].getMethodName() <BR>+ "()" <BR>+ " says HELLO!"); <BR>} <BR>} </P> <P><BR>綾籅eanImpl瀹炵幇浜嗕笅闈㈢殑鎺ュ彛Bean錛?</P> <P>浠g爜: <BR>package com.company.springaop.test; </P> <P>public interface Bean { <BR>public void theMethod(); <BR>} </P> <P></P> <P>铏界劧涓嶆槸蹇呴』浣跨敤鎺ュ彛錛屼絾闈㈠悜鎺ュ彛鑰屼笉鏄潰鍚戝疄鐜扮紪紼嬫槸鑹ソ鐨勭紪紼嬪疄璺碉紝Spring涔熼紦鍔辮繖鏍峰仛銆?</P> <P>pointcut鍜宎dvice閫氳繃閰嶇疆鏂囦歡鏉ュ疄鐜幫紝鍥犳錛屾帴涓嬫潵浣犲彧闇緙栧啓涓繪柟娉曠殑Java浠g爜錛?<BR>浠g爜: </P> <P><BR>package com.company.springaop.test; </P> <P>import org.springframework.context.ApplicationContext; <BR>import org.springframework.context.support.FileSystemXmlApplicationContext; </P> <P>public class Main { </P> <P>public static void main(String[] args) { <BR>//Read the configuration file <BR>ApplicationContext ctx <BR>= new FileSystemXmlApplicationContext("springconfig.xml"); </P> <P>//Instantiate an object <BR>Bean x = (Bean) ctx.getBean("bean"); </P> <P>//Execute the public method of the bean (the test) <BR>x.theMethod(); <BR>} <BR>} </P> <P></P> <P>鎴戜滑浠庤鍏ュ拰澶勭悊閰嶇疆鏂囦歡寮濮嬶紝鎺ヤ笅鏉ラ┈涓婅鍒涘緩瀹冦傝繖涓厤緗枃浠跺皢浣滀負(fù)綺樺悎紼嬪簭涓嶅悓閮ㄥ垎鐨勨滆兌姘粹濄傝鍏ュ拰澶勭悊閰嶇疆鏂囦歡鍚庯紝鎴戜滑浼?xì)寰楀堫C竴涓垱寤哄伐鍘俢tx銆備換浣曚竴涓猄pring綆$悊鐨勫璞¢兘蹇呴』閫氳繃榪欎釜宸ュ巶鏉ュ垱寤恒傚璞¢氳繃宸ュ巶鍒涘緩鍚庝究鍙甯鎬嬌鐢ㄣ?</P> <P>浠呬粎鐢ㄩ厤緗枃浠朵究鍙妸紼嬪簭鐨勬瘡涓閮ㄥ垎緇勮璧鋒潵銆?<BR>浠g爜: </P> <P><?xml version="1.0" encoding="UTF-8"?> <BR><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> </P> <P><beans> <BR><!--CONFIG--> <BR><bean id="bean" class="org.springframework.aop.framework.ProxyFactoryBean"> <BR><property name="proxyInterfaces"> <BR><value>com.company.springaop.test.Bean</value> <BR></property> <BR><property name="target"> <BR><ref local="beanTarget"/> <BR></property> <BR><property name="interceptorNames"> <BR><list> <BR><value>theAdvisor</value> <BR></list> <BR></property> <BR></bean> </P> <P><!--CLASS--> <BR><bean id="beanTarget" class="com.company.springaop.test.BeanImpl"/> </P> <P><!--ADVISOR--> <BR><!--Note: An advisor assembles pointcut and advice--> <BR><bean id="theAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor"> <BR><property name="advice"> <BR><ref local="theBeforeAdvice"/> <BR></property> <BR><property name="pattern"> <BR><value>com\.company\.springaop\.test\.Bean\.theMethod</value> <BR></property> <BR></bean> </P> <P><!--ADVICE--> <BR><bean id="theBeforeAdvice" class="com.company.springaop.test.TestBeforeAdvice"/> <BR></beans> <BR></P> <P><BR>鍥涗釜bean瀹氫箟鐨勬搴忓茍涓嶉噸瑕併傛垜浠幇鍦ㄦ湁浜嗕竴涓猘dvice錛屼竴涓寘鍚簡姝e垯琛ㄨ揪寮弍ointcut鐨刟dvisor錛屼竴涓富紼嬪簭綾誨拰涓涓厤緗ソ鐨勬帴鍙o紝閫氳繃宸ュ巶ctx錛岃繖涓帴鍙h繑鍥炶嚜宸辨湰韜疄鐜扮殑涓涓紩鐢ㄣ?</P> <P>BeanImpl鍜孴estBeforeAdvice閮芥槸鐩存帴閰嶇疆銆傛垜浠敤涓涓敮涓鐨処D鍒涘緩涓涓猙ean鍏冪礌錛屽茍鎸囧畾浜嗕竴涓疄鐜扮被銆傝繖灝辨槸鍏ㄩ儴鐨勫伐浣溿?</P> <P>advisor閫氳繃Spring framework鎻愪緵鐨勪竴涓猂egexMethodPointcutAdvisor綾繪潵瀹炵幇銆傛垜浠敤advisor鐨勪竴涓睘鎬ф潵鎸囧畾瀹冩墍闇鐨刟dvice-bean銆傜浜屼釜灞炴у垯鐢ㄦ鍒欒〃杈懼紡瀹氫箟浜唒ointcut錛岀‘淇濊壇濂界殑鎬ц兘鍜屾槗璇繪с?</P> <P>鏈鍚庨厤緗殑鏄痓ean錛屽畠鍙互閫氳繃涓涓伐鍘傛潵鍒涘緩銆俠ean鐨勫畾涔夌湅璧鋒潵姣斿疄闄呬笂瑕佸鏉傘俠ean鏄疨roxyFactoryBean鐨勪竴涓疄鐜幫紝瀹冩槸Spring framework鐨勪竴閮ㄥ垎銆傝繖涓猙ean鐨勮涓洪氳繃涓涓嬬殑涓変釜灞炴ф潵瀹氫箟錛?</P> <P></P> <P><BR>灞炴roxyInterface瀹氫箟浜嗘帴鍙g被銆?</P> <P>灞炴arget鎸囧悜鏈湴閰嶇疆鐨勪竴涓猙ean錛岃繖涓猙ean榪斿洖涓涓帴鍙g殑瀹炵幇銆?</P> <P>灞炴nterceptorNames鏄敮涓鍏佽瀹氫箟涓涓煎垪琛ㄧ殑灞炴с傝繖涓垪琛ㄥ寘鍚墍鏈夐渶瑕佸湪beanTarget涓婃墽琛岀殑advisor銆傛敞鎰忥紝advisor鍒楄〃鐨勬搴忔槸闈炲父閲嶈鐨勩?</P> <P></P> <P>Spring宸ュ叿 </P> <P>铏界劧浣犲彲浠ユ墜宸ヤ慨鏀笰nt鏋勫緩鑴氭湰錛屼絾浣跨敤SpringUI錛堣瘧娉細(xì)SpringUI鐜板湪鏄疭pring framework鐨勪竴閮ㄥ垎錛屽茍鏀瑰悕涓簊pring-ide錛夛紝浣跨敤Spring AOP鍙樺緱寰堢畝鍗曪紝鍙鐐圭偣榧犳爣鍗沖彲銆備綘鍙互鎶奡pringUI瀹夎鎴怑clipse鐨勪竴涓猵lug-in銆傜劧鍚庯紝浣犲彧闇鍦ㄤ綘鐨刾roject涓婂彸鍑婚紶鏍囷紝騫墮夋嫨鈥渁dd Spring Project Nature鈥濄傚湪project灞炴т腑錛屼綘鍙互鍦ㄢ淪pring Project鈥濅笅娣誨姞Spring閰嶇疆鏂囦歡銆傚湪緙栬瘧鍓嶆妸涓嬮潰鐨勭被搴撳姞鍏roject錛歛opalliance.jar錛宑ommons-logging.jar錛宩akarta-oro-2.0.7.jar鍜宻pring.jar銆傝繍琛岀▼搴忔椂浣犱細(xì)鐪嬪埌涓嬮潰鐨勪俊鎭細(xì) </P> <P>... (logging information) <BR>Hello world! (by com.company.springaop.test.TestBeforeAdvice) <BR>com.company.springaop.test.BeanImpl.theMethod() says HELLO! </P> <P><BR>浼樼偣鍜岀己鐐?</P> <P>Spring姣旇搗鍏朵粬鐨刦ramework鏇存湁浼樺娍錛屽洜涓洪櫎浜咥OP浠ュ錛屽畠鎻愪緵浜嗘洿澶氬埆鐨勫姛鑳姐備綔涓轟竴涓交鍨媐ramework錛屽畠鍦↗2EE涓嶅悓鐨勯儴鍒嗛兘鍙互鍙戞尌浣滅敤銆傚洜姝わ紝鍗充嬌涓嶆兂浣跨敤Spring AOP錛屼綘鍙兘榪樻槸鎯充嬌鐢⊿pring銆傚彟涓涓紭鐐規(guī)槸錛孲pring騫朵笉瑕佹眰寮鍙戝洟闃熸墍鏈夌殑浜哄憳閮戒細(xì)鐢ㄥ畠銆傚涔?fàn)Spring搴旇浠嶴pring reference鐨勭涓欏靛紑濮嬨傝浜嗘湰鏂囧悗錛屼綘搴旇鍙互鏇村ソ鍦扮悊瑙pring reference浜嗐係pring鍞竴鐨勭己鐐規(guī)槸緙轟箯鏇村鐨勬枃妗o紝浣嗗畠鐨刴ailing list鏄釜寰堝ソ鐨勮ˉ鍏咃紝鑰屼笖浼?xì)涓嶆柇鍦板嚭鐜版洿澶氱殑鏂囨?/P><img src ="http://m.tkk7.com/lq410/aggbug/15472.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/lq410/" target="_blank">鎵戞墤</a> 2005-10-14 09:05 <a href="http://m.tkk7.com/lq410/archive/2005/10/14/15472.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>浣跨敤spring MVC妗嗘灦榪涜鏂囦歡涓婁紶http://m.tkk7.com/lq410/archive/2005/09/02/11819.html鎵戞墤鎵戞墤Fri, 02 Sep 2005 03:04:00 GMThttp://m.tkk7.com/lq410/archive/2005/09/02/11819.htmlhttp://m.tkk7.com/lq410/comments/11819.htmlhttp://m.tkk7.com/lq410/archive/2005/09/02/11819.html#Feedback1http://m.tkk7.com/lq410/comments/commentRss/11819.htmlhttp://m.tkk7.com/lq410/services/trackbacks/11819.html浣跨敤spring MVC妗嗘灦榪涜鏂囦歡涓婁紶錛屾楠ゅ涓嬶細(xì)

1錛氶厤緗畐eb.xml鏂囦歡銆傚畾涔塂ispatcherServlet錛孌ispatcherServlet澶勭悊鐨勮姹傦紙.htm錛変篃鍦ㄥ悓涓涓獁eb.xml鏂囦歡閲屼嬌鐢╱rl-mapping瀹氫箟鏄犲皠銆?/P>

 <servlet>
  <servlet-name>upload</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet
  </servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 
 <servlet-mapping>
  <servlet-name>upload</servlet-name>
  <url-pattern>*.htm</url-pattern>
 </servlet-mapping>
2錛氬畾涔塽pload-servlet.xml鏂囦歡銆?BR><bean id="multipartResolver"
       class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- set the max upload size100MB -->
        <property name="maxUploadSize">
        <value>104857600</value>
    </property>
    <property name="maxInMemorySize">
        <value>4096</value>
    </property>
   </bean>
 <bean id="urlMapping"
  class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">       
 <property name="mappings">           
  <props>               
  <prop key="/upload.htm">uploadController</prop>           
  </props>       
 </property>   
 </bean>
     <bean id="uploadController" class="FileUploadController">
      <property name="commandClass"><value>FileUploadBean</value></property>
      <property name="uploadDir"><value>E:/</value></property>
      <property name="formView"><value>fail</value></property>
  <property name="successView"><value>confirmation</value></property>
</bean>  
3錛氬畾涔夋帶鍒剁被錛宑ommandClass鍙婃柟娉曘傛帶鍒剁被涓渶閲嶈鐨勬柟娉曟槸initBinder()瀹冪粰spring娉ㄥ唽浜嗕竴涓紪杈戝櫒瀵?BR>request涓殑multipart瀹炰綋榪涜澶勭悊錛屽鏋滄病鏈夎繖涓柟娉曪紝涓婁紶灝嗕笉鑳借繘琛屻?BR><--------------------------鎺у埗綾?------------------>
public class FileUploadController extends SimpleFormController {
    private static Log log =
        LogFactory.getLog(FileUploadController.class);
    private String uploadDir;//涓婁紶鏂囦歡璺緞

    protected ModelAndView onSubmit(HttpServletRequest request,
            HttpServletResponse response, Object cmd, BindException errors)
            throws Exception {

            FileUploadBean bean = (FileUploadBean) cmd;
            byte[] bytes = bean.getFile();
          
            //cast to multipart file so we can get additional information
            MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
            CommonsMultipartFile file = (CommonsMultipartFile) multipartRequest.getFile("file");

            String uploadDir = this.getUploadDir();

            File dirPath = new File(uploadDir);
            if (!dirPath.exists()) {
                dirPath.mkdirs();
            }
            String sep = System.getProperty("file.separator");
            if (log.isDebugEnabled()) {
                log.debug("uploading to: " + uploadDir + sep +
                file.getOriginalFilename());
                }
            File uploadedFile = new File(uploadDir + sep
                    + file.getOriginalFilename());
            FileCopyUtils.copy(bytes, uploadedFile);
            System.out.println("********************************");
            System.out.println(uploadedFile.getAbsolutePath());
            System.out.println(bytes.length);
            System.out.println("********************************");
           
     
        return new ModelAndView(getSuccessView() + ".jsp");
    }

    protected void initBinder(HttpServletRequest request,
            ServletRequestDataBinder binder) throws ServletException {
        binder.registerCustomEditor(byte[].class,
                new ByteArrayMultipartFileEditor());
    }
    public void setUploadDir(String uploadDir){
        this.uploadDir = uploadDir;
    }
    public String getUploadDir(){
        return this.uploadDir;
    }
}
<--------------------------鎺у埗綾?------------------------>
<---------------------瀹氫箟commandClass-------------------->
public class FileUploadBean {

    private byte[] file;

    public void setFile(byte[] file) {
        this.file = file;
    }

    public byte[] getFile() {
        return file;
    }

}
<---------------------瀹氫箟commandClass-------------------->
4錛氬畾涔変竴涓猣orm琛ㄥ崟index.jsp
<form method="post" action="upload.htm" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="submit"/>
5錛氬畾涔塩onfirmation.jsp鍙奻ail.jsp
confirmation.jsp濡備笅錛?BR><%@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<title>
successView
</title>
</head>
<body bgcolor="#ffffff">
<h1>
Upload Successful
</h1>
</body>
</html>

fail.jsp濡備笅錛?BR><html>
<head>
<title>Upload a file please</title>
</head>
<body>
<h1>no file,Please upload a file</h1>
<form method="post" action="uploadfile.htm" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="submit"/>
</form>
</body>
</html>
6錛氳繍琛宼omcat銆?BR>棰勮 ie閲岄潰:http://localhost/springmvc/index.jsp
娉細(xì)
a錛氭枃浠剁洰褰曚負(fù)tomcat-HOME/webapps/springmvc/
.jsp鏂囦歡閮芥斁鍦ㄦ牴鐩綍涓嬶紝.class鏂囦歡鏀懼湪/WEB-INF/classes/涓?/P>

鍏朵粬鏂囦歡鏀懼湪/WEB-INF/閲岄潰銆?BR>b錛氬鏋滆繛涓婇潰鐨勪綘閮芥湁鐤戦棶錛岄偅榪樻槸鍘葷湅鐪媠pring鐨勫熀紜鐭ヨ瘑鍚с?/P>

鎵戞墤 2005-09-02 11:04 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 国产在线播放线91免费| 狼人大香伊蕉国产WWW亚洲| jizz免费观看| 亚洲 无码 在线 专区| 精品亚洲福利一区二区| 日韩免费一级毛片| 精品久久久久久亚洲综合网| 免费黄网在线观看| 亚洲AV无码成人精品区日韩| 情侣视频精品免费的国产| 亚洲JLZZJLZZ少妇| 免费一级毛片在线播放不收费| 国产精品亚洲一区二区三区在线观看| 国产一区二区三区免费视频| 成人免费网站久久久| 红杏亚洲影院一区二区三区| 无码人妻久久一区二区三区免费| 亚洲黄色在线视频| 4虎永免费最新永久免费地址| 456亚洲人成影院在线观| 好吊妞在线成人免费| 日韩成人精品日本亚洲| 国产亚洲AV夜间福利香蕉149| A级毛片高清免费视频在线播放| 噜噜噜亚洲色成人网站∨| 亚洲视频免费在线看| 亚洲av日韩精品久久久久久a| 亚洲精品国产日韩无码AV永久免费网| 插鸡网站在线播放免费观看| 亚洲影院在线观看| 白白国产永久免费视频| 精品97国产免费人成视频| 亚洲一区二区三区日本久久九| 67194成是人免费无码| 深夜福利在线免费观看| 亚洲AV无码AV男人的天堂| 97国产免费全部免费观看| 国产午夜亚洲精品不卡电影| 亚洲AV无一区二区三区久久| 最近最新MV在线观看免费高清 | 亚洲一区二区三区精品视频|