锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲三区在线观看无套内射,国产亚洲日韩在线a不卡,亚洲人成依人成综合网http://www.tkk7.com/bnlovebn/category/12154.html銆婂懆鏄撱嬫洶錛?lt;br> 澶╄鍋ワ紝鍚涘瓙浠ヨ嚜寮轟笉鎭?涔懼崷)<br> 鍦板娍鍧わ紝鍚涘瓙浠ュ帤寰瘋澆鐗?鍧ゅ崷) zh-cnTue, 14 Jun 2011 19:06:56 GMTTue, 14 Jun 2011 19:06:56 GMT60APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending taskshttp://www.tkk7.com/bnlovebn/archive/2011/06/12/352125.html閲嶅綊鏈瀿錛圔ing錛?/dc:creator>閲嶅綊鏈瀿錛圔ing錛?/author>Sun, 12 Jun 2011 05:51:00 GMThttp://www.tkk7.com/bnlovebn/archive/2011/06/12/352125.htmlhttp://www.tkk7.com/bnlovebn/comments/352125.htmlhttp://www.tkk7.com/bnlovebn/archive/2011/06/12/352125.html#Feedback0http://www.tkk7.com/bnlovebn/comments/commentRss/352125.htmlhttp://www.tkk7.com/bnlovebn/services/trackbacks/352125.html鏈榪憃rcale鏁版嵁鍙湁涓鍙板彲浠ユ湇鍔★紝瀵艱嚧hibernate 榪炴帴鏁版嵁搴撴瘡涓?3鍒嗛挓灝變細鎶?#8220;APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks”鐨勯敊璇?
鍘熷洜鏄?hibernate 浣跨敤c3p0榪炴帴orcale鏁版嵁鍚庝笉浼氶噴鏀?錛?c3p0鐨勬渶澶ц繛鎺ユ暟涓?00錛屼絾鏄劇劧c3p0鏈塀ug錛屽鑷存暟鎹簱榪炴帴姹犱笉澶熺敤錛屽鑷磋繘紼嬮攣姝匯?br />鍚庢崲Proxool鍚庯紝瑙傚療姝e父銆?br />
涓嬮潰杞紩鍏跺畠緗戝弸鏂囩珷璇存槑c3p0 銆?Proxool銆?dbcp  鐨勫尯鍒?
1<!-- JDBC椹卞姩紼嬪簭 -->   
2<property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/struts?useUnicode=true&characterEncoding=GBK</property> <!-- 鏁版嵁搴撶敤鎴峰悕 -->   
3<property name="connection.username">root</property> <!-- 鏁版嵁搴撳瘑鐮?nbsp;-->

涓婇潰鐨勪竴孌甸厤緗紝鍦?span class="hilite2" style="background-color: #ffffff">c3p0鍜?span class="hilite1" style="background-color: #ffffff">dbcp涓紝閮芥槸蹇呴渶鐨勶紝鍥犱負hibernate浼氭牴鎹笂榪扮殑閰嶇疆鏉ョ敓鎴恈onnections錛屽啀浜ょ粰c3p0鎴?span class="hilite1" style="background-color: #ffffff">dbcp綆$悊.

1 C3P0

鍙渶鍦╤ibernate.cfg.xml涓姞鍏?
1<property name="c3p0.min_size">5</property>   
2<property name="c3p0.max_size">30</property>   
3<property name="c3p0.time_out">1800</property>   
4<property name="c3p0.max_statement">50</property>   
5

榪樻湁鍦╟lassespath涓姞鍏?span class="hilite2" style="background-color: #ffffff">c3p0-0.8.4.5.jar


2 dbcp

鍦╤ibernate.cfg.xml涓姞鍏?
 1<property name="dbcp.maxActive">100</property>   
 2<property name="dbcp.whenExhaustedAction">1</property>   
 3<property name="dbcp.maxWait">60000</property>   
 4<property name="dbcp.maxIdle">10</property>   
 5   
 6<property name="dbcp.ps.maxActive">100</property>   
 7<property name="dbcp.ps.whenExhaustedAction">1</property>   
 8<property name="dbcp.ps.maxWait">60000</property>   
 9<property name="dbcp.ps.maxIdle">10</property>  
10

榪樻湁鍦╟lassespath涓姞鍏ommons-pool-1.2.jar 鍜宑ommons-dbcp-1.2.1.jar.

3 proxool

鐢變簬鏁版嵁搴揷onnection鍦ㄨ緝闀挎椂闂存病鏈夎闂笅浼氳嚜鍔ㄦ柇寮榪炴帴錛屽鑷存祻瑙堝嚭閿欙紝澧炲姞proxool浣滀負鏁版嵁搴損ool銆傚畠鏈夎嚜鍔ㄨ繛鎺ュ姛鑳姐?br />1)銆佷粠http://proxool.sourceforge...涓嬭澆proxool錛岄噴鏀緋roxool.jar鍒癢EB-INF/lib

2)銆佸湪hibernate.cfg.xml涓鍔狅細
1<property name="hibernate.proxool.pool_alias">dbpool</property>   
2<property name="hibernate.proxool.xml">proxool.xml</property>   
3<property name="connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>  
4

3)銆佸湪涓巋ibernate.cfg.xml鍚岀駭鐩綍錛坰rc鏍圭洰褰曚笅錛夊鍔爌roxool.xml鏂囦歡錛?br />
 1<?xml version="1.0" encoding="utf-8"?>   
 2<!-- the proxool configuration can be embedded within your own application's.    
 3 Anything outside the "proxool" tag is ignored. -->   
 4<something-else-entirely>   
 5 <proxool>   
 6   <alias>dbpool</alias>   
 7   <!--proxool鍙兘綆$悊鐢辮嚜宸變駭鐢熺殑榪炴帴-->   
 8   <driver-url>   
 9     jdbc:mysql://127.0.0.1:3306/wlsh?characterEncoding=GBK&useUnicode=true&autoReconnect=true     </driver-url>   
10   <driver-class>com.mysql.jdbc.Driver</driver-class>   
11   <driver-properties>   
12       <property name="user" value="root" />   
13       <property name="password" value="123456" />   
14   </driver-properties>   
15   <!-- proxool鑷姩渚﹀療鍚勪釜榪炴帴鐘舵佺殑鏃墮棿闂撮殧(姣),渚﹀療鍒扮┖闂茬殑榪炴帴灝遍┈涓婂洖鏀?瓚呮椂鐨勯攢姣?/span>-->   
16   <house-keeping-sleep-time>90000</house-keeping-sleep-time>   
17   <!-- 鏈灝戜繚鎸佺殑絀洪棽榪炴帴鏁?/span>-->   
18   <prototype-count>5</prototype-count>   
19   <!-- 鍏佽鏈澶ц繛鎺ユ暟,瓚呰繃浜嗚繖涓繛鎺ワ紝鍐嶆湁璇鋒眰鏃訛紝灝辨帓鍦ㄩ槦鍒椾腑絳夊欙紝鏈澶х殑絳夊緟璇鋒眰鏁扮敱maximum-new-connections鍐沖畾-->   
20   <maximum-connection-count>100</maximum-connection-count>   
21   <!-- 鏈灝忚繛鎺ユ暟-->   
22   <minimum-connection-count>10</minimum-connection-count>   
23 </proxool>   
24</something-else-entirely>  
25

浜庡湪hibernate3.0涓紝宸茬粡涓嶅啀鏀寔dbcp浜嗭紝hibernate鐨勪綔鑰呭湪hibernate.org涓紝鏄庣‘鎸囧嚭鍦ㄥ疄璺典腑鍙戠幇dbcp鏈?BUG,鍦ㄦ煇浜涚鎯呬細浜х敓寰堝絀鴻繛鎺ヤ笉鑳介噴鏀撅紝鎵浠ユ姏寮冧簡瀵筪bcp鐨勬敮鎸併傝嚦浜巆3p0錛屾湁璇勮璇村畠鐨勭畻娉曚笉鏄渶浼樼殑錛屽洜涓虹綉涓婃煡璧勬枡寰楃煡錛氭湁緗戝弸鍋氫簡涓涓疄楠岋紝鍦ㄥ悓涓欏圭洰涓垎鍒敤浜嗗嚑涓父鐢ㄧ殑榪炴帴姹狅紝鐒跺悗嫻嬭瘯鍏舵ц兘錛屽彂鐜癱3p0鍗犵敤璧勬簮姣旇緝澶э紝鏁堢巼涔熶笉楂樸傛墍浠ワ紝鍩轟簬涓婅堪鍘熷洜錛宲roxool涓嶅皯琛屽鎺ㄨ崘浣跨敤錛岃屼笖鏆傛椂鏉ヨ錛屾槸璐熼潰璇勪環鏄渶灝戠殑涓涓傚湪涓夋槦涓篃鏈夐」鐩槸鐢╬roxool鐨勩備粠鎬ц兘鍜屽嚭閿欑巼鏉ヨ錛宲roxool紼嶅井姣斿墠涓ょ濂戒簺銆侰3P0錛岀ǔ瀹氭т技涔庝笉閿欙紝鍦ㄨ繖鏂歸潰浼間箮鏈夊緢濂界殑鍙g銆傝嚦浜庢ц兘錛屽簲璇ヤ笉鏄渶濂界殑錛岀畻鏄腑瑙勪腑鐭╃殑綾誨瀷銆?
銆銆Proxool鐨勫彛紕戜技涔庡緢濂斤紝涓嶅ぇ瑙佸埌璐熼潰鐨勮瘎浠鳳紝浠庡畼鏂硅祫鏂欎笂鏉ョ湅錛屾湁璁稿鏈夌敤鐨勭壒鎬у拰鐗圭偣錛屼篃鏄澶氫漢鎺ㄨ崘鐨勩?br />

]]>
error:java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSourcehttp://www.tkk7.com/bnlovebn/archive/2007/09/12/144500.html閲嶅綊鏈瀿錛圔ing錛?/dc:creator>閲嶅綊鏈瀿錛圔ing錛?/author>Wed, 12 Sep 2007 07:16:00 GMThttp://www.tkk7.com/bnlovebn/archive/2007/09/12/144500.htmlhttp://www.tkk7.com/bnlovebn/comments/144500.htmlhttp://www.tkk7.com/bnlovebn/archive/2007/09/12/144500.html#Feedback1http://www.tkk7.com/bnlovebn/comments/commentRss/144500.htmlhttp://www.tkk7.com/bnlovebn/services/trackbacks/144500.htmljava.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
寰堟樉鐒惰繖鏄竴涓病鏈夋壘鍒板搴旂殑綾繪枃浠剁殑寮傚父銆?br /> 榪樻湁涓や釜鍖卌ommons-pool.jar鍜宑ommons-dbcp-1.2.1.jar闇瑕佸紩鍏ュ埌宸ョ▼涓?/span>


]]>
鍦ㄤ綘鐨剆truts搴旂敤涓柦灞曢儴鍒咥JAX欖旀硶(緲昏瘧)[杞琞http://www.tkk7.com/bnlovebn/archive/2007/07/31/133607.html閲嶅綊鏈瀿錛圔ing錛?/dc:creator>閲嶅綊鏈瀿錛圔ing錛?/author>Tue, 31 Jul 2007 08:33:00 GMThttp://www.tkk7.com/bnlovebn/archive/2007/07/31/133607.htmlhttp://www.tkk7.com/bnlovebn/comments/133607.htmlhttp://www.tkk7.com/bnlovebn/archive/2007/07/31/133607.html#Feedback1http://www.tkk7.com/bnlovebn/comments/commentRss/133607.htmlhttp://www.tkk7.com/bnlovebn/services/trackbacks/133607.html        鏈枃灝嗕粙緇嶅湪JSP欏甸潰涓寘鍚竴浜汮avaScript榪欐牱涓涓畝鍗曡屾湁鏁堢殑鏂規硶鏉ョ粨鍚圓JAX鍜孲truts銆傚湪姝ゆ垜浠粙緇嶅浣曢噸鏂頒嬌鐢ㄥ凡緇忓瓨鍦ㄧ殑Struts actions錛屼絾姝ゆ妧鏈悓鏍峰彲鐢ㄤ簬浣犻夋嫨鐨勫叾浠朖ava-Web 妗嗘灦銆傛湰鏂規硶鍚屾牱鍙鉤縐誨埌Struts鎴栬匤SF鐨勪笅涓涓増鏈?

        AJAX鏄?#8220;寮傛鐨凧avaScript鍜孹ML”鐨勭緝鍐欍傝繖鏄竴欏規妧鏈紝鑰屼笉鏄竴涓Struts涓鏍風殑妗嗘灦銆備負浠涔堝湪AJAX鍛ㄥ洿浼氭湁榪欎箞澶氱殑鍏蟲敞鍛?榪欐槸鍥犱負AJAX浣縲eb欏甸潰鐪嬭搗鏉ュ茍涓嶅儚涓涓鉤闈㈢殑鏂囨。錛岃屾洿鍍忕敤鎴鋒墍鏈熸湜鐨勫妗岄潰搴旂敤鐨勫姩鎬丟UI搴旂敤紼嬪簭銆侫JAX鎶鏈兘鍦ㄥ緢澶氱殑嫻忚鍣ㄤ笂浣跨敤(鍖呮嫭IE鍜孨etscape/Mozilla)銆傚畠宸茬粡涓篗icrosoft(鐢ㄤ簬Outlook鐨剋eb瀹㈡埛绔?鍜孏oogle(鐢ㄦ埛Google Maps鍜孏mail)鎵浣跨敤銆?

銆銆鏈嬌鐢ˋJAX涔嬪墠

銆銆鐩墠澶у鏁扮殑Struts搴旂敤閮芥槸鏍囧噯鐨?#8220;濡傚悓涓涓鉤闈㈡枃妗g殑web欏甸潰”鐨勭粨鏋勩傚鏋滀綘鎯蟲ā浠夸竴浜涙闈㈠簲鐢ㄧ▼搴?姣斿閭d簺浣跨敤Java Swing錛孷isual Basic錛屾垨鑰匘elphi寤虹珛鐨勫簲鐢ㄧ▼搴?錛岄偅涔堜綘鏈変袱涓夋嫨:浣犲彲浠ュ彂閫佹墍鏈夌殑鍙兘浣滀負欏甸潰鐨勪竴閮ㄥ垎琚姹傜殑淇℃伅錛屼嬌鐢ㄥぇ閲忕殑JavaScript鏉ユ搷浣滃叾鍔ㄦ佺殑鏄劇ず(涓涓緢鎱㈠茍涓旈潪浼佷笟綰ava鐨勬柟娉?;鎴栬呬綘鍙互涓嶆敼鍙樺艦寮忓湴鎻愪氦鍒板悗鍙版湇鍔″櫒(涓縐嶆湁鏁堢殑鏂規硶) 銆侫JAX鎻愰珮緇欎綘浜嗚瀺鍚堝墠闈㈢殑鏈浣寵В鍐蟲柟妗?鍔ㄦ佺殑欏甸潰錛屼絾鏄ぇ澶氭暟鐨勫簲鐢ㄦ槸鍦ㄤ綘鐨剋eb鏈嶅姟鍣ㄧ殑Java紼嬪簭鏉ュ鐞嗙殑銆?/p>

銆銆AJAX 101

銆銆AJAX鍜岀幇鏈夌殑鍔ㄦ丠TML鎶鏈潪甯哥浉浼鹼紝騫跺湪鍏朵笂澧炲姞浜嗕竴涓彂閫佸埌“鍚庡彴”鏈嶅姟鍣ㄧ殑璇鋒眰鏉ヨ幏鍙栭渶瑕佺殑鏂扮殑鎴栬呮洿鏂扮殑淇℃伅銆侫JAX鐨勬満鍒跺湪鍏朵粬鍦版柟宸茬粡鏈夎緇嗙殑璇存槑鈥曗曡鏌ョ湅鏈枃鍚庣殑Resources鏉ヨ幏鍙栨洿澶氥備絾鏄綘鑷沖皯闇瑕佺煡閬?

  • 銆銆1. XMLHttpRequest (濡傛灉浣犱嬌鐢ㄧ殑鏄疘E嫻忚鍣ㄧ殑璇濓紝鍒欐槸Microsoft.XMLHTTP鐨凙ctiveX鐨勫璞?銆傝繖浜涘璞★紝浣犲彲浠ュ湪web欏甸潰涓嬌鐢↗avaScript璋冪敤銆備粬浠厑璁鎬綘浣滀負鍚庡彴鐨勮皟鐢ㄦ柟寮忔潵璇鋒眰web鏈嶅姟鍣ㄧ殑鍐呭(渚嬪錛屽湪琛ㄥ崟鎻愪氦鍚庯紝灞忓箷騫朵笉鍍忓鉤鏃朵竴鏍鋒樉紺?#8220;絀虹櫧”)銆?
  • 銆銆2. XMLHttpRequest 鍜孧icrosoft.XMLHTTP 榪斿洖鐨勫唴瀹瑰彲浠ヤ綔涓篨ML鎴栬呮枃鏈潵澶勭悊銆侸avaScript(鍦ㄤ綘欏甸潰涓婄殑)鍙互浣跨敤璇鋒眰鐨勬柊鍐呭鏉ユ洿鏂伴〉闈€?
  • 銆銆3. 鏁翠釜澶勭悊榪囩▼鍙互鐢辨櫘閫氱殑JavaScript浜嬩歡鏉ヨЕ鍙?onclick錛宱nchange錛宱nblur錛岀瓑銆?/li>

銆銆鍦ㄤ綘鐨凷truts搴旂敤涓嬌鐢ˋJAX

銆銆浣犻槄璇諱簡鏈枃錛岀劧鍚庝綘浼氬浣跨敤AJAX鏉ュ垱寤哄姩鎬佺殑web欏甸潰鎰熷叴瓚o紝騫朵笖鎯崇煡閬撳浣曞皢瀹冨姞鍏ュ埌浣犵殑Struts搴旂敤涓傝繖鍙槸閫夋嫨涔嬩竴銆傞偅涔堜綘浼氬浣曢夋嫨鍛?

  • 銆銆· 絳夊緟錛岀煡閬揝truts鐨勪笅涓涓増鏈瀺鍚堜簡AJAX鎶鏈傚鏋淪truts寮鍙戣呭噯澶囧紑鍙戜竴涓柊鐨勫簲鐢紝榪欐垨璁鎬細鏄竴涓ソ鐨勯夋嫨銆傚啀鍚庨潰錛屽彲鑳戒細鏄姹侸SF涔熻繖鏍峰仛鈥曗曞鍏舵湰韜茍涓嶄竴浠跺潖浜嬶紝浣嗘槸瀵逛簬宸茬粡瀛樺湪鐨勭郴緇熻繖灝嗕細甯︽潵鏈鏍規湰鐨勬敼鍙樸?
  • 銆銆· 浣犱篃鍙互鐩存帴閲囩敤鏂扮殑鏂規硶錛屾瘮濡侱irect Web Remoting (DWR) 鍜孯uby on Rails錛岃繖浜涢兘鏄笓涓哄緩绔婣JAX搴旂敤鐨勩傚鏋滀綘鑰冭檻涓嶄嬌鐢⊿truts鏉ュ紑鍙憌eb鐨勮瘽錛岄偅涔堣繖浜涢兘鏄緢鍙堢敤鐨勬鏋訛紝騫朵笖鍊煎緱涓璇曘備絾鏄紝榪欎篃鍚屾椂鎰忓懗鐫浣犲繀欏昏閲嶅啓浣犵殑搴旂敤銆?
  • 銆銆· 鍦ㄤ綘宸茬粡瀛樺湪鐨凷truts搴旂敤涓鍔燗JAX銆傛棦鐒禔JAX鍙槸涓欏規妧鏈屽茍闈炴鏋訛紝閭d箞瀹冨氨寰堝鏄撹瀺鍏ュ埌Struts涓備綔涓虹幇鏈夌殑緋葷粺錛屽叾紼沖畾鎬?濡傦紝淇濇寔鐜版湁鐨勫簱鏂囦歡)鏄浉褰撻噸瑕佺殑銆傛墍浠ヨ繖涓柟娉曡鎺ㄨ崘錛屽茍涓旀垜浠皢鍦ㄥ悗闈㈣緇嗕粙緇嶃?/li>

銆銆鎴戜滑閫夋嫨鍦⊿truts搴旂敤涓鍔燗JAX鐨勪紭鍔挎槸:

  • 銆銆1. 瀹冨茍涓嶉渶瑕佷換浣曟柊鐨勫簱鏂囦歡鎴栬呮湇鍔″櫒浠g爜;鍙渶瑕佷嬌鐢ㄧ幇鏈夌殑Struts搴撴枃浠跺拰action銆?
  • 銆銆2. 瑙e喅鏂規涓墍鏈夐儴鍒嗏曗旿avaScript錛孹ML錛孞ava鍜孲truts鈥曗曟棭宸蹭負騫挎硾鎵鐭ャ?
  • 銆銆3. 姝ゅ簲鐢ㄥ彲浠ヤ竴鍧椾竴鍧楀湴縐繪鍒癆JAX;鎴戜滑鍙互紜畾鍝簺閮ㄥ垎瀵圭敤鎴鋒湁鐩婏紝騫墮鍏堝皢瀹冧滑鏇存柊鍒板姩鎬丄JAX鏄劇ず銆?/li>

銆銆瀹炵幇鏂規

銆銆鎴戜滑濡備綍鐪熸鐨勮瘡褰繪垜浠殑閫夋嫨鍛?鎴戜滑棣栧厛搴旇娉ㄦ剰涓涓?#8220;鏍囧噯鐨?#8221;(娌℃湁AJAX)Struts搴旂敤鏄浣曞伐浣滅殑銆傚湪姝ゅ簲鐢ㄤ腑錛屼竴涓竴鑸殑浜嬩歡嫻佺▼濡備笅:

  • 銆銆1. 浣跨敤鐐瑰嚮瓚呴摼鎺ユ垨鑰呰〃鍗曠殑鎻愪氦鎸夐挳錛岀敤鎴峰彂閫佽姹傘?
  • 銆銆2. web鏈嶅姟鍣ㄨ繍琛屽鐞嗚姹傜殑Struts Action鏉ョ敓鎴愪竴涓獁eb欏甸潰銆?
  • 銆銆3. 嫻忚鍣ㄦ樉紺簑eb欏甸潰銆?
  • 銆銆4. 褰撶敤鎴風偣鍑諱繚瀛樼殑鏃跺欙紝淇℃伅鐢盨truts妗嗘灦涓竴涓狝ctionForm綾繪潵杞崲騫跺彂閫佸埌鏈嶅姟鍣ㄣ?
  • 銆銆5. 鐒跺悗錛孲truts妗嗘灦璋冪敤Struts Action鏉ュ嚭鏉ヨ姹?濡傦紝淇濆瓨鏁版嵁鍒版暟鎹簱涓?銆?
  • 銆銆6. 欏甸潰鍐嶄竴嬈″洖浼狅紝澶勭悊嫻佺▼緇х畫銆?/li>

銆銆鐜版湁鐨凷truts搴旂敤

銆銆涓涓紨紺轟簨浠舵祦紼嬬殑綆鍗昐truts搴旂敤鍙互鍦ㄤ互涓嬪湴鍧涓嬭澆: struts-non-ajax.zip銆傛鍩轟簬Struts鐨勫簲鐢紝鏄熀浜庣敤鎴風殑杈撳叆鏄劇ず鎴栬呴殣钘忚摑鑹插拰緇胯壊鐨勮〃鏍箋傚浘1鏄劇ず浜嗚澆鍏ュ垵濮嬮〉闈㈢殑鐢婚潰銆傚浘2鏄劇ず浜嗙敤鎴瘋緭鍏ュ煎茍鐐瑰嚮浜嗘彁浜ゅ悗鐨勭敾闈€傝櫧鐒剁畝鍗曪紝浣嗗畠宸茬粡瓚充互琛ㄧず涓涓猄truts鐨勫伐浣滄祦紼嬨?/p>

銆銆鍥?1. 娌℃湁AJAX鐨勪緥瀛?鍒濆灞忓箷

銆銆鍥?2. 娌℃湁AJAX鐨勪緥瀛?杈撳叆鍊煎茍鐐瑰嚮浜嗘彁浜?/p> 鏈嶅姟鍣ㄧ鐨勪唬鐮佹槸:涓涓猄truts Action浣跨敤struts-config.xml 涓畾涔夌殑鍊艱漿鍙戝埌(鐩稿悓鐨?JSP銆傝繖涓緥瀛愪唬鐮佷腑涓浜涢渶瑕佹敞鎰忕殑鍦版柟鏄?

  • 銆銆·struts-config.xml鏂囦歡灝嗘墍鏈夌殑璇鋒眰閲嶅畾鍚戝埌http://localhost:8080/struts-non-ajax/(鎴栬呭拰浣犺嚜宸辯殑鏈嶅姟鍣ㄧ浉鍚?鐨刬ndex.jsp銆?
  • 銆銆· index.jsp 鍖呭惈浜嗕竴涓袱涓枃鏈鐨凷truts form(showBlue鍜宻howGreen)銆傝欏甸潰鍚屾牱鍖呭惈浜嗘爣絳撅紝浣嗘槸濡傚悓涓や釜鏂囨湰妗嗚鍒濆鍖栦負絀猴紝鏍囩涔嬮棿鐨勫唴瀹瑰茍涓嶆樉紺恒?
  • 銆銆· 鐢ㄦ埛杈撳叆鍊?true鎴栬協alse)騫剁偣鍑繪彁浜ゆ寜閽紝澶勭悊鎺у埗(緇忚繃Struts妗嗘灦錛岃鍙杝truts-config.xml)鎻愪氦鍒癝ampleAction綾諱腑銆?
  • 銆銆·SampleAction璁板綍涓嬪鹼紝鐒跺悗杞彂鍒癷ndex.jsp銆備竴涓垚鐔熺殑Struts搴旂敤鍙兘浼氬鐞嗘洿澶氱殑浜嬫儏錛屼笉濡備繚瀛樻垨鑰呮煡璇㈡暟鎹簱絳夈?
  • 銆銆· index.jsp 鐜板湪閲嶆柊澶勭悊璇鋒眰;濡傛灉ShowBlue鎴栬匰howGreen鐨勫兼槸true錛岃繖浜涜〃鏍煎氨鏄劇ず鍑烘潵銆?/li>

銆銆璇ュ簲鐢ㄥ茍娌℃湁浠諱綍“閿欒”銆傜被浼肩殑Struts欏圭洰濂藉騫撮兘鏄繖鏍峰仛鐨勩備絾鏄紝鎴戜滑濡備綍鍦ㄤ笉娣誨姞澶嶆潅鐨凧avaScript鎴栬呴綣佺殑琛ㄥ崟鎻愪氦鐨勫墠鎻愪笅錛屼負姝ゅ簲鐢ㄥ鍔犲姩鎬佺殑鍏冪礌鍛?

銆銆鎴戜滑鐨勭涓涓猄truts AJAX搴旂敤

銆銆瑙傚療涓嬩笅闈㈢殑鍥?鍜屽浘4銆傜涓鐪肩湅涓婂幓錛屽畠浠拰鍓嶉潰鐨勪緥瀛愭病鏈夎鏄庡尯鍒傚畠浠殑涓嶅悓涔嬪鍦ㄤ簬錛岄〉闈㈣澆鍏ュ悗(鍥?)鐒跺悗鏂囨湰妗嗕腑鐨勫兼敼鍙樹簡錛岀獥浣撹嚜鍔ㄦ彁浜よ屼笉鏄劇ず絀虹櫧鐨勶紝鐒跺悗鍦ㄥ浘4涓樉紺虹粨鏋溿傛櫘閫氱殑鎻愪氦鎸夐挳浠嶇劧鍦紝浣犱篃鍙互閫夋嫨浣跨敤瀹冦?/p>

銆銆鍥?3. 欏甸潰杞藉叆鍚庣殑AJAX渚嬪瓙

銆銆鍥?4. AJAX璋冪敤鍚庣殑AJAX渚嬪瓙

銆銆娣誨姞AJAX鏄嚭濂囩殑瀹規槗銆傛湇鍔″櫒绔殑浠g爜鍜屽墠闈㈢殑渚嬪瓙鏄竴鏍風殑: 涓涓猄truts鐨凙ctionForm鏉ュ悗鍘繪暟鎹紝涓涓猄truts鐨凙ction鏉ユ墽琛岄渶瑕佺殑浠誨姟(渚嬪錛屽瓨鍌ㄦ暟鎹簱)鐒跺悗杞彂鍒伴傚綋鐨凧SP欏甸潰鏉ユ樉紺虹粨鏋溿?/p>

銆銆緇х畫

銆銆濡傛灉浣犲笇鏈涘氨姝ゅ仠姝㈤槄璇?璺寵繃榪欎釜渚嬪瓙鐨勫伐浣滆鏄?錛屼絾鏄繖閲岀殑鏄拰浣犻渶瑕佽漿鎹綘鐨凷truts搴旂敤鍒頒竴涓猄truts-AJAX搴旂敤鍚屾牱鐨勯鏍?

  • 銆銆1. 鍦ㄤ綘鐨剋eb欏甸潰涓紩鍏ヤ竴涓狝jax.js (璇ユ枃浠舵槸struts-ajax.zip 渚嬫枃浠朵腑鐨勪竴閮ㄥ垎)銆侫jax.js 鍖呭惈浜嗘墍鏈夐渶瑕佸彂閫佸拰鎺ユ敹AJAX璋冪敤鐨凧avaScript鏂規硶銆?
  • 銆銆2. 紜繚浣犲笇鏈涘湪AJAX璋冪敤涓洿鏂扮殑web欏甸潰鐨勯儴鍒嗗寘鍚湪鏍囩涓紝騫朵笖緇欐瘡涓爣絳句竴涓猧d銆?
  • 銆銆3. 褰撲竴浜涗簨浠惰Е鍙戠殑鏃跺欏氨鏇存柊欏甸潰(渚嬪錛屾枃鏈鐨則he onchange()鏂規硶)錛岃皟鐢╮etrieveURL()鏂規硶錛岄氳繃URL浼犻掑埌闇瑕佹墽琛屾湇鍔″櫒绔鐞嗙殑Struts Action銆?
  • 銆銆4. 涓轟簡欏甸潰鐨勬樉紺?鏇存柊錛屾渶綆鍗曠殑鏂規硶鏄疭truts Action杞彂鍥炲悓鏍風殑欏甸潰銆傚湪鏈緥涓紝showGreen/showBlue 鏂囨湰妗嗕腑鐨刼nchange()鏂規硶鏉ヨЕ鍙慉JAX璋冪敤銆?/li>

銆銆JavaScript鏂規硶retrieveURL()璋冪敤鏈嶅姟鍣ㄧ殑Struts(閫氳繃URL)錛岃幏鍙朖SP鍝嶅簲錛岀劧鍚庢洿鏂版樉紺洪〉闈腑鐨?鏍囩涓殑閮ㄥ垎銆傚氨鏄繖涔堢畝鍗?

銆銆AJAX瑙e喅鏂規鐨勭粏鑺?/p>

銆銆鎴戜滑灝嗕緥瀛愬彉涓篈JAX-Struts搴旂敤鐨勬椂鍊欙紝闇瑕佷笁涓彉鍖?

  • 銆銆1. 澧炲姞涓涓狫avaScript鏂規硶鏉ュ畬鎴愬埌鏈嶅姟鍣ㄧ殑“鑳屽悗鐨?#8221;AJAX璋冪敤銆?
  • 銆銆2. 澧炲姞JavaScript浠g爜鏉ユ帴鏀舵湇鍔″櫒鐨勫搷搴斿茍鏇存柊欏甸潰銆?
  • 銆銆3. 鍦↗SP欏甸潰澧炲姞鏍囩鏍囩錛岃繖涓爣絳句腑鍐呭灝嗗湪AJAX璋冪敤涓洿鏂般?/li>

銆銆鎴戜滑灝嗚緇嗙殑璇存槑涓婇潰鐨勬瘡涓姝ャ?/p> 鍙戦丄JAX璇鋒眰鍒版湇鍔″櫒

銆銆鏈変袱涓柟娉?鍦ㄤ笅闈㈠垪鍑?鐢ㄤ簬鍙戦佽姹傚埌鏈嶅姟鍣ㄣ?/p>

銆銆· retrieveURL()鏂規硶鑾峰緱鏈嶅姟鍣ㄧ殑URL鍜孲truts form銆俇RL鐢ㄤ簬浣跨敤AJAX錛宖orm鐨勫肩敤浜庝紶閫掑埌鏈嶅姟鍣ㄣ?/p>

銆銆· getFormAsString()鏂規硶鐢ㄤ簬灝唕etrieveURL()涓璮orm鍛藉悕鐨勫肩粍瑁呮垚鏌ヨ瀛楃涓詫紝騫跺彂閫佸埌鏈嶅姟鍣ㄣ?/p>

銆銆浣跨敤鏂規硶寰堢畝鍗曪紝浣跨敤onclick()/onChange()浜嬩歡鏉ヨЕ鍙憆etrieveURL()鏇存柊鏄劇ず銆?/p>

銆銆鍦ㄨ繖涓や釜鏂規硶涓湁涓浜涙湁瓚g殑涓滆タ銆?/p>

銆銆鍦╮etrieveURL()鏂規硶涓紝req.onreadystatechange = processStateChange (娉ㄦ剰錛屾病鏈夋嫭鍙?榪欎竴琛屾潵鍛婅瘔嫻忚鍣ㄥ湪鏈嶅姟鍣ㄥ搷搴斿埌杈劇殑鏃跺欒皟鐢╬rocessStateChange()鏂規硶(璇ユ柟娉曞皢鍦ㄥ悗闈粙緇?銆俽etrieveURL()鏂規硶涓?鐜板湪宸茬粡鏄疉JAX鐨勬爣鍑嗕簡)鍚屾牱鍐沖畾鏄嬌鐢↖E嫻忚鍣?ActiveX)榪樻槸浣跨敤Netscape/Mozilla (XmlHttpRequest) 鏉ュ疄鐜拌法嫻忚鍣ㄥ吋瀹廣?/p>

銆銆getFormAsString()鏂規硶灝咹TML form杞崲鎴愬瓧絎︿覆榪炴帴鍦║RL鍚庨潰(榪欐牱灝卞厑璁告垜浠彂閫丠TTP GET璇鋒眰)銆傝繖涓瓧絎︿覆鏄粡榪囪漿鎹㈢殑(姣斿錛岀┖鏍艱漿鎹㈡垚%20絳?錛屽茍涓旀槸涓涓猄truts鑳藉皢鍏剁粍瑁呮垚ActionForm鐨勬牸寮?騫朵笉闇瑕丼truts娓呮鐨勬槑鐧借繖涓槸鏉ヤ箣AJAX鐨勮姹?銆傛敞鎰忥紝鍦ㄦ湰渚嬩腑鎴戜滑浣跨敤HTTP GET錛屼嬌鐢℉TTP POST鐨勬柟娉曚篃鏄被浼肩殑銆?/p>

function retrieveURL(url,nameOfFormToPost) {

//灝唘rl杞崲鎴愬瓧絎︿覆
url=url+getFormAsString(nameOfFormToPost);

//璋冪敤AJAX
if (window.XMLHttpRequest) {

// 闈濱E嫻忚鍣?br>req = new XMLHttpRequest();
req.onreadystatechange = processStateChange;
try {
req.open("GET", url, true);
} catch (e) {
alert("Server Communication Problem\n"+e);
}
req.send(null);
} else if (window.ActiveXObject) {
// IE

req = new ActiveXObject("Microsoft.XMLHTTP");
if (req) {
req.onreadystatechange=processStateChange;
req.open("GET", url, true);
req.send();
}
}
}

getFormAsString() 鏄竴涓?#8220;縐佹湁” 鏂規硶錛屽湪retrieveURL()涓嬌鐢ㄣ?/p>

function getFormAsString(formName){

//璁劇疆榪斿洖瀛楃涓?br>returnString ="";

//鍙栧緱琛ㄥ崟鐨勫?br>formElements=document.forms[formName].elements;

//寰幆鏁扮粍錛岀粍瑁卽rl
//鍍?/strutsaction.do&name=value'榪欐牱鐨勬牸寮?/p>

for(var i=formElements.length-1;i>=0; --i ){
//杞寲姣忎竴涓?br>returnString+="&"
+escape(formElements[i].name)+"="
+escape(formElements[i].value);
}

//榪斿洖瀛楃涓?br>return returnString;
}

鏍規嵁AJAX鐨勫搷搴旀洿鏂皐eb欏甸潰

銆銆鍒扮幇鍦ㄤ負姝紝鎴戜滑瀛︿範榪囦簡浣跨敤JavaScript鏉ュ畬鎴怉JAX璋冪敤(鍓嶉潰鍒楀嚭)錛孲truts Action錛孉ctionForm浠ュ強JSP(鍩烘湰娌℃湁鍙樺寲錛屽彧鏄鍔犱簡鏍囩)銆備負浜嗗畬鍠勬垜浠Struts-AJAX欏圭洰鐨勪簡瑙o紝鎴戜滑闇瑕佷簡瑙d笁涓敤浜庢牴鎹湇鍔″櫒榪斿洖鐨勭粨鏋滆屾洿鏂伴〉闈㈢殑JavaScript鏂規硶銆?/p>

  • 銆銆· processStateChange(): 璇ユ柟娉曞湪AJAX璋冪敤鍓嶈瀹氥傚畠鍦ㄦ湇鍔″櫒鍝嶅簲鍒拌揪鍚庣敱XMLHttpRequest/Microsoft.XMLHTTP 瀵硅薄璋冪敤銆?
  • 銆銆·splitTextIntoSpan(): 鏍規嵁鍝嶅簲錛屽驚鐜彇鍑烘暟緇勪腑鐨勫厓绱犵粍瑁呮垚NewContent銆?
  • 銆銆·replaceExistingWithNewHtml(): 鏍規嵁span鍏冪礌鏁扮粍錛屽驚鐜悳绱紝灝嗛噷闈㈢殑鍏冪礌璋冩崲鎺夐〉闈腑鍜屽畠鐨?someName'鐩稿悓鐨勪腑鐨勫唴瀹廣傛敞鎰忥紝鎴戜滑浣跨敤鐨勬槸req.responseText 鏂規硶鏉ヨ幏寰楄繑鍥炵殑鍐呭(瀹冨厑璁告垜浠搷浣滀換浣曟枃鏈殑鍝嶅簲)銆備笌姝ょ浉瀵逛簬鐨勬槸req.responseXml (瀹冪殑浣滅敤鏇村ぇ錛屼絾鏄姹傛湇鍔″櫒榪斿洖鏄疿HTML鎴栬匵ML)銆?/li>

function processStateChange() {

if (req.readyState == 4) { // 瀹屾垚
if (req.status == 200) { // 鍝嶅簲姝e父

//灝嗗搷搴旂殑鏂囨湰鍒嗗壊鎴怱pan鍏冪礌
spanElements =
splitTextIntoSpan(req.responseText);

//浣跨敤榪欎簺Span鍏冪礌鏇存柊欏甸潰
replaceExistingWithNewHtml(spanElements);

} else {
alert("Problem with server response:\n "
+ req.statusText);
}
}
}
replaceExistingWithNewHtml() 鏄負processStateChange()浣跨敤鐨?#8220;縐佹湁”鏂規硶銆?/p>

function replaceExistingWithNewHtml
(newTextElements){

//寰幆newTextElements
for(var i=newTextElements.length-1;i>=0;--i){

//鍒ゆ柇鏄惁浠?if(newTextElements[i].
indexOf("-1){

//鑾峰緱span鐨勫悕瀛? 璁劇疆鍦ㄧ涓鍜岀浜屼釜寮曞彿涔嬮棿
//紜span鍏冪礌鏄互涓嬬殑鏍煎紡
//NewContent
startNamePos=newTextElements[i].
indexOf('"')+1;
endNamePos=newTextElements[i].
indexOf('"',startNamePos);
name=newTextElements[i].
substring(startNamePos,endNamePos);

//鑾峰緱鍐呭錛嶅湪絎竴涓?gt;鏍囪鍚庣殑鎵鏈夊唴瀹?br>startContentPos=newTextElements[i].
indexOf('>')+1;
content=newTextElements[i].
substring(startContentPos);

//鐜板湪鏇存柊鐜版湁鐨凞ocument涓殑鍏冪礌錛?
// 紜繚鏂囨。瀛樺湪璇ュ厓绱?br>if(document.getElementById(name)){
document.getElementById(name).
innerHTML = content;
}
}
}
splitTextIntoSpan() 鏄負processStateChange() 浣跨敤鐨?#8220;縐佹湁”鏂規硶銆?br>function splitTextIntoSpan(textToSplit){

//鍒嗗壊鏂囨。
returnElements=textToSplit.
split("")

//澶勭悊姣忎釜鍏冪礌
for(var i=returnElements.length-1;i>=0;--i){

//鍒犻櫎鎺夌涓涓猻pan鍚庨潰鐨勫厓绱?br>spanPos = returnElements[i].
indexOf("

//濡傛灉鎵懼埌鍖歸厤鐨勶紝鑾峰緱span鍓嶇殑鍐呭
if(spanPos>0){
subString=returnElements[i].
substring(spanPos);
returnElements[i]=subString;
}
}
return returnElements;
}

銆銆鏂扮殑鎺у埗嫻?/p>

銆銆娣誨姞浠ヤ笅鐨凧avaScript浠g爜鍒版垜浠殑搴旂敤涓紝浠ヤ笅鐨勬楠ゅ皢鍦ㄦ湇鍔″櫒鍜屾祻瑙堝櫒涓墽琛屻?/p>

  • 銆銆1. 濡傚悓涓涓櫘閫歋truts搴旂敤瑁呰澆欏甸潰銆?
  • 銆銆2. 鐢ㄦ埛鏀瑰彉鏂囨湰妗嗙殑鍊鹼紝瑙﹀彂涓涓猳nChange() 浜嬩歡錛岃皟鐢╮etrieveURL() 鏂規硶銆?
  • 銆銆3. 璇avaScript鏂規硶閫氳繃鍙戦丼truts鏄庣櫧鐨勮〃鍗曞彉閲?鍚庡彴)璇鋒眰鍒版湇鍔″櫒鐨凷truts Action銆?
  • 銆銆4. 璇avaScript鏂規硶鍚屾牱璁懼畾浜嗙浜屼釜JavaScript鏂規硶鐨勫悕瀛楋紝姝ゆ柟娉曞皢鍒版湇鍔″櫒鍝嶅簲瀹屾瘯鍚庤皟鐢ㄣ傛湰渚嬪瓙涓紝璁懼畾涓簆rocessStateChange() 鏂規硶銆?
  • 銆銆5. 濡傛垜浠墍棰勬湡鐨勶紝鏈嶅姟鍣ㄥ搷搴斿畬姣曪紝璋冪敤processStateChange() 鏂規硶銆?
  • 銆銆6. JavaScript鍦?鏂扮殑)鏈嶅姟鍣ㄥ搷搴斾腑寰幆鍙栧嚭鎵鏈夊厓绱犮傚皢欏甸潰涓婂瓨鍦ㄤ笌鑾峰緱鍏冪礌鍚嶅瓧鐩稿悓鐨?涓殑鍏冪礌鏇挎崲鎺夈?/li>

銆銆鍦ㄤ綘鐨勫簲鐢ㄤ腑璁捐AJAX

銆銆浠ヤ笂鎻忚堪鐨凧avaScript鏂規硶鑳藉湪澶у鏁扮殑搴旂敤涓嬌鐢紝鍖呮嫭姣旀垜浠殑渚嬪瓙澶嶆潅寰楀鐨勩備絾鏄紝鍦ㄤ嬌鐢ㄤ箣鍓嶏紝浣犻渶瑕佹敞鎰忎互涓嬪嚑鐐?

銆銆· 閬垮厤澶嶅埗浠g爜錛屾渶濂藉湪鍒濆鍖栬姹?濡傦紝鏄劇ず瀹屾暣鐨勯〉闈?鍜孉JAX(鏇存柊閮ㄥ垎欏甸潰)璇鋒眰涓嬌鐢ㄧ浉鍚岀殑Struts Action鍜孞SP銆?/p>

銆銆·鍦ㄥ叕鍏辯殑Action(鎺у埗鍣?涓紝鍐沖畾JSP欏甸潰(鎵鏈夌殑JSP欏甸潰鎴栬呭叾涓殑涓閮ㄥ垎)涓殑涓涓尯鍩熼渶瑕佷紶閫佸埌嫻忚鍣ㄣ傞氳繃鍦╳eb鏈嶅姟鍣ㄧ殑session鎴栬匒ctionForm涓瀹氭爣璁版潵璁㎎SP欏甸潰鐭ラ亾鍝簺閮ㄥ垎闇瑕佹彁浜ゃ?/p>

銆銆· 鍦↗SP涓紝浣跨敤Struts 鎴栬匤STL鏍囩鏉ュ喅瀹氭彁浜ょ殑HTML鍖哄煙銆?/p>

銆銆浣跨敤AJAX鐨勬湰渚嬪瓙錛屽彲浠ュ湪浠ヤ笅涓嬭澆: struts-Ajax.zip

銆銆緇撹

銆銆AJAX鎶鏈厑璁告垜浠湪鍒涘緩鍜屼嬌鐢╳eb搴旂敤鐨勬椂鍊欏畬鍏ㄧ殑鏀瑰彉銆傛湰鏂囦粙緇嶄簡涓涓畝鍗曠殑鎶鏈紝鍦ㄧ幇鏈夌殑Struts搴旂敤涓鍔燬truts鐨勫鐞嗐傚畠鍏佽鎴戜滑鍒╃敤鎴戜滑宸叉湁鐨勪笢瑗匡紝涓嶄粎浠呮槸浠g爜錛岃繕鍖呮嫭浜嗗紑鍙戠殑鎶鑳姐備綔涓轟竴涓ソ鐨勪駭鍝侊紝瀹冨悓鏍峰厑璁告垜浠啓鍑烘洿娓呮櫚錛屾洿鍏風Щ妞嶆х殑Java Struts搴旂敤銆?/p>

鐗堟潈澹版槑錛歍echtarget鑾稭atrix鎺堟潈鍙戝竷,濡傞渶杞澆璇瘋仈緋籑atrix
浣滆?浣滆?Paul Browne;pawenwen(浣滆呯殑blog:http://blog.matrix.org.cn/page/pawenwen)
璇戞枃:鐐瑰嚮



]]>
鍦⊿ervlet涓嶫SP涓彇寰楀綋鍓嶆枃浠舵墍鍦ㄧ殑鐩稿璺緞涓庣粷瀵硅礬寰勶紙璺緞鐩稿叧錛?/title><link>http://www.tkk7.com/bnlovebn/archive/2007/07/27/132741.html</link><dc:creator>閲嶅綊鏈瀿錛圔ing錛?/dc:creator><author>閲嶅綊鏈瀿錛圔ing錛?/author><pubDate>Fri, 27 Jul 2007 04:23:00 GMT</pubDate><guid>http://www.tkk7.com/bnlovebn/archive/2007/07/27/132741.html</guid><wfw:comment>http://www.tkk7.com/bnlovebn/comments/132741.html</wfw:comment><comments>http://www.tkk7.com/bnlovebn/archive/2007/07/27/132741.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/bnlovebn/comments/commentRss/132741.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/bnlovebn/services/trackbacks/132741.html</trackback:ping><description><![CDATA[<p> </p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.tkk7.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">鏍圭洰褰曟墍瀵瑰簲鐨勭粷瀵硅礬寰?</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> request.getServletPath() </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">); <br><img src="http://www.tkk7.com/Images/OutliningIndicators/None.gif" align=top>String strPathFile </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> request.getSession().getServletContext().getRealPath(request.getRequestURI()); <br><img src="http://www.tkk7.com/Images/OutliningIndicators/None.gif" align=top>System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">鏂囦歡鐨勭粷瀵硅礬寰?</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> strPathFile </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">); <br><img src="http://www.tkk7.com/Images/OutliningIndicators/None.gif" align=top>String strDirPath </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> File(request.getSession().getServletContext().getRealPath(request.getRequestURI())).getParent(); <br><img src="http://www.tkk7.com/Images/OutliningIndicators/None.gif" align=top>System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">鐩綍鐨勭粷瀵硅礬寰?</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> strDirPath </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">); <br>    this.getServlet().getServletContext().getRealPath("/");//鍦╯truts鐨刟ction涓彇寰楀綋鍓嶇郴緇熺殑鏍圭洰褰?br><img src="http://www.tkk7.com/Images/OutliningIndicators/None.gif" align=top><br>銆涓句緥錛?a href="http://localhost:7001/myservlet/somepath/test?someparam=somevalue">http://localhost:7001/myservlet/somepath/test?someparam=somevalue</a><br><img src="http://www.tkk7.com/Images/OutliningIndicators/None.gif" align=top>request.getPathInfo()錛氳繑鍥?/span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">somepath</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">test<br><img src="http://www.tkk7.com/Images/OutliningIndicators/None.gif" align=top>request.getRequestURL()錛氳繑鍥瀐ttp:</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">localhost:7001/myservlet/somepath/test</span><span style="COLOR: #008000"><br><img src="http://www.tkk7.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">request.getRequestURI()錛氳繑鍥?/span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">myservlet</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">somepath</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">test<br><img src="http://www.tkk7.com/Images/OutliningIndicators/None.gif" align=top>request.getServletPath()錛氳繑鍥?/span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">myservlet<br><img src="http://www.tkk7.com/Images/OutliningIndicators/None.gif" align=top>request.getQueryString()錛氳繑鍥瀞omeparam</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">somevalue<br>    request.getContextPath();  榪斿洖欏圭洰鍚?u><font color=#0000ff>/myservlet</font></u></span></div> <img src ="http://www.tkk7.com/bnlovebn/aggbug/132741.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/bnlovebn/" target="_blank">閲嶅綊鏈瀿錛圔ing錛?/a> 2007-07-27 12:23 <a href="http://www.tkk7.com/bnlovebn/archive/2007/07/27/132741.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Struts+FCKeditor淇敼璇誨彇鐨刪tml鏂囨湰http://www.tkk7.com/bnlovebn/archive/2007/07/25/132216.html閲嶅綊鏈瀿錛圔ing錛?/dc:creator>閲嶅綊鏈瀿錛圔ing錛?/author>Wed, 25 Jul 2007 02:06:00 GMThttp://www.tkk7.com/bnlovebn/archive/2007/07/25/132216.htmlhttp://www.tkk7.com/bnlovebn/comments/132216.htmlhttp://www.tkk7.com/bnlovebn/archive/2007/07/25/132216.html#Feedback0http://www.tkk7.com/bnlovebn/comments/commentRss/132216.htmlhttp://www.tkk7.com/bnlovebn/services/trackbacks/132216.html<bean:write銆榛樿鐨刦ilter鏄痶rue銆傝〃紺烘妸html鏁忔劅鏍囩杞崲鎴愯漿鎹㈡垚瀹冧滑瀹炰綋鐨勭瓑浠風墿銆傚<杞崲鎴?amp;lt銆傝涓篺alse鍒欎笉杞崲銆?/span>
         <FCK:editor id="classContent" basePath="/ECR_WWW/FCKeditor/"
         width
="500"
         height
="500"
         skinPath
="/ECR_WWW/FCKeditor/editor/skins/silver/"
         
>
         
         
<bean:write name="articleAdminForm" property="classContent" filter="false"/>
        
</FCK:editor>


]]>
FCKeditor2.4 JSP鐗堜嬌鐢╗杞琞 http://www.tkk7.com/bnlovebn/archive/2007/07/24/132119.html閲嶅綊鏈瀿錛圔ing錛?/dc:creator>閲嶅綊鏈瀿錛圔ing錛?/author>Tue, 24 Jul 2007 09:58:00 GMThttp://www.tkk7.com/bnlovebn/archive/2007/07/24/132119.htmlhttp://www.tkk7.com/bnlovebn/comments/132119.htmlhttp://www.tkk7.com/bnlovebn/archive/2007/07/24/132119.html#Feedback1http://www.tkk7.com/bnlovebn/comments/commentRss/132119.htmlhttp://www.tkk7.com/bnlovebn/services/trackbacks/132119.html1.涓嬭澆
FCKeditor2.3 (FCKeditot for java)
FCKeditor2.4 (FCKeditor鍩烘湰鏂囦歡)
浠ヤ笅鏄笅杞藉湴鍧錛?br>http://www.fckeditor.net/download/default.html

2.寤虹珛欏圭洰:
寤虹珛欏圭洰tomcat/webapps/TestFCKeditor.

3.灝咶CKeditor2.4瑙e帇緙?br>灝咶CKeditor2.4瑙e帇緙?灝嗘暣涓洰褰旻CKeditor澶嶅埗鍒伴」鐩殑鏍圭洰褰曚笅錛屽茍灝嗚В鍘嬬緝鍑烘潵鐨勬枃浠跺すfckeditor閲嶅懡鍚嶄負FCKeditor
鐩綍緇撴瀯涓猴細tomcat/webapps/TestFCKeditor/FCKeditor
鐒跺悗灝咶CKeditor-2.3.zip錛坖ava錛夊帇緙╁寘涓璡web\WEB-INF\lib\鐩綍涓嬬殑涓や釜jar鏂囦歡鎷峰埌欏圭洰鐨刓WEB-INF\ lib\鐩綍涓嬨傛妸鍏朵腑鐨剆rc鐩綍涓嬬殑FCKeditor.tld鏂囦歡copy鍒癟estFCKedit/WEB-INF/涓?/p>

4.鍚堝茍web.xml:
灝咶CKeditor-2.3.zip鍘嬬緝鍖呬腑\web\WEB-INF\鐩綍涓嬬殑web.xml鏂囦歡鍚堝茍鍒伴」鐩殑\WEB-INF\鐩綍涓嬬殑web.xml鏂囦歡涓?/p>


5. 淇敼鍚堝茍鍚庣殑web.xml鏂囦歡
淇敼鍚堝茍鍚庣殑web.xml鏂囦歡錛屽皢鍚嶄負SimpleUploader鐨凷ervlet鐨別nabled鍙傛暟鍊兼敼涓簍rue錛?br>浠ュ厑璁鎬笂浼犲姛鑳斤紝Connector Servlet鐨刡aseDir鍙傛暟鍊肩敤浜庤緗笂浼犳枃浠跺瓨鏀劇殑浣嶇疆銆?br>鍦╳eb.xml鏈鍚庢坊鍔犳爣絳懼畾涔?

<taglib>
    <taglib-uri>/TestFCKeditor</taglib-uri>
    <taglib-location>/WEB-INF/FCKeditor.tld</taglib-location>
 </taglib>

鐜板湪鐨剋eb.xml鏂囦歡娌℃湁<taglib>鏍囩浜嗭紝搴旇鐩存帴鍦╦sp鏂囦歡涓嬌鐢細<%@ taglib uri="

 

6. 鏄犲皠:
涓婇潰鏂囦歡涓袱涓猻ervlet鐨勬槧灝勫垎鍒負錛?editor/filemanager/browser/default/connectors/jsp/connector
鍜?editor/filemanager/upload/simpleuploader錛岄渶瑕佸湪涓や釜鏄犲皠鍓嶉潰鍔犱笂/FCKeditor錛?br>鍗蟲敼涓?FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector鍜?br>/FCKeditor/editor/filemanager/upload/simpleuploader銆?br>榪欎袱涓悕瀛楁牴鎹綘鏀懼湪宸ョ▼涓殑FCKeditor鏂囦歡澶瑰悕縐拌屽畾銆傘?/p>


7.淇敼skin鏂囦歡澶?br>榪涘叆skin鏂囦歡澶癸紝濡傛灉浣犳兂浣跨敤fckeditor榛樿鐨勮繖縐嶅ザ榛勮壊錛?br>閭e氨鎶婇櫎浜哾efault鏂囦歡澶瑰鐨勫彟涓や釜鏂囦歡澶圭洿鎺ュ垹闄?錛堝緩璁笉鍒犻櫎錛屼互鍚庤鐢ㄥ埌鍏朵腑鐨勪竴涓枃浠跺す錛?/p>

8.鍒犻櫎鏃犵敤鏂囦歡
鍒犻櫎/FCKeditor/鐩綍涓嬮櫎fckconfig.js, fckeditor.js, fckstyles.xml, fcktemplates.xml鍥涗釜鏂囦歡浠ュ鐨勬墍鏈夋枃浠訛紝淇濈暀鏂囦歡澶筫ditor
鍒犻櫎鐩綍/editor/_source,
鍒犻櫎/editor/filemanager/browser/default/connectors/涓嬬殑鎵鏈夋枃浠?br>鍒犻櫎/editor/filemanager/upload/涓嬬殑鎵鏈夋枃浠?br>鍒犻櫎/editor/lang/涓嬬殑闄や簡fcklanguagemanager.js錛堟垜涓嬭澆鐨勬病鏈夎繖涓枃浠訛級, en.js, zh.js, zh-cn.js鍥涗釜鏂囦歡鐨勬墍鏈夋枃浠?/p>

9.淇敼閰嶇疆錛?br>鎵撳紑/FCKeditor/fckconfig.js
淇敼 FCKConfig.DefaultLanguage = 'zh-cn' ;
鎶奆CKConfig.LinkBrowserURL絳夌殑鍊兼浛鎹㈡垚浠ヤ笅鍐呭錛?br>FCKConfig.LinkBrowserURL
= FCKConfig.BasePath + "filemanager/browser/default/browser.html?Connector=connectors/jsp/connector" ;

FCKConfig.ImageBrowserURL
= FCKConfig.BasePath + "filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector" ;

FCKConfig.FlashBrowserURL
= FCKConfig.BasePath + "filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/jsp/connector" ;

FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=File' ;
FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=Flash' ;
FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=Image' ;

10.鍏跺畠
fckconfig.js鎬婚厤緗枃浠訛紝鍙敤璁板綍鏈墦寮錛屼慨鏀瑰悗灝嗘枃浠跺瓨涓簎tf-8 緙栫爜鏍煎紡銆傛壘鍒幫細

FCKConfig.TabSpaces = 0 ; 鏀逛負FCKConfig.TabSpaces = 1 ; 鍗沖湪緙栬緫鍣ㄥ煙鍐呭彲浠ヤ嬌鐢═ab閿?/p>

濡傛灉浣犵殑緙栬緫鍣ㄨ繕鐢ㄥ湪緗戠珯鍓嶅彴鐨勮瘽錛屾瘮濡傝鐢ㄤ簬鐣欒█鏈垨鏄棩璁板洖澶嶆椂錛岄偅灝變笉寰椾笉鑰冭檻瀹夊叏浜嗭紝
鍦ㄥ墠鍙板崈涓囦笉瑕佷嬌鐢―efault鐨則oolbar錛岃涔堣嚜瀹氫箟涓涓嬪姛鑳斤紝瑕佷箞灝辯敤緋葷粺宸茬粡瀹氫箟濂界殑Basic錛?br>涔熷氨鏄熀鏈殑toolbar錛屾壘鍒幫細
FCKConfig.ToolbarSets["Basic"] = [
['Bold','Italic','-','OrderedList','UnorderedList','-',/*'Link',*/'Unlink','-','Style','FontSize','TextColor','BGColor','-',
'Smiley','SpecialChar','Replace','Preview'] ] ;
榪欐槸鏀硅繃鐨凚asic錛屾妸鍥懼儚鍔熻兘鍘繪帀錛屾妸娣誨姞閾炬帴鍔熻兘鍘繪帀錛屽洜涓哄浘鍍忓拰閾炬帴鍜宖lash鍜屽浘鍍忔寜閽坊鍔犲姛鑳介兘鑳借鍓嶅彴
欏電洿鎺ヨ闂拰涓婁紶鏂囦歡錛?fckeditor榪樻敮鎸佺紪杈戝煙鍐呯殑榧犳爣鍙抽敭鍔熻兘銆?/p>

FCKConfig.ContextMenu = ['Generic',/*'Link',*/'Anchor',/*'Image',*/'Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField',
/*'ImageButton',*/'Button','BulletedList','NumberedList','TableCell','Table','Form'] ;

榪欎篃鏄敼榪囩殑鎶婇紶鏍囧彸閿殑“閾炬帴銆佸浘鍍忥紝FLASH錛屽浘鍍忔寜閽?#8221;鍔熻兘閮藉幓鎺夈?/p>

銆銆鎵懼埌錛?FCKConfig.FontNames = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
鍔犱笂鍑犵鎴戜滑甯哥敤鐨勫瓧浣?br>FCKConfig.FontNames
= '瀹嬩綋;榛戜綋;闅朵功;妤蜂綋_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;


11.娣誨姞鏂囦歡
娣誨姞鏂囦歡 /TestFCKeditor/test.jsp:
<%@ page language="java" import="com.fredck.FCKeditor.*" %>
<%@ taglib uri="/TestFCKeditor" prefix="FCK" %>
<script type="text/javascript" src="/TestFCKeditor/FCKeditor/fckeditor.js"></script>

<%--
涓夌鏂規硶璋冪敤FCKeditor
1.FCKeditor鑷畾涔夋爣絳?(蹇呴』鍔犲ご鏂囦歡 <%@ taglib uri="/TestFCKeditor" prefix="FCK" %> )
2.script鑴氭湰璇█璋冪敤 (蹇呴』寮曠敤 鑴氭湰鏂囦歡 <script type="text/javascript" src="/TestFCKeditor/FCKeditor/fckeditor.js"></script> )
3.FCKeditor API 璋冪敤 (蹇呴』鍔犲ご鏂囦歡 <%@ page language="java" import="com.fredck.FCKeditor.*" %> )
--%>


//鏍囩璋冪敤鏂瑰紡
<%--
<form action="show.jsp" method="post" target="_blank">
<FCK:editor id="content" basePath="/TestFCKeditor/FCKeditor/"
width="700"
height="500"
skinPath="/TestFCKeditor/FCKeditor/editor/skins/silver/"
toolbarSet = "Default"
>
input
</FCK:editor>
<input type="submit" value="Submit">
</form>
--%>


//JS璋冪敤鏂瑰紡
<form action="show.jsp" method="post" target="_blank">
<table border="0" width="700"><tr><td>
<textarea id="content" name="content" style="WIDTH: 100%; HEIGHT: 400px">input</textarea>
<script type="text/javascript">
var oFCKeditor = new FCKeditor('content') ;
oFCKeditor.BasePath = "/TestFCKeditor/FCKeditor/" ;
oFCKeditor.Height = 400;
oFCKeditor.ToolbarSet = "Default" ;
oFCKeditor.ReplaceTextarea();
</script>
<input type="submit" value="Submit">
</td></tr></table>
</form>


//FCKeditor API 璋冪敤
<%--
<form action="show.jsp" method="post" target="_blank">
<%
FCKeditor oFCKeditor ;
oFCKeditor = new FCKeditor( request, "content" ) ;
oFCKeditor.setBasePath( "/TestFCKeditor/FCKeditor/" ) ;
oFCKeditor.setValue( "input" );
out.println( oFCKeditor.create() ) ;
%>
<br>
<input type="submit" value="Submit">
</form>
--%>

娣誨姞鏂囦歡/TestFCKeditor/show.jsp:
<%
String content = request.getParameter("content");
out.print(content);
%>

 


12.嫻嬭瘯
嫻忚
http://localhost:8080/TestFCKeditor/test.jsp


鏈鍚庢敞鎰忋傘備笉鍚岀殑鐗堟湰 鍙橀噺鍚嶇О鍙兘涓嶄竴鏍楓傝鍙傝冧綘浣跨敤鐨凙PI鏂囨。

閰嶇疆閫夐」:

AutoDetectLanguage=true/false 鑷姩媯嫻嬭璦
BaseHref="" 鐩稿閾炬帴鐨勫熀鍦板潃
ContentLangDirection="ltr/rtl" 榛樿鏂囧瓧鏂瑰悜
ContextMenu=瀛楃涓叉暟緇?鍙抽敭鑿滃崟鐨勫唴瀹?br>CustomConfigurationsPath="" 鑷畾涔夐厤緗枃浠惰礬寰勫拰鍚嶇О
Debug=true/false 鏄惁寮鍚皟璇曞姛鑳?榪欐牱,褰撹皟鐢‵CKDebug.Output()鏃?浼氬湪璋冭瘯紿椾腑杈撳嚭鍐呭
DefaultLanguage="" 緙虹渷璇█
EditorAreaCss="" 緙栬緫鍖虹殑鏍峰紡琛ㄦ枃浠?br>EnableSourceXHTML=true/false 涓篢RUE鏃?褰撶敱鍙鍖栫晫闈㈠垏鎹㈠埌浠g爜欏墊椂,鎶奌TML澶勭悊鎴怷HTML
EnableXHTML=true/false 鏄惁鍏佽浣跨敤XHTML鍙栦唬HTML
FillEmptyBlocks=true/false 浣跨敤榪欎釜鍔熻兘,鍙互灝嗙┖鐨勫潡綰у厓绱犵敤絀烘牸鏉ユ浛浠?br>FontColors="" 璁劇疆鏄劇ず棰滆壊鎷懼彇鍣ㄦ椂鏂囧瓧棰滆壊鍒楄〃
FontFormats="" 璁劇疆鏄劇ず鍦ㄦ枃瀛楁牸寮忓垪琛ㄤ腑鐨勫懡鍚?br>FontNames="" 瀛椾綋鍒楄〃涓殑瀛椾綋鍚?br>FontSizes="" 瀛椾綋澶у皬涓殑瀛楀彿鍒楄〃
ForcePasteAsPlainText=true/false 寮哄埗綺樿創涓虹函鏂囨湰
ForceSimpleAmpersand=true/false 鏄惁涓嶆妸&絎﹀彿杞崲涓篨ML瀹炰綋
FormatIndentator="" 褰撳湪婧愮爜鏍煎紡涓嬬緝榪涗唬鐮佷嬌鐢ㄧ殑瀛楃
FormatOutput=true/false 褰撹緭鍑哄唴瀹規椂鏄惁鑷姩鏍煎紡鍖栦唬鐮?br>FormatSource=true/false 鍦ㄥ垏鎹㈠埌浠g爜瑙嗗浘鏃舵槸鍚﹁嚜鍔ㄦ牸寮忓寲浠g爜
FullPage=true/false 鏄惁鍏佽緙栬緫鏁翠釜HTML鏂囦歡,榪樻槸浠呭厑璁哥紪杈態ODY闂寸殑鍐呭
GeckoUseSPAN=true/false 鏄惁鍏佽SPAN鏍囪浠f浛B,I,U鏍囪
IeSpellDownloadUrl=""涓嬭澆鎷煎啓媯鏌ュ櫒鐨勭綉鍧
ImageBrowser=true/false 鏄惁鍏佽嫻忚鏈嶅姟鍣ㄥ姛鑳?br>ImageBrowserURL="" 嫻忚鏈嶅姟鍣ㄦ椂榪愯鐨刄RL
ImageBrowserWindowHeight="" 鍥懼儚嫻忚鍣ㄧ獥鍙i珮搴?br>ImageBrowserWindowWidth="" 鍥懼儚嫻忚鍣ㄧ獥鍙e搴?br>LinkBrowser=true/false 鏄惁鍏佽鍦ㄦ彃鍏ラ摼鎺ユ椂嫻忚鏈嶅姟鍣?br>LinkBrowserURL="" 鎻掑叆閾炬帴鏃舵祻瑙堟湇鍔″櫒鐨刄RL
LinkBrowserWindowHeight=""閾炬帴鐩爣嫻忚鍣ㄧ獥鍙i珮搴?br>LinkBrowserWindowWidth=""閾炬帴鐩爣嫻忚鍣ㄧ獥鍙e搴?br>Plugins=object 娉ㄥ唽鎻掍歡
PluginsPath="" 鎻掍歡鏂囦歡澶?br>ShowBorders=true/false 鍚堝茍杈規
SkinPath="" 鐨偆鏂囦歡澶逛綅緗?br>SmileyColumns=12 鍥劇紿楀垪鏁?br>SmileyImages=瀛楃鏁扮粍 鍥劇紿椾腑鍥劇墖鏂囦歡鍚嶆暟緇?br>SmileyPath="" 鍥劇鏂囦歡澶硅礬寰?br>SmileyWindowHeight 鍥劇紿楀彛楂樺害
SmileyWindowWidth 鍥劇紿楀彛瀹藉害
SpellChecker="ieSpell/Spellerpages" 璁劇疆鎷煎啓媯鏌ュ櫒
StartupFocus=true/false 寮鍚椂FOCUS鍒扮紪杈戝櫒
StylesXmlPath="" 璁劇疆瀹氫箟CSS鏍峰紡鍒楄〃鐨刋ML鏂囦歡鐨勪綅緗?br>TabSpaces=4 TAB閿駭鐢熺殑絀烘牸瀛楃鏁?br>ToolBarCanCollapse=true/false 鏄惁鍏佽灞曞紑/鎶樺彔宸ュ叿鏍?br>ToolbarSets=object 鍏佽浣跨敤TOOLBAR闆嗗悎
ToolbarStartExpanded=true/false 寮鍚槸TOOLBAR鏄惁灞曞紑
UseBROnCarriageReturn=true/false 褰撳洖杞︽椂鏄駭鐢烞R鏍囪榪樻槸P鎴栬匘IV鏍囪

瑙e喅涓婁紶涔辯爜:
鍦⊿impleUploaderServlet.java鍜孋onnectorServlet.java涓や釜鏂囦歡閲屾壘鍒?br>DiskFileUpload upload = new DiskFileUpload();
鍒嗗埆鍦ㄥ叾鍚庡姞鍏?upload.setHeaderEncoding("utf-8");
榪欐牱瑙e喅浜嗘枃浠朵笂浼犵殑涓枃涔辯爜闂.
浣嗘槸鍦ㄦ帶鍒跺彴鏄劇ず鐨勪腑鏂囧唴瀹硅繕鏄貢鐮?浣嗘槸娌″叧緋?鎴戜滑娌″繀瑕佸幓鐪嬫帶鍒跺彴涓嬬殑涓枃

----------------------------------------------------------------another
FCKeditor2.4.2 Java鐗堜嬌鐢ㄨ鏄?br>涓嬭澆鍦板潃浠ュ強鍩烘湰閰嶇疆璇峰弬鑰冿細http://hi.baidu.com/wain19/blog/item/c33fb0fab74f24dfb48f312d.html

鎴戠殑寮鍙戠幆澧冩槸ubuntu7.04, 緋葷粺榛樿緙栫爜鏄痷tf-8,
鏈熼棿錛屾湰浜洪亣鍒頒簡涓嬮潰榪欎簺闂錛?/p>

闂涓錛歑ML request error: Internel Server Error(500)

鍑虹幇閿欒鐨勫湴鏂規槸鍦細鐐規彃鍏ュ浘鐗囷紝鐐笲rowse鎸夐挳鐨勬椂鍊欙細
XML request error: Internel Server Error(500)

鎵捐祫鏂欙細http://lamono.javaeye.com/blog/49135
鎷瘋礉xalan.jar鍜宻erialize.jar鍒?WEB-INF/lib錛岄棶棰樿В鍐熾?/p>

FCKeditor-java娌℃湁寰堝ソ鐨勮В鍐充腑鏂囬棶棰樸傞渶瑕佹垜浠慨鏀瑰畠鐨勬簮浠g爜鍚庨噸鏂扮紪璇戞墦鍖呫傛墦鍖呰繃紼嬪涓嬶細
1銆?鏂板緩涓涓獁eb宸ョ▼鍚嶅瓧涓篎CKeditor-java-2.3錛岀劧鍚庢妸FCKeditor-2.3-java.zip瑙e帇緙╁悗鐨勪唬鐮佹嫹璐濆埌宸ョ▼鐩綍涓嬨?br>2銆傚鏋滄槸鐢ㄧ殑Eclipse,浣跨敤蹇嵎閿瓹trl+Shift+R
鍦⊿impleUploaderServlet.java鍜孋onnectorServlet.java涓や釜鏂囦歡閲屾壘鍒?br>DiskFileUpload upload = new DiskFileUpload();
鍒嗗埆鍦ㄥ叾鍚庡姞鍏?upload.setHeaderEncoding("utf-8");
鐜板湪濡傛灉鐩存帴榪愯ant浠誨姟錛屼細鎶ヤ笅闈㈢殑閿欒錛?br>taskdef class org.apache.catalina.ant.DeployTask cannot be found

3銆?鎶妕omcat瀹夎鐩綍涓?server/lib涓殑catalina-ant.jar鎷瘋礉鍒?WEB-INF/lib鐩綍 涓嬨?br>4銆?鎵撳紑build.xml
鎵懼埌
<property name="catalina.home"
淇敼鎴愪綘鑷繁鐨則omcat瀹夎鐩綍
<property name="catalina.home"         value="/home/uniquejava/tool/tomcat5028/"/>
鎵懼埌
<taskdef name="deploy"
淇敼鎴愬涓嬪唴瀹?br>     <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask">
        <classpath refid="compile.classpath">
        </classpath>
    </taskdef>
    <taskdef name="list" classname="org.apache.catalina.ant.ListTask">
        <classpath refid="compile.classpath">
        </classpath>
    </taskdef>
    <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask">
        <classpath refid="compile.classpath">
        </classpath>
    </taskdef>
    <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask">
        <classpath refid="compile.classpath">
        </classpath>
    </taskdef>

榪愯ant浠誨姟dist, 灝卞彲浠ョ敓鎴愭柊鐨凢CKeditor-2.3.jar鍖?/p>

闂涓夛細 涓婁紶鏃舵柊寤虹殑涓枃鐩綍鍏ㄩ儴涔辯爜銆?铏界劧涓婁紶鍒版湇鍔″櫒涓婄殑鏂囦歡鍚嶆甯革紝浣嗗湪JSP欏甸潰鐐逛笅杞介摼鎺ユ椂鏂囦歡鍚嶄貢鐮佸鑷翠笉鑳芥甯鎬笅杞姐?/p>

鏌ユ壘璧勬枡錛歍OMCAT 閾炬帴鍙傛暟鏈変腑鏂囨椂錛屼貢鐮佽В鍐蟲柟娉?br>    <Connector port="8080"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               debug="0" connectionTimeout="20000"
               disableUploadTimeout="true" URIEncoding="utf-8" />
              
    <Connector port="8009"
               enableLookups="false" redirectPort="8443" debug="0"
               protocol="AJP/1.3" URIEncoding="utf-8" />
              
鏂規硶浜?
浣跨敤useBodyEncodingForURI="true". 榪欎釜鏂規硶閫傚悎浣犵殑TOMCAT瀹炰緥涓嬮渶瑕佽窇澶氫釜涓嶅悓Encoding鐨勭▼搴忔椂銆傦紙鏈夌偣鎬鐤戯紵錛侊級
<... maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
       enableLookups="false" redirectPort="8443" acceptCount="100"
      connectionTimeout="20000" disableUploadTimeout="true" useBodyEncodingForURI="true" />

     enableLookups="false" redirectPort="8443" protocol="AJP/1.3" useBodyEncodingForURI="true" /

鎴戝彧璇曚簡鏂規硶涓錛岄棶棰樿В鍐籌紒

榪欐牱, FCKeditor緇堜簬鍙互姝e父浣跨敤浜嗐傘傘傘傘傘傘傘傘傘傘傘傘傘傘傘傘傘傘傘傘傘傘傘傘傘傘傘傘傘傘傘傘傘傘?br>=================================================================
浠ヤ笅涓轟釜浜哄師鍒?
http://blog.csdn.net/nickshen3/
鎬庝箞灝咶CKeditor2.4浣跨敤鍦ㄨ嚜宸辯殑web涓?br>1. 鍦╳ebapps鍒涘緩test鏂囦歡澶廣倃ebapps\test
2. 灝嗕笅杞界殑FCKeditor2.3鐨凧ava鍖匜CKeditor-2.3.zip瑙e帇緙╋紝騫跺皢web鏂囦歡澶逛笅鐨勪袱涓枃浠跺す_samples錛學EB-INF鎷瘋礉鍒板垰鎵嶅緩绔嬬殑webapps\test涓嬨傚啀灝唖rc鏂囦歡澶逛笅鐨凢CKeditor.tld鎷瘋礉鍒癢EB-INF涓嬨?br>3. 鍦╳ebapps\test\涓嬪緩绔嬫枃浠跺すFCKeditor 銆?br>4. 灝嗗垰鎵嶄笅杞界殑 FCKeditor_2.4.3.zip 瑙e帇緙╋紝鐒跺悗灝唂ckeditor鏂囦歡澶逛笅鐨?editor錛堟枃浠跺す錛?fckconfig.js,fckeditor.js,fckstyles.xml,fcktemplates.xml銆傚洓涓枃浠舵嫹璐濆埌鍒氭墠寤虹珛鐨勬枃浠跺すFCKeditor涓嬨?br>5.淇敼test\_samples\jsp\sample02.jsp鏂囦歡錛屽皢鍘熸潵鐨?br>       <FCK:editor id="EditorDefault" basePath="/FCKeditor/"
鏀逛負<FCK:editor id="EditorDefault" basePath="/test/FCKeditor/"銆備互鍚庝嬌鐢ㄧ殑鏃跺欏彧闇灝唗est鎹㈡垚欏圭洰鐨勫悕縐板嵆鍙?br>6.鎵撳紑tomcat銆傛祴璇?a href="http://localhost:8080/test/_samples/jsp/sample02.jsp">Http://localhost:8080/test/_samples/jsp/sample02.jsp銆?br>ok銆?br>
鍙﹀ 錛? http://www.tkk7.com/youxia/archive/2007/03/15/104077.html 



]]>
浣跨敤榪囨護鍣?Filter)瀵硅姹傚仛緇熶竴鐨勮璇佸鐞?/title><link>http://www.tkk7.com/bnlovebn/archive/2007/07/04/128019.html</link><dc:creator>閲嶅綊鏈瀿錛圔ing錛?/dc:creator><author>閲嶅綊鏈瀿錛圔ing錛?/author><pubDate>Wed, 04 Jul 2007 01:31:00 GMT</pubDate><guid>http://www.tkk7.com/bnlovebn/archive/2007/07/04/128019.html</guid><wfw:comment>http://www.tkk7.com/bnlovebn/comments/128019.html</wfw:comment><comments>http://www.tkk7.com/bnlovebn/archive/2007/07/04/128019.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/bnlovebn/comments/commentRss/128019.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/bnlovebn/services/trackbacks/128019.html</trackback:ping><description><![CDATA[     鎽樿: Filter鏈夎瀹炵幇鐨勪笁鏂規硶錛歷oid init(FilterConfig config) throws ServletExceptionvoid doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletExceptionvoid destroy...  <a href='http://www.tkk7.com/bnlovebn/archive/2007/07/04/128019.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/bnlovebn/aggbug/128019.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/bnlovebn/" target="_blank">閲嶅綊鏈瀿錛圔ing錛?/a> 2007-07-04 09:31 <a href="http://www.tkk7.com/bnlovebn/archive/2007/07/04/128019.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍔ㄦ乄EB搴旂敤涓殑鐢ㄦ埛SESSION綆$悊鏂規http://www.tkk7.com/bnlovebn/archive/2007/07/04/128006.html閲嶅綊鏈瀿錛圔ing錛?/dc:creator>閲嶅綊鏈瀿錛圔ing錛?/author>Wed, 04 Jul 2007 00:59:00 GMThttp://www.tkk7.com/bnlovebn/archive/2007/07/04/128006.htmlhttp://www.tkk7.com/bnlovebn/comments/128006.htmlhttp://www.tkk7.com/bnlovebn/archive/2007/07/04/128006.html#Feedback1http://www.tkk7.com/bnlovebn/comments/commentRss/128006.htmlhttp://www.tkk7.com/bnlovebn/services/trackbacks/128006.html瑕佹湁榪欎箞涓涓洃鍚櫒錛屽綋鍔犲叆session鏃跺氨鍙互瑙﹀彂涓涓姞鍏ession浜嬩歡錛屽湪session榪囨湡鏃跺氨鍙互瑙﹀彂涓涓垹闄や簨浠訛紝閭d箞鎴戜滑鐨勬妸瑕佸鐞嗙殑涓滆タ鍔犲叆鍒拌繖涓や釜浜嬩歡涓氨鍙互鍋氬緢澶氫簬SESSION鐩稿叧榪炵殑浜嬨傚鍦ㄧ嚎鐢ㄦ埛鐨勭鐞嗭紝鍗曠偣鐧婚檰絳夌瓑銆?br>鍦↗2EE涓彲浠ュ疄鐜癏ttpSessionBindingListener鎺ュ彛錛屾鎺ュ彛鏈変袱瑕佸疄鐜扮殑鏂規硶銆?br> void valueBound(HttpSessionBindingEvent event) 褰撳疄鐜版鎺ュ彛鐨勭洃鍚被鍜宻ession緇戝畾鏃惰Е鍙戞浜嬩歡銆?br>void valueUnbound(HttpSessionBindingEvent event) 褰搒ession榪囨湡鎴栧疄鐜版鎺ュ彛鐨勭洃鍚被鍗歌鏃惰Е鍙戞浜嬩歡銆?br>
涓嬮潰鏄竴涓ず渚嬭В鍐蟲柟妗堬細鍙互鎶婄櫥闄嗙敤鎴風殑淇℃伅璁板綍鍦ㄧ紦鍐叉睜涓紝褰揝ESSION榪囨湡鏃訛紝鐢ㄦ埛淇℃伅鑷姩鍒犻櫎銆?br>涓涓敤鎴蜂俊鎭帴鍙c備竴涓敤鎴風紦鍐叉睜銆備竴涓狧ttpSessionBindingListener鎺ュ彛鐨勭洃鍚被銆?br>

public interface LoginUserMessage {}

 

public class LoginUserPool {
    
private Map map = new HashMap();
    
private static LoginUserPool loginUserPool = new LoginUserPool();
    
private LoginUserPool(){}
    
public static LoginUserPool getInstance() {
        
return loginUserPool;
    }

    
public void addLoginUserMessage(String sessionId,LoginUserMessage loginUserMessage){
       map.remove(sessionId);
       map.put(sessionId,loginUserMessage);
    }

    
public LoginUserMessage removeLoginUserMessage(String sessionId){
        
return  (LoginUserMessage) map.remove(sessionId);
    }

    
public LoginUserMessage getLoginUserMessage(String sessionId){
        
return (LoginUserMessage) map.get(sessionId);
    }

    
public Map getLoginUserMessages(){
        
return map;
    }

    
public boolean isEmpty(){
        
return  map.isEmpty();
    }

}

 

public class UserLoginListener implements HttpSessionBindingListener{
    
private final Log logger = LogFactory.getLog(getClass());
    
private String sessionId = null;
    
private LoginUserMessage loginUserMessage = null;
    
private LoginUserPool loginUserPool = LoginUserPool.getInstance();

    
public LoginUserMessage getLoginUserMessage() {
        
return loginUserMessage;
    }

    
public void setLoginUserMessage(LoginUserMessage loginUserMessage) {
        
this.loginUserMessage = loginUserMessage;
    }

    
public String getSessionId() {
        
return sessionId;
    }

    
public void setSessionId(String sessionId) {
        
this.sessionId = sessionId;
    }

    
/* (non-Javadoc)
     * @see javax.servlet.http.HttpSessionBindingListener#valueBound(javax.servlet.http.HttpSessionBindingEvent)
     
*/

    
public void valueBound(HttpSessionBindingEvent event) {
        
// TODO Auto-generated method stub
        if(this.getLoginUserMessage() != null){
            loginUserPool.addLoginUserMessage(
this.getSessionId(),this.getLoginUserMessage());
            logger.info(
"鐢ㄦ埛淇℃伅鍔犲叆緙撳瓨姹犳垚鍔?/span>");
        }

        
this.setLoginUserMessage(null);
    }


    
/* (non-Javadoc)
     * @see javax.servlet.http.HttpSessionBindingListener#valueUnbound(javax.servlet.http.HttpSessionBindingEvent)
     
*/

    
public void valueUnbound(HttpSessionBindingEvent event) {
        
// TODO Auto-generated method stub
        if(!loginUserPool.isEmpty()){
            loginUserPool.removeLoginUserMessage(sessionId);
            logger.info(
"鐢ㄦ埛淇℃伅浠庣紦瀛樻睜涓Щ闄ゆ垚鍔?/span>");
        }

    }


}


榪欐牱瀛愮殑璇濓紝褰撳湪搴旂敤涓妸userLoginListener鍔犲叆鍒皊ession涓椂錛屽氨浼氳嚜鍔ㄦ妸鐢ㄦ埛淇℃伅鍔犲叆鍒扮紦鍐叉睜涓簡銆?br>濡傦細
 session.setAttribute("userLoginListener",userLoginListener);



錛堝師鍒涳紝杞澆璇蜂繚鐣欐枃绔犲嚭澶?a id=Editor_Edit_hlEntryLink title="view: 鍔ㄦ乄EB搴旂敤涓殑鐢ㄦ埛SESSION綆$悊鏂規" href="http://www.tkk7.com/bnlovebn/archive/2007/07/04/128006.html" target=_blank>http://www.tkk7.com/bnlovebn/archive/2007/07/04/128006.html錛?br>



]]>
JSP鏂囦歡涓嬭澆鐨勫嚑縐嶆柟寮?/title><link>http://www.tkk7.com/bnlovebn/archive/2007/02/12/99431.html</link><dc:creator>閲嶅綊鏈瀿錛圔ing錛?/dc:creator><author>閲嶅綊鏈瀿錛圔ing錛?/author><pubDate>Mon, 12 Feb 2007 05:41:00 GMT</pubDate><guid>http://www.tkk7.com/bnlovebn/archive/2007/02/12/99431.html</guid><wfw:comment>http://www.tkk7.com/bnlovebn/comments/99431.html</wfw:comment><comments>http://www.tkk7.com/bnlovebn/archive/2007/02/12/99431.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.tkk7.com/bnlovebn/comments/commentRss/99431.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/bnlovebn/services/trackbacks/99431.html</trackback:ping><description><![CDATA[ <span id="Codehighlighter1_36_1003_Open_Text"> </span>錛戙傛渶鐩存帴鏈綆鍗曠殑錛屾柟寮忔槸鎶婃枃浠跺湴鍧鐩存帴鏀懼埌html欏甸潰鐨勪竴涓摼鎺ヤ腑銆傝繖鏍峰仛鐨勭己鐐規槸鎶婃枃浠跺湪鏈嶅姟鍣ㄤ笂鐨勮礬寰勬毚闇蹭簡錛屽茍涓旇繕鏃犳硶瀵規枃浠朵笅杞借繘琛屽叾瀹冪殑鎺у埗錛堝鏉冮檺錛夈傝繖涓氨涓嶅啓紺轟緥浜嗐?br />錛掋傚湪鏈嶅姟鍣ㄧ鎶婃枃浠惰漿鎹㈡垚杈撳嚭嫻侊紝鍐欏叆鍒皉esponse錛屼互response鎶婃枃浠跺甫鍒版祻瑙堝櫒錛岀敱嫻忚鍣ㄦ潵鎻愮ず鐢ㄦ埛鏄惁鎰挎剰淇濆瓨鏂囦歡鍒版湰鍦般傦紙紺轟緥濡備笅錛?br /><span id="Codehighlighter1_7_640_Open_Text"></span><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000"><%</span><span style="COLOR: #000000"><br />聽response.setContentType(fileminitype);<br />聽response.setHeader(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Location</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,filename);<br />聽response.setHeader(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Cache-Control</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,聽</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">max-age=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">聽</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">聽cacheTime);<br />聽response.setHeader(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Content-Disposition</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,聽</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">attachment;聽filename=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">聽</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">聽filename);聽</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">filename搴旇鏄紪鐮佸悗鐨?utf-8)</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">聽response.setContentLength(filelength);<br />聽OutputStream聽outputStream聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽response.getOutputStream();<br />聽InputStream聽inputStream聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">聽FileInputStream(filepath);<br />聽</span><span style="COLOR: #0000ff">byte</span><span style="COLOR: #000000">[]聽buffer聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">聽</span><span style="COLOR: #0000ff">byte</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">1024</span><span style="COLOR: #000000">];<br />聽</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">聽i聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br />聽</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">聽((i聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽inputStream.read(buffer))聽</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">聽</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)聽{<br />聽聽outputStream.write(buffer,聽</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,聽i);<br />聽聽}<br />聽outputStream.flush();<br />聽outputStream.close();<br />聽inputStream.close();<br />聽outputStream聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">;<br /><br /></span><span style="COLOR: #000000">%></span></div><br />錛撱傛棦鐒舵槸JSP鐨勮瘽錛岃繕鏈変竴縐嶆柟寮忓氨鏄敤Applet鏉ュ疄鐜版枃浠剁殑涓嬭澆銆備笉榪囧鎴烽鍏堝緱淇′換浣犵殑榪欎釜Applet灝忕▼搴忥紝鐢辮繖涓▼搴忔潵鎺ュ彈鐢眘ervlet鍙戦佹潵鐨勬暟鎹祦錛屽茍鍐欏叆鍒版湰鍦般?br />servlet绔ず渚?br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">聽聽聽聽</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">聽</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">聽service(HttpServletRequest聽req,聽HttpServletResponse聽res)<br />聽聽聽聽聽聽聽聽聽聽聽聽</span><span style="COLOR: #0000ff">throws</span><span style="COLOR: #000000">聽ServletException,聽IOException聽{<br />聽聽聽聽聽聽聽聽res.setContentType(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">聽text/plain聽</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br />聽聽聽聽聽聽聽聽OutputStream聽outputStream聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">;<br />聽聽聽聽聽聽聽聽</span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000">聽{<br />聽聽聽聽聽聽聽聽聽聽聽聽outputStream聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽res.getOutputStream();<br />聽聽聽聽聽聽聽聽聽聽聽聽popFile(srcFile,聽outputStream))聽;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">鎶婃枃浠惰礬寰勪負srcFile鐨勬枃浠跺啓鍏ュ埌outputStream涓?/span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">聽聽聽聽聽聽聽聽}聽</span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">聽(IOException聽e)聽{<br />聽聽聽聽聽聽聽聽聽聽聽聽e.printStackTrace();<br />聽聽聽聽聽聽聽聽}<br />聽聽聽聽}聽</span></div><br />JApplet绔ず渚?<br /><span id="Codehighlighter1_36_1002_Open_Text"></span><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">聽聽聽URLConnection聽con;<br />聽聽聽聽聽聽聽聽</span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000">聽{<br />聽聽聽聽聽聽聽聽聽聽聽聽con聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽url.openConnection();</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">url鏄璋冪敤鐨凷ERVLET鐨勭綉鍧聽濡俬ttp:</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">localhost:8080/sendDateSevlet.do聽聽</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">聽聽聽聽聽聽聽聽聽聽聽聽con.setUseCaches(</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">);<br />聽聽聽聽聽聽聽聽聽聽聽聽con.setDoInput(</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">);<br />聽聽聽聽聽聽聽聽聽聽聽聽con.setDoOutput(</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">);<br />聽聽聽聽聽聽聽聽聽聽聽聽con.setRequestProperty(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Content-Type</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">application/octet-stream</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br />聽聽聽聽聽聽聽聽聽聽聽聽InputStream聽in聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽con.getInputStream();<br />聽聽聽聽聽聽聽聽聽聽聽聽ProgressMonitorInputStream聽pmInputStream聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">聽ProgressMonitorInputStream(<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽pane,聽</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">姝e湪浠庢湇鍔″櫒涓嬭澆鏂囦歡鍐呭</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,聽in);<br />聽聽聽聽聽聽聽聽聽聽聽聽ProgressMonitor聽pMonitor聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽pmInputStream<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽.getProgressMonitor();<br />聽聽聽聽聽聽聽聽聽聽聽聽pMonitor.setMillisToDecideToPopup(</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">);<br />聽聽聽聽聽聽聽聽聽聽聽聽pMonitor.setMillisToPopup(</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">);<br />聽聽聽聽聽聽聽聽聽聽聽聽String聽localfilepath聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽localstr聽</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">聽filename聽;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">localfilepath鏈湴璺緞,localstr鏂囦歡鏂囦歡澶癸紝filename鏈湴鏂囦歡鍚?/span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">聽聽聽銆銆</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(saveFilsaveFilee(localfilepath,pmInputStream)){銆</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">鏂規硶saveFilsaveFilee鏄妸杈撳叆嫻乸mInputStream鍐欏埌鏂囦歡localfilepath涓偮犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅?/span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">銆銆銆銆銆openLocalFile(localfilepath);<br />聽聽聽聽聽聽聽聽聽聽聽聽}</span></div><p><br /><span id="Codehighlighter1_36_955_Open_Text"></span><br />錛斻傞『渚挎妸JApplet涓婁紶鏂囦歡鐨勪唬鐮佷篃璐翠笂鏉?<br />JApplet绔ず渚?</p><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">URLConnection聽con;<br />聽聽聽聽聽聽聽聽</span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000">聽{<br />聽聽聽聽聽聽聽聽聽聽聽聽con聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽url.openConnection();</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">url鏄璋冪敤鐨凷ERVLET鐨勭綉鍧聽濡俬ttp:</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">localhost:8080/sendDateSevlet.do聽聽聽聽聽聽聽聽聽</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">銆銆聽聽聽con.setUseCaches(</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">);<br />聽聽聽聽聽聽聽聽聽聽聽聽con.setDoInput(</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">);<br />聽聽聽聽聽聽聽聽聽聽聽聽con.setDoOutput(</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">);<br />聽聽聽聽聽聽聽聽聽聽聽聽con.setRequestProperty(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Content-Type</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">application/octet-stream</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br />聽聽聽聽聽聽聽聽聽聽聽聽<br />聽聽聽聽聽聽聽聽聽聽聽聽OutputStream聽out聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽con.getOutputStream();<br />聽聽聽聽聽聽聽聽聽聽聽聽String聽localfilepath聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽localstr聽</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">聽filename;聽</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">localfilepath鏈湴璺緞,localstr鏂囦歡鏂囦歡澶癸紝filename鏈湴鏂囦歡鍚?/span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">聽聽聽聽聽聽聽聽聽聽聽聽getOutputStream(localfilepath,out);</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">鏂囦歡getOutputStream鏄妸鏂囦歡localfilepath鍐欏埌杈撳嚭嫻乷ut涓?/span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">聽聽聽聽聽聽聽聽聽聽聽聽InputStream聽in聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽con.getInputStream();<br />聽聽聽聽聽聽聽聽聽聽聽聽</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">聽</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br />聽聽聽聽聽聽聽聽}</span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">聽(IOException聽e)聽{<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">鏂囦歡涓婁紶鍑洪敊錛?/span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br />聽聽聽聽聽聽聽聽聽聽聽聽e.printStackTrace();<br />聽聽聽聽聽聽聽聽}<br /></span></div><br />servlet绔唬鐮佺ず渚?br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">聽聽聽聽</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">聽</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">聽service(HttpServletRequest聽req,聽HttpServletResponse聽res)<br />聽聽聽聽聽聽聽聽聽聽聽聽</span><span style="COLOR: #0000ff">throws</span><span style="COLOR: #000000">聽ServletException,聽IOException聽{<br />聽聽聽聽聽聽聽聽res.setContentType(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">聽text/plain聽</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br />聽聽聽聽聽聽聽聽InputStream聽inputStream聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">;<br />聽聽聽聽聽聽聽聽</span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000">聽{<br />聽聽聽聽聽聽聽聽聽聽聽聽inputStream聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽res.getInputStream();<br />聽聽聽聽聽聽聽聽聽聽聽聽writefile(srcFile,聽inputStream);</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">鎶婅緭鍏ユ祦inputStream淇濆瓨鍒版枃浠惰礬寰勪負srcFile鐨勬枃浠朵腑</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">聽聽聽聽聽聽聽聽}聽</span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">聽(IOException聽e)聽{<br />聽聽聽聽聽聽聽聽聽聽聽聽e.printStackTrace();<br />聽聽聽聽聽聽聽聽}<br />聽聽聽聽}聽</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">聽end聽service<br /></span></div><br />聽鎬葷粨錛氬湪鏂囦歡鐨勪紶杈撲腑鏄祦鐨勫艦寮忓瓨鍦ㄧ殑錛屽湪紜洏涓婃槸鏂囦歡鐨勫艦寮忓瓨鍦ㄧ殑銆傛垜浠鍋氱殑鍙槸閫氳繃HttpServletRequest鍜孒ttpServletResponse錛屾垨鑰呮槸response鍜宺equest鏉ュ彂閫佹祦鍜岃鍙栨祦銆備互鍙婃妸鏂囦歡杞崲鎴愭祦鎴栨妸嫻佽漿鎹㈡垚鏂囦歡鐨勬搷浣溿?img src ="http://www.tkk7.com/bnlovebn/aggbug/99431.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/bnlovebn/" target="_blank">閲嶅綊鏈瀿錛圔ing錛?/a> 2007-02-12 13:41 <a href="http://www.tkk7.com/bnlovebn/archive/2007/02/12/99431.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>jsp鏂囦歡涓婁紶鐨勫鐞?/title><link>http://www.tkk7.com/bnlovebn/archive/2007/01/22/95254.html</link><dc:creator>閲嶅綊鏈瀿錛圔ing錛?/dc:creator><author>閲嶅綊鏈瀿錛圔ing錛?/author><pubDate>Mon, 22 Jan 2007 03:42:00 GMT</pubDate><guid>http://www.tkk7.com/bnlovebn/archive/2007/01/22/95254.html</guid><wfw:comment>http://www.tkk7.com/bnlovebn/comments/95254.html</wfw:comment><comments>http://www.tkk7.com/bnlovebn/archive/2007/01/22/95254.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/bnlovebn/comments/commentRss/95254.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/bnlovebn/services/trackbacks/95254.html</trackback:ping><description><![CDATA[     鎽樿: jsp鏂囦歡涓婁紶澶у閲囩敤閲囩敤寮婧愰」鐩潵綆鍖栧鐞嗭紝榪欓噷鍒楀嚭甯哥敤鐨勪袱涓猨ar鍖呯殑瀹炵幇錛屽茍榪涜姣旇緝錛岃鏄庝粬浠殑浼樼己鐐瑰拰搴旇娉ㄦ剰鐨勯棶棰樸? Commons FileUpload錛屽彲浠ュ湪http://jakarta.apache.org/commons/fileupload/涓嬭澆錛岃繖涓寘闇瑕丆ommons IO鐨勬敮鎸侊紝鍙互鍦╤ttp://jakarta.apache.org/commo...  <a href='http://www.tkk7.com/bnlovebn/archive/2007/01/22/95254.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/bnlovebn/aggbug/95254.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/bnlovebn/" target="_blank">閲嶅綊鏈瀿錛圔ing錛?/a> 2007-01-22 11:42 <a href="http://www.tkk7.com/bnlovebn/archive/2007/01/22/95254.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Eclipse涓璫lasspath鍜宭ink閰嶅埗鎬葷粨http://www.tkk7.com/bnlovebn/archive/2006/12/21/89295.html閲嶅綊鏈瀿錛圔ing錛?/dc:creator>閲嶅綊鏈瀿錛圔ing錛?/author>Thu, 21 Dec 2006 07:26:00 GMThttp://www.tkk7.com/bnlovebn/archive/2006/12/21/89295.htmlhttp://www.tkk7.com/bnlovebn/comments/89295.htmlhttp://www.tkk7.com/bnlovebn/archive/2006/12/21/89295.html#Feedback0http://www.tkk7.com/bnlovebn/comments/commentRss/89295.htmlhttp://www.tkk7.com/bnlovebn/services/trackbacks/89295.html
聽聽聽聽聽聽鍦╡clipse涓彲浠ラ潪甯告柟渚跨殑鍋氬埌銆?br />
聽聽聽聽聽聽鍦ㄥ伐紼嬫枃浠剁洰褰曚腑鐐瑰彸閿紝鎵撳紑鈥滄瀯寤鴻礬寰勨濃斺?gt;鈥滈厤鍒舵瀯寤鴻礬寰勨濓紝灝卞彲浠ヨ繘琛岀浉鍏崇殑綾誨簱錛岀被鏂囦歡錛岄厤鍒舵枃浠剁殑璁劇疆銆?br />
聽聽聽聽聽聽鍦ㄢ滃簱鈥濅腑鍙互鍔犲叆緙栬瘧榪愯鏃墮渶瑕佺殑綾誨簱錛屽湪鈥滄簮浠g爜鈥濅腑鍙互link鍏ョ紪璇戣繍琛岄渶瑕佺殑綾伙紝鍚屾椂榪樿鍚ц緗簮鏂囦歡鐨勪綅緗互鍙婅緭鍑轟綅緗傚湪鈥滈」鐩濅腑鍙互鍔犲叆榪愯鏃朵緷璧栫殑鍏跺畠project銆傚湪鈥滄帓搴忓拰瀵煎嚭鈥濆彲浠ュ璁劇疆濂界殑綾誨簱錛岀被鏂囦歡錛岄厤鍒舵枃浠惰繘琛屾帓搴忥紝鍙互璁懼畾鍝簺鏂囦歡瑕佸鍑哄埌紜洏涓娿?img src ="http://www.tkk7.com/bnlovebn/aggbug/89295.html" width = "1" height = "1" />

]]>
鏈夊叧JSP/Servlet鐨勯噸瀹氬悜鎶鏈患榪板涓?/title><link>http://www.tkk7.com/bnlovebn/archive/2006/12/14/87623.html</link><dc:creator>閲嶅綊鏈瀿錛圔ing錛?/dc:creator><author>閲嶅綊鏈瀿錛圔ing錛?/author><pubDate>Thu, 14 Dec 2006 01:44:00 GMT</pubDate><guid>http://www.tkk7.com/bnlovebn/archive/2006/12/14/87623.html</guid><wfw:comment>http://www.tkk7.com/bnlovebn/comments/87623.html</wfw:comment><comments>http://www.tkk7.com/bnlovebn/archive/2006/12/14/87623.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/bnlovebn/comments/commentRss/87623.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/bnlovebn/services/trackbacks/87623.html</trackback:ping><description><![CDATA[1.RequestDispatcher.forward()<br />鏄湪<font color="#ff0000">鏈嶅姟鍣ㄧ</font>璧蜂綔鐢?褰撲嬌鐢╢orward()鏃?Servlet engine浼犻扝TTP璇鋒眰浠庡綋鍓嶇殑Servlet or JSP鍒板彟澶栦竴涓猄ervlet,JSP 鎴栨櫘閫欻TML鏂囦歡,涔熷嵆浣犵殑form鎻愪氦鑷砤.jsp,鍦╝.jsp鐢ㄥ埌浜唂orward()閲嶅畾鍚戣嚦b.jsp,姝ゆ椂form鎻愪氦鐨勬墍鏈変俊鎭湪b.jsp閮藉彲浠ヨ幏寰?鍙傛暟鑷姩浼犻?<br />浣唂orward()鏃犳硶閲嶅畾鍚戣嚦鏈塮rame鐨刯sp鏂囦歡,鍙互閲嶅畾鍚戣嚦鏈塮rame鐨刪tml鏂囦歡,鍚屾椂forward()鏃犳硶鍦ㄥ悗闈㈠甫鍙傛暟浼犻?姣斿servlet?name=frank,榪欐牱涓嶈,鍙互紼嬪簭鍐呴氳繃response.setAttribute("name",name)鏉ヤ紶鑷充笅涓涓〉闈?<br /><br />聽 閲嶅畾鍚戝悗嫻忚鍣ㄥ湴鍧鏍廢RL涓嶅彉.<br /><br />渚?鍦╯ervlet涓繘琛岄噸瀹氬悜<br />public void doPost(HttpServletRequest request,HttpServletResponse response)<br />throws ServletException,IOException<br />{<br /><br />聽 聽 response.setContentType("text/html; charset=gb2312");<br /><br />聽 聽 ServletContext sc = getServletContext();<br /><br />聽 聽 RequestDispatcher rd = null;<br /><br />聽 聽 rd = sc.getRequestDispatcher("/index.jsp"); 聽 //瀹氬悜鐨勯〉闈?br /><br />聽 聽 rd.forward(request, response);<br /><br />}<br />閫氬父鍦╯ervlet涓嬌鐢紝涓嶅湪jsp涓嬌鐢ㄣ?br /><br />2.response.sendRedirect()<br />聽 鏄湪鐢ㄦ埛鐨?font color="#ff0000">嫻忚鍣ㄧ</font>宸ヤ綔,sendRedirect()鍙互甯﹀弬鏁頒紶閫?姣斿servlet?name=frank浼犺嚦涓嬩釜欏甸潰,鍚屾椂瀹冨彲浠ラ噸瀹氬悜鑷充笉鍚岀殑涓繪満涓?sendRedirect()鍙互閲嶅畾鍚戞湁frame.鐨刯sp鏂囦歡.<br />聽 閲嶅畾鍚戝悗鍦ㄦ祻瑙堝櫒鍦板潃鏍忎笂浼氬嚭鐜伴噸瀹氬悜欏甸潰鐨刄RL銆? <p><span id="vp999rl" class="content"></span><span id="bd9h9zf" class="content">sendRedirect()瀹為檯涓婃槸reponse.setStatus(302)鐨勫揩鎹鋒柟寮忥紝鍚庤呯敤浜庤緗瓾ttp鍝嶅簲鐨勭姸鎬佷唬鐮併?/span></p><p><span id="3dt9pxv" class="content"><br />渚?鍦╯ervlet涓噸瀹氬悜<br />public void doPost(HttpServletRequest request,HttpServletResponse response)<br /><br />聽 聽 throws ServletException,IOException<br /><br />{<br /><br />聽 聽 response.setContentType("text/html; charset=gb2312");<br /><br />聽 聽 response.sendRedirect("/index.jsp");<br /><br />}<br />鐢變簬response鏄痡sp欏甸潰涓殑闅愬惈瀵硅薄錛屾晠鍦╦sp欏甸潰涓彲浠ョ敤response.sendRedirect()鐩存帴瀹炵幇閲嶅畾浣嶃?br />娉ㄦ剰錛?br />(1).浣跨敤response.sendRedirect鏃訛紝鍓嶉潰涓嶈兘鏈塇TML杈撳嚭銆?br />榪欏茍涓嶆槸緇濆鐨勶紝涓嶈兘鏈塇TML杈撳嚭鍏跺疄鏄寚涓嶈兘鏈塇TML琚佸埌浜嗘祻瑙堝櫒銆備簨瀹炰笂鐜板湪鐨剆erver閮芥湁cache鏈哄埗錛屼竴鑸湪8K錛堟垜鏄JSP銆SERVER錛夛紝榪欏氨鎰忓懗鐫錛岄櫎闈炰綘鍏抽棴浜哻ache錛屾垨鑰呬綘浣跨敤浜唎ut.flush()寮哄埗鍒鋒柊錛岄偅涔堝湪浣跨敤sendRedirect涔嬪墠錛屾湁灝戦噺鐨凥TML杈撳嚭涔熸槸鍏佽鐨勩?br />(2).response.sendRedirect涔嬪悗錛屽簲璇ョ揣璺熶竴鍙eturn;<br />鎴戜滑宸茬粡鐭ラ亾response.sendRedirect鏄氳繃嫻忚鍣ㄦ潵鍋氳漿鍚戠殑錛屾墍浠ュ彧鏈夊湪欏甸潰澶勭悊瀹屾垚鍚庯紝鎵嶄細鏈夊疄闄呯殑鍔ㄤ綔銆傛棦鐒朵綘宸茬粡瑕佸仛杞悜浜嗭紝閭d箞鍚庣殑杈撳嚭榪樻湁浠涔堟剰涔夊憿錛熻屼笖鏈夊彲鑳戒細鍥犱負鍚庨潰鐨勮緭鍑哄鑷磋漿鍚戝け璐ャ?br />姣旇緝錛?br />(1).Request Dispatcher.forward()鏄鍣ㄤ腑鎺у埗鏉冪殑杞悜錛屽湪瀹㈡埛绔祻瑙堝櫒鍦板潃鏍忎腑涓嶄細鏄劇ず鍑鴻漿鍚戝悗鐨勫湴鍧錛?br />(2).response.sendRedirect()鍒欐槸瀹屽叏鐨勮煩杞紝嫻忚鍣ㄥ皢浼氬緱鍒拌煩杞殑鍦板潃錛屽茍閲嶆柊鍙戦佽姹傞摼鎺ャ傝繖鏍鳳紝浠庢祻瑙堝櫒鐨勫湴鍧鏍忎腑鍙互鐪嬪埌璺寵漿鍚庣殑閾炬帴鍦板潃銆?br />鍓嶈呮洿鍔犻珮鏁堬紝鍦ㄥ墠鑰呭彲浠ユ弧瓚抽渶瑕佹椂錛屽敖閲忎嬌鐢≧equestDispatcher.forward()鏂規硶.<br /><br />娉細鍦ㄦ湁浜涙儏鍐典笅錛屾瘮濡傦紝闇瑕佽煩杞埌涓涓叾瀹冩湇鍔″櫒涓婄殑璧勬簮錛屽垯蹇呴』浣跨敤HttpServletResponse.sendRequest()鏂規硶銆?br /><br />3.<jsp:forward page="" /> <br /><br />瀹冪殑搴曞眰閮ㄥ垎鏄敱RequestDispatcher鏉ュ疄鐜扮殑錛屽洜姝ゅ畠甯︽湁RequestDispatcher.forward()鏂規硶鐨勫嵃璁般?br /><br /><br />濡傛灉鍦?lt;jsp:forward>涔嬪墠鏈夊緢澶氳緭鍑?鍓嶉潰鐨勮緭鍑哄凡浣跨紦鍐插尯婊?灝嗚嚜鍔ㄨ緭鍑哄埌瀹㈡埛绔?閭d箞璇ヨ鍙ュ皢涓嶈搗浣滅敤,榪欎竴鐐瑰簲璇ョ壒鍒敞鎰忋?br />鍙﹀瑕佹敞鎰忥細瀹冧笉鑳芥敼鍙樻祻瑙堝櫒鍦板潃錛屽埛鏂扮殑璇濅細瀵艱嚧閲嶅鎻愪氦<br /><br />4.JSP涓疄鐜板湪鏌愰〉闈㈠仠鐣欒嫢騫茬鍚?鑷姩閲嶅畾鍚戝埌鍙︿竴欏甸潰<br />鍦╤tml鏂囦歡涓紝涓嬮潰鐨勪唬鐮侊細<br />聽 <meta http-equiv="refresh" content="300; url=target.jsp"><br />聽 瀹冪殑鍚箟錛氬湪5鍒嗛挓涔嬪悗姝e湪嫻忚鐨勯〉闈㈠皢浼氳嚜鍔ㄥ彉涓簍arget.html榪欎竴欏點備唬鐮佷腑300涓哄埛鏂扮殑寤惰繜鏃墮棿錛屼互縐掍負鍗曚綅銆倀arger.html涓轟綘鎯寵漿鍚戠殑鐩爣欏?鑻ヤ負鏈〉鍒欎負鑷姩鍒鋒柊鏈〉銆?br />聽 鐢變笂鍙煡錛屽彲浠ラ氳繃setHeader鏉ュ疄鐜版煇欏甸潰鍋滅暀鑻ュ共縐掑悗,鑷姩閲嶅畾鍚戝埌鍙︿竴欏甸潰銆?br />聽 鍏抽敭浠g爜錛?br />聽 聽 聽 String content=stayTime+";URL="+URL;<br />聽 聽 聽 response.setHeader("REFRESH",content);<br /></span>聽</p><img src ="http://www.tkk7.com/bnlovebn/aggbug/87623.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/bnlovebn/" target="_blank">閲嶅綊鏈瀿錛圔ing錛?/a> 2006-12-14 09:44 <a href="http://www.tkk7.com/bnlovebn/archive/2006/12/14/87623.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>涓涓猘pplet鈥斺攕ervlet閫氳鐨勪緥瀛?/title><link>http://www.tkk7.com/bnlovebn/archive/2006/12/12/87154.html</link><dc:creator>閲嶅綊鏈瀿錛圔ing錛?/dc:creator><author>閲嶅綊鏈瀿錛圔ing錛?/author><pubDate>Tue, 12 Dec 2006 02:43:00 GMT</pubDate><guid>http://www.tkk7.com/bnlovebn/archive/2006/12/12/87154.html</guid><wfw:comment>http://www.tkk7.com/bnlovebn/comments/87154.html</wfw:comment><comments>http://www.tkk7.com/bnlovebn/archive/2006/12/12/87154.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/bnlovebn/comments/commentRss/87154.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/bnlovebn/services/trackbacks/87154.html</trackback:ping><description><![CDATA[     鎽樿: ---servlet鏂囦歡 import 聽java.io. * ; import 聽java.util.Date; import 聽javax.servlet. * ; import 聽javax.servlet.http. * ;...  <a href='http://www.tkk7.com/bnlovebn/archive/2006/12/12/87154.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/bnlovebn/aggbug/87154.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/bnlovebn/" target="_blank">閲嶅綊鏈瀿錛圔ing錛?/a> 2006-12-12 10:43 <a href="http://www.tkk7.com/bnlovebn/archive/2006/12/12/87154.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>欏甸潰璺寵漿(javascript/php/asp)http://www.tkk7.com/bnlovebn/archive/2006/11/03/78959.html閲嶅綊鏈瀿錛圔ing錛?/dc:creator>閲嶅綊鏈瀿錛圔ing錛?/author>Fri, 03 Nov 2006 09:45:00 GMThttp://www.tkk7.com/bnlovebn/archive/2006/11/03/78959.htmlhttp://www.tkk7.com/bnlovebn/comments/78959.htmlhttp://www.tkk7.com/bnlovebn/archive/2006/11/03/78959.html#Feedback1http://www.tkk7.com/bnlovebn/comments/commentRss/78959.htmlhttp://www.tkk7.com/bnlovebn/services/trackbacks/78959.html

ASP欏甸潰錛?br /><%response.redirect "欏甸潰璺緞"%>


鏈夊ソ鍑犵鏂規硶錛?br />(1)鍦ㄩ〉闈腑璺寵漿錛氬姞鍏ヤ互涓嬪彞瀛愶紝2縐掑悗璺沖埌test.html
聽聽 <meta HTTP-EQUIV=REFRESH CONTENT='2; URL=test.html'>
(2)2縐掑悗杞埌ly2.php
聽聽 <script>setTimeout("location.href="/home/ly2.php'",2000)</script>
(3)鍦╬hp涓敤header()鍑芥暟璺寵漿錛?br />聽聽 header("Location :http://www.xxx.com");
(4)鐢ㄤ竴涓寜閽紝鐐瑰嚮鍚庤煩杞細(5縐嶆寜閽?


<input type=button value=Return onClick

="javascript:location.href('URL');">
聽聽 <input type=button value=Return onClick=

"javascript:window.location.href('URL');">
聽聽 <input type=button value=Return onClick

="javascript:window.location.replace('URL');">
聽聽 <input type=button value=Return onClick

="javascript:window.location.assign('URL');">
聽聽 <input type="button" value="Return" onClick

="window.location='URL'" /><!--榪欑鏈濂?->



]]>
Spring鏂囦歡涓婁紶http://www.tkk7.com/bnlovebn/archive/2006/10/23/76792.html閲嶅綊鏈瀿錛圔ing錛?/dc:creator>閲嶅綊鏈瀿錛圔ing錛?/author>Mon, 23 Oct 2006 09:24:00 GMThttp://www.tkk7.com/bnlovebn/archive/2006/10/23/76792.htmlhttp://www.tkk7.com/bnlovebn/comments/76792.htmlhttp://www.tkk7.com/bnlovebn/archive/2006/10/23/76792.html#Feedback1http://www.tkk7.com/bnlovebn/comments/commentRss/76792.htmlhttp://www.tkk7.com/bnlovebn/services/trackbacks/76792.html聽聽聽聽<bean聽id="multipartResolver"
聽聽聽聽聽聽聽聽聽聽
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
聽聽聽聽聽聽聽聽聽聽
<description>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽ifpre::瑕佷嬌鐢ㄦ枃浠朵笂浼犲姛鑳斤紝蹇呴』鍦ㄥ畾涔夋枃浠朵腑鍔犲叆MeltipartResolver,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽鍙互閫夌敤CommonsMutipartResolver鎴朇osMultipartResolver
聽聽聽聽聽聽聽聽聽聽
</description>
聽聽聽聽聽聽聽聽
<property聽name="maxUploadSize">
聽聽聽聽聽聽聽聽聽聽聽聽
<value>1000000</value>
聽聽聽聽聽聽聽聽
</property>
聽聽聽聽
</bean>

鍚屾椂涓婁紶鏂囦歡浣跨敤鍒扮浉渚濊禆鐨凜ommands FileUpload錛屾墍浠ヨ鍦╨ib鐩綍涓寘鎷琧ommons-fileupload.jar鏂囦歡銆?br />

鍐欏畬鍚庤皟璇曠殑榪囩▼涓紝鑰佹姤閿欙細java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream錛屽皯浜哻ommons-io.jar錛屽姞涓婂悗錛屽氨ok浜?br />
鍦–ontroller绔紝鍙互鐢ㄤ互涓嬫柟寮忓彇寰椾笂浼犵殑鏂囦歡錛屽彲浠ヤ笂浼犲涓枃浠訛細
聽public Set getMultipartFileForForm(HttpServletRequest req) {
聽聽MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) req;
聽聽// CommonsMultipartFile file = (CommonsMultipartFile)
聽聽// multipartRequest.getFile("attach");//attach涓篺orm涓篺ile鐨刬d鍊?br />聽聽// MultipartHttpServletRequest multipartRequest =
聽聽// (MultipartHttpServletRequest)request;
聽聽Set fileset = new LinkedHashSet();
聽聽for (Iterator it = multipartRequest.getFileNames(); it.hasNext();) {
聽聽聽String key = (String) it.next();
聽聽聽MultipartFile file = multipartRequest.getFile(key);
聽聽聽if (file.getOriginalFilename().length() > 0) {
聽聽聽聽fileset.add(file);
聽聽聽}
聽聽}
聽聽return fileset;
聽}



]]>
ORACLE 鑷搴忓垪SEQUENCEhttp://www.tkk7.com/bnlovebn/archive/2006/10/20/76388.html閲嶅綊鏈瀿錛圔ing錛?/dc:creator>閲嶅綊鏈瀿錛圔ing錛?/author>Fri, 20 Oct 2006 07:04:00 GMThttp://www.tkk7.com/bnlovebn/archive/2006/10/20/76388.htmlhttp://www.tkk7.com/bnlovebn/comments/76388.htmlhttp://www.tkk7.com/bnlovebn/archive/2006/10/20/76388.html#Feedback0http://www.tkk7.com/bnlovebn/comments/commentRss/76388.htmlhttp://www.tkk7.com/bnlovebn/services/trackbacks/76388.html
鍦╫racle涓璼equence灝辨槸鎵璋撶殑搴忓垪鍙鳳紝姣忔鍙栫殑鏃跺欏畠浼氳嚜鍔ㄥ鍔狅紝涓鑸敤鍦ㄩ渶瑕佹寜搴忓垪鍙鋒帓搴忕殑鍦版柟銆?
1銆丆reate Sequence
浣犻鍏堣鏈塁REATE SEQUENCE鎴栬匔REATE ANY SEQUENCE鏉冮檺錛?
CREATE SEQUENCE emp_sequence
INCREMENT BY 1 -- 姣忔鍔犲嚑涓?
START WITH 1 -- 浠?寮濮嬭鏁?
NOMAXVALUE -- 涓嶈緗渶澶у?
NOCYCLE -- 涓鐩寸瘡鍔狅紝涓嶅驚鐜?
CACHE 10;

涓鏃﹀畾涔変簡emp_sequence錛屼綘灝卞彲浠ョ敤CURRVAL錛孨EXTVAL
CURRVAL=榪斿洖 sequence鐨勫綋鍓嶅?
NEXTVAL=澧炲姞sequence鐨勫鹼紝鐒跺悗榪斿洖 sequence 鍊?
姣斿錛?
emp_sequence.CURRVAL
emp_sequence.NEXTVAL

鍙互浣跨敤sequence鐨勫湴鏂癸細
- 涓嶅寘鍚瓙鏌ヨ銆乻napshot銆乂IEW鐨?SELECT 璇彞
- INSERT璇彞鐨勫瓙鏌ヨ涓?
- NSERT璇彞鐨刅ALUES涓?
- UPDATE 鐨?SET涓?

鍙互鐪嬪涓嬩緥瀛愶細
INSERT INTO emp VALUES
(empseq.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20);

SELECT empseq.currval FROM DUAL;

浣嗘槸瑕佹敞鎰忕殑鏄細
- 絎竴嬈EXTVAL榪斿洖鐨勬槸鍒濆鍊鹼紱闅忓悗鐨凬EXTVAL浼氳嚜鍔ㄥ鍔犱綘瀹氫箟鐨処NCREMENT BY鍊鹼紝鐒跺悗榪斿洖澧炲姞鍚庣殑鍊箋侰URRVAL 鎬繪槸榪斿洖褰撳墠SEQUENCE鐨勫鹼紝浣嗘槸鍦ㄧ涓嬈EXTVAL鍒濆鍖栦箣鍚庢墠鑳戒嬌鐢–URRVAL錛屽惁鍒欎細鍑洪敊銆備竴嬈EXTVAL浼氬鍔犱竴嬈EQUENCE鐨勫鹼紝鎵浠ュ鏋滀綘鍦ㄥ悓涓涓鍙ラ噷闈嬌鐢ㄥ涓狽EXTVAL錛屽叾鍊煎氨鏄笉涓鏍風殑銆傛槑鐧斤紵

- 濡傛灉鎸囧畾CACHE鍊鹼紝ORACLE灝卞彲浠ラ鍏堝湪鍐呭瓨閲岄潰鏀劇疆涓浜泂equence錛岃繖鏍峰瓨鍙栫殑蹇簺銆俢ache閲岄潰鐨勫彇瀹屽悗錛宱racle鑷姩鍐嶅彇涓緇勫埌cache銆?浣跨敤cache鎴栬浼氳煩鍙鳳紝 姣斿鏁版嵁搴撶獊鐒朵笉姝e父down鎺夛紙shutdown abort),cache涓殑sequence灝變細涓㈠け. 鎵浠ュ彲浠ュ湪create sequence鐨勬椂鍊欑敤nocache闃叉榪欑鎯呭喌銆?

2銆丄lter Sequence
浣犳垨鑰呮槸璇equence鐨刼wner錛屾垨鑰呮湁ALTER ANY SEQUENCE 鏉冮檺鎵嶈兘鏀瑰姩sequence. 鍙互alter闄tart鑷充互澶栫殑鎵鏈塻equence鍙傛暟.濡傛灉鎯寵鏀瑰彉start鍊鹼紝蹇呴』 drop sequence 鍐?re-create .
Alter sequence 鐨勪緥瀛?
ALTER SEQUENCE emp_sequence
INCREMENT BY 10
MAXVALUE 10000
CYCLE -- 鍒?0000鍚庝粠澶村紑濮?
NOCACHE ;


褰卞搷Sequence鐨勫垵濮嬪寲鍙傛暟錛?
SEQUENCE_CACHE_ENTRIES =璁劇疆鑳藉悓鏃惰cache鐨剆equence鏁扮洰銆?

鍙互寰堢畝鍗曠殑Drop Sequence
DROP SEQUENCE order_seq;

紺轟緥Sequence錛?br />
CREATE聽SEQUENCE聽SCOTT.DMIFPOSTID聽
聽聽聽聽START聽WITH聽
261
聽聽聽聽INCREMENT聽BY聽
1
聽聽聽聽NOMINVALUE
聽聽聽聽NOMAXVALUE
聽聽聽聽NOCYCLE
聽聽聽聽CACHE聽
20
聽聽聽聽NOORDER


3銆佸浣曚嬌鐢?br />聽聽聽聽聽聽聽聽聽絎竴縐嶆柟娉曪細涓鑸潵璇撮渶瑕佹柊寤轟竴涓Е鍙戝櫒錛圱RIGGER錛夛紝浣垮緱鍦ㄦ彃鍏ユ暟鎹箣鍓嶅厛榪愯Sequence鐢熸垚鑷鍙楓?br />紺轟緥Trigger
CREATE聽OR聽REPLACE聽TRIGGER聽SCOTT.DMIFATTACH_TRG
BEFORE聽INSERT聽
ON聽SCOTT.DMIFATTACH
REFERENCING聽OLD聽AS聽OLD聽NEW聽AS聽NEW
FOR聽EACH聽ROW聽
begin
聽聽聽聽select聽SCOTT.DMIFATTACHID.nextval聽into聽:
new.ATTACHID聽from聽dual;
聽聽end;

聽聽聽聽聽聽聽聽聽絎簩縐嶆柟娉曪細鍙互鍦ㄦ彃鍏ユ暟鎹椂鐩存帴璋冪敤銆?br />聽聽聽聽聽聽聽聽聽 insert into table(id,name) values(seq_name.nextval,'鍚嶅瓧');

聽聽聽聽聽聽聽聽聽鍏跺畠錛氬浜巋ibernate鏉ヨ錛屽湪鎻掑叆鏁版嵁涔嬪墠浼氬厛榪愯涓嬈equence鐢熸垚id鐨勶紝鎵浠ヨ繖鏃跺鏋滆繕鏈夎Е鍙戝櫒錛圱RIGGER錛夛紝鍙堣鍐嶈繍琛屼竴嬈equence錛屼簬鏄氨浼氬彂鐜癷d鏄互錛掍負姝ヨ繘澧炲姞鐨勩傝繖鏃舵妸Trigger鍒犻櫎錛屾榪涘氨涓猴紤浜嗐?br />聽聽聽聽聽聽聽聽聽濡傛灉浣跨敤hibernate鍒欓渶瑕佸湪hbm.xml鏂囦歡涓妸錛╋激鐨勭敓鎴愭柟寮忚涓簊equence.
聽聽聽聽<id
聽聽聽聽聽聽聽聽name
="postid"
聽聽聽聽聽聽聽聽type
="java.lang.Integer"
聽聽聽聽聽聽聽聽column
="POSTID"
聽聽聽聽
>
聽聽聽聽聽聽聽聽
<meta聽attribute="field-description">
聽聽聽聽聽聽聽聽聽聽聽@hibernate.id
聽聽聽聽聽聽聽聽聽聽聽聽generator
-class="sequence"
聽聽聽聽聽聽聽聽聽聽聽聽type
="java.lang.Integer"
聽聽聽聽聽聽聽聽聽聽聽聽column
="POSTID"


聽聽聽聽聽聽聽聽
</meta>
聽聽聽聽聽聽聽聽
<!--璁劇疆id鐢熸垚鏂瑰紡-->
聽聽聽聽聽聽聽聽聽聽
<generator聽class="sequence">
聽聽聽聽聽聽聽聽聽聽聽聽
<param聽name="sequence">SCOTT.DMIFPOSTID</param>
聽聽聽聽聽聽聽聽聽
</generator>
聽聽聽聽
</id>

鍚屾椂鍦ㄨ皟鐢╰his.getHibernateTemplate().save()鏂規硶鏃朵細鑷姩鐢熸垚鏍規嵁sequence鎶婃煡璇㈠埌鐨刬d鍙穝et緇欒繖涓璞$殑id.

]]>
jsp鎿嶄綔瀛樺偍榪囩▼騫惰繑鍥炲?/title><link>http://www.tkk7.com/bnlovebn/archive/2006/09/12/69142.html</link><dc:creator>閲嶅綊鏈瀿錛圔ing錛?/dc:creator><author>閲嶅綊鏈瀿錛圔ing錛?/author><pubDate>Tue, 12 Sep 2006 05:55:00 GMT</pubDate><guid>http://www.tkk7.com/bnlovebn/archive/2006/09/12/69142.html</guid><wfw:comment>http://www.tkk7.com/bnlovebn/comments/69142.html</wfw:comment><comments>http://www.tkk7.com/bnlovebn/archive/2006/09/12/69142.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.tkk7.com/bnlovebn/comments/commentRss/69142.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/bnlovebn/services/trackbacks/69142.html</trackback:ping><description><![CDATA[ <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <span style="COLOR: #000000"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #000000"><%</span> <span style="COLOR: #000000">@page聽contentType</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">text/html;charset=gb2312</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">聽language</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">java</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">聽</span> <span style="COLOR: #0000ff">import</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">d7ith.*</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">%></span> <span style="COLOR: #000000"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #000000"><</span> <span style="COLOR: #000000">jsp:usejBean聽id</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">DataConn</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">聽scope</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">page</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">聽</span> <span style="COLOR: #0000ff">class</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">d7ith.DataConn</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">/></span> <span style="COLOR: #000000"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #000000"><%</span> <span style="COLOR: #000000">@page聽</span> <span style="COLOR: #0000ff">import</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">java.sql.*</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">%></span> <span style="COLOR: #000000"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #000000"><%</span> <span style="COLOR: #000000"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽String聽oracleDriver聽</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">聽</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">oracle.jdbc.driver.OracleDriver</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">;<br /><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽String聽oracleUrl聽</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">聽</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">jdbc:oracle:thin:@10.119.40.94:1521:d7i</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">;<br /><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽String聽username聽</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">聽</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">system</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">;<br /><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽String聽password聽</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">聽</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">d7i</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">;<br /><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽Connection聽conn聽</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">聽</span> <span style="COLOR: #0000ff">null</span> <span style="COLOR: #000000">;<br /><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽ResultSet聽rs聽</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">聽</span> <span style="COLOR: #0000ff">null</span> <span style="COLOR: #000000">;<br /><img id="Codehighlighter1_473_579_Open_Image" onclick="this.style.display='none'; Codehighlighter1_473_579_Open_Text.style.display='none'; Codehighlighter1_473_579_Closed_Image.style.display='inline'; Codehighlighter1_473_579_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_473_579_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_473_579_Closed_Text.style.display='none'; Codehighlighter1_473_579_Open_Image.style.display='inline'; Codehighlighter1_473_579_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />聽聽</span> <span style="COLOR: #0000ff">try</span> <span id="Codehighlighter1_473_579_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://www.tkk7.com/images/dot.gif" /> </span> <span id="Codehighlighter1_473_579_Open_Text"> <span style="COLOR: #000000">{<br /><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽Class.forName(oracleDriver);<br /><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽conn聽</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">聽DriverManager.getConnection(oracleUrl,username,password);<br /><img id="Codehighlighter1_612_643_Open_Image" onclick="this.style.display='none'; Codehighlighter1_612_643_Open_Text.style.display='none'; Codehighlighter1_612_643_Closed_Image.style.display='inline'; Codehighlighter1_612_643_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_612_643_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_612_643_Closed_Text.style.display='none'; Codehighlighter1_612_643_Open_Image.style.display='inline'; Codehighlighter1_612_643_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />聽聽}</span> </span> <span style="COLOR: #0000ff">catch</span> <span style="COLOR: #000000">(ClassNotFoundException聽ex)</span> <span id="Codehighlighter1_612_643_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://www.tkk7.com/images/dot.gif" /> </span> <span id="Codehighlighter1_612_643_Open_Text"> <span style="COLOR: #000000">{<br /><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽out.print(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">瑁呰澆椹卞姩紼嬪簭閿欒</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);<br /><img id="Codehighlighter1_666_697_Open_Image" onclick="this.style.display='none'; Codehighlighter1_666_697_Open_Text.style.display='none'; Codehighlighter1_666_697_Closed_Image.style.display='inline'; Codehighlighter1_666_697_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_666_697_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_666_697_Closed_Text.style.display='none'; Codehighlighter1_666_697_Open_Image.style.display='inline'; Codehighlighter1_666_697_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />聽聽}</span> </span> <span style="COLOR: #0000ff">catch</span> <span style="COLOR: #000000">(SQLException聽ex)</span> <span id="Codehighlighter1_666_697_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://www.tkk7.com/images/dot.gif" /> </span> <span id="Codehighlighter1_666_697_Open_Text"> <span style="COLOR: #000000">{<br /><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽out.print(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">涓嶈兘澶熻繛鎺ユ暟鎹簱</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);<br /><img src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />聽聽}</span> </span> <span style="COLOR: #000000"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽String聽sql聽</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">聽</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">{call聽R5.o7chkpsd(?,?,?)}</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">;<br /><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽CallableStatement聽stmt聽</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">聽conn.prepareCall(sql);<br /><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽stmt.setString(</span> <span style="COLOR: #000000">1</span> <span style="COLOR: #000000">,</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">R5</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);聽聽</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">杈撳叆鍙傛暟</span> <span style="COLOR: #008000"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #000000">聽聽聽聽stmt.setString(</span> <span style="COLOR: #000000">2</span> <span style="COLOR: #000000">,</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">111111</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);<br /><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽stmt.registerOutParameter(</span> <span style="COLOR: #000000">3</span> <span style="COLOR: #000000">,Types.CHAR);聽</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">杈撳嚭鍙傛暟涓虹粨鏋滈泦鍙傛暟</span> <span style="COLOR: #008000"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #000000">聽聽聽聽stmt.executeQuery();<br /><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽String聽str聽</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">聽stmt.getString(</span> <span style="COLOR: #000000">3</span> <span style="COLOR: #000000">);<br /><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽out.println(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">絎簩涓弬鏁頒負:</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">+</span> <span style="COLOR: #000000">str);<br /><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" /></span> <span style="COLOR: #000000">%></span> <span style="COLOR: #000000"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> </span> </div> <img src ="http://www.tkk7.com/bnlovebn/aggbug/69142.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/bnlovebn/" target="_blank">閲嶅綊鏈瀿錛圔ing錛?/a> 2006-09-12 13:55 <a href="http://www.tkk7.com/bnlovebn/archive/2006/09/12/69142.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>JSP涓涓瘑鐮侀獙璇佺殑鏂規硶http://www.tkk7.com/bnlovebn/archive/2006/06/20/53933.html閲嶅綊鏈瀿錛圔ing錛?/dc:creator>閲嶅綊鏈瀿錛圔ing錛?/author>Tue, 20 Jun 2006 03:30:00 GMThttp://www.tkk7.com/bnlovebn/archive/2006/06/20/53933.htmlhttp://www.tkk7.com/bnlovebn/comments/53933.htmlhttp://www.tkk7.com/bnlovebn/archive/2006/06/20/53933.html#Feedback1http://www.tkk7.com/bnlovebn/comments/commentRss/53933.htmlhttp://www.tkk7.com/bnlovebn/services/trackbacks/53933.htmltomcat鏈嶅姟鍣細
鍦ㄥ簲鐢╳eb鐨剋eb-inf涓嬮潰鐨剋eb.xml涓畾涔夌敤鎴瘋鑹插強鍏跺彲浠ヨ闂殑欏甸潰銆?br />

聽聽 < security-constraint >
聽聽聽聽
< web-resource-collection >
聽聽聽聽聽聽
< web-resource-name > admin </ web-resource-name >
聽聽聽聽聽聽
< url-pattern > /ch12/admin/* </ url-pattern >
聽聽聽聽聽聽
< url-pattern > /ch12/search/delete.jsp </ url-pattern >
聽聽聽聽
</ web-resource-collection >
聽聽聽聽
< auth-constraint >
聽聽聽聽聽聽
< role-name > admin </ role-name >
聽聽聽聽
</ auth-constraint >
聽聽
</ security-constraint >

聽聽
< security-constraint >
聽聽聽聽
< web-resource-collection >
聽聽聽聽聽聽
< web-resource-name > search </ web-resource-name >
聽聽聽聽聽聽
< url-pattern > /ch12/search/* </ url-pattern >
聽聽聽聽
</ web-resource-collection >
聽聽聽聽
< auth-constraint >
聽聽聽聽聽聽
< role-name > admin </ role-name >
聽聽聽聽聽聽
< role-name > user </ role-name >
聽聽聽聽
</ auth-constraint >
聽聽
</ security-constraint >

聽聽
< login-config >
聽聽聽聽
< auth-method > BASIC </ auth-method >
聽聽聽聽
< realm-name > ORA聽Examples </ realm-name >
聽聽
</ login-config >

聽聽
< security-role >
聽聽聽聽
< role-name > admin </ role-name >
聽聽
</ security-role >
聽聽
< security-role >
聽聽聽聽
< role-name > user </ role-name >
聽聽
</ security-role >

鍦╰omcat-user.xml瀹氫箟鐢ㄦ埛錛屽強鍏舵墍灞炶鑹層?br />
聽聽<user聽username="hans"聽password="secret"聽roles="user"/>
聽聽
<user聽username="paula"聽password="boss"聽roles="admin"/>

鍦╞ean涓疄鐜扮敤鎴風殑瑙掕壊鍙栧緱錛屽悓鏃惰鍏跺彲浠ユ敮鎸丒L錛?br />
package聽com.ora.jsp.tags;

import聽javax.servlet.http.*;
import聽javax.servlet.jsp.*;
import聽javax.servlet.jsp.jstl.core.*;
import聽org.apache.taglibs.standard.lang.support.*;

publicclass聽IfUserInRoleTag聽extends聽ConditionalTagSupport聽{
聽聽聽聽
private聽String聽valueEL;

聽聽聽聽
publicvoid聽setValue(String聽value)聽{
聽聽聽聽聽聽聽聽valueEL聽
=聽value;
聽聽聽聽}


聽聽聽聽
publicboolean聽condition()聽throws聽JspTagException聽{
聽聽聽聽聽聽聽聽
/*
聽聽聽聽聽聽聽聽聽*聽Evaluate聽the聽EL聽expression,聽if聽any
聽聽聽聽聽聽聽聽聽
*/

聽聽聽聽聽聽聽聽String聽role聽
=null;
聽聽聽聽聽聽聽聽
try{
聽聽聽聽聽聽聽聽聽聽聽聽role聽
=聽(String)
聽聽聽聽聽聽聽聽聽聽聽聽聽
//ExpressionEvaluatorManager.evaluate鍙互浣縱alueEL鐢ㄤ簬EL錛屽睘鎬у悕涓簐alue聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽ExpressionEvaluatorManager.evaluate("value",聽valueEL,聽

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽String.class,聽this,聽pageContext);
聽聽聽聽聽聽聽聽}

聽聽聽聽聽聽聽聽
catch聽(JspException聽e)聽{
聽聽聽聽聽聽聽聽聽聽聽聽
thrownew聽JspTagException(e.getMessage());
聽聽聽聽聽聽聽聽}

聽聽聽聽聽聽聽聽HttpServletRequest聽request聽
=
聽聽聽聽聽聽聽聽聽聽聽聽(HttpServletRequest)聽pageContext.getRequest();
聽聽聽聽聽聽聽聽
return聽request.isUserInRole(role);//鍙栧緱瑙掕壊綾誨埆
聽聽聽聽}

}


鍦╰ld鏂囦歡涓畾涔塃L鑷畾涔夋爣絳?br />
聽聽<tag>
聽聽聽聽
<name>ifUserInRole</name>
聽聽聽聽
<tag-class>com.ora.jsp.tags.IfUserInRoleTag</tag-class>
聽聽聽聽
<body-content>JSP</body-content>
聽聽聽聽
<description>
聽聽聽聽聽聽Evaluates聽its聽body聽if聽the聽current,聽authenticated,聽user聽belongs聽to
聽聽聽聽聽聽the聽specified聽security聽role,聽and聽optionally聽saves聽the聽result
聽聽聽聽聽聽of聽the聽test聽as聽a聽Boolean聽in聽a聽variable聽specified聽by聽the聽var聽and聽
聽聽聽聽聽聽scope聽attributes.
聽聽聽聽
</description>
聽聽聽聽
<attribute>
聽聽聽聽聽聽
<name>value</name>
聽聽聽聽聽聽
<required>true</required>
聽聽聽聽
</attribute>
聽聽聽聽
<attribute>
聽聽聽聽聽聽
<name>var</name>
聽聽聽聽聽聽
<required>false</required>
聽聽聽聽
</attribute>
聽聽聽聽
<attribute>
聽聽聽聽聽聽
<name>scope</name>
聽聽聽聽聽聽
<required>false</required>
聽聽聽聽
</attribute>
聽聽
</tag>

鍦ㄥ簲鐢ㄧ▼搴廽sp欏甸潰涓皟鐢ㄨ嚜瀹氫箟鏍囩榪涜璁塊棶鎺у埗
<%@聽taglib聽prefix="ora"聽uri="orataglib"%>

<ora:ifUserInRole聽value="admin"聽var="isAdmin"/>



]]>
主站蜘蛛池模板: 最好免费观看高清在线| 日韩在线视频线视频免费网站| 无码人妻久久一区二区三区免费 | 两个人看的www高清免费视频| 亚洲 另类 无码 在线| 精品一区二区三区免费毛片| 大学生a级毛片免费观看| 亚洲人精品亚洲人成在线| 久久综合AV免费观看| 在线综合亚洲欧洲综合网站| 浮力影院第一页小视频国产在线观看免费 | 免费看一级做a爰片久久| 国产亚洲成在线播放va| 亚洲毛片网址在线观看中文字幕| 一级毛片高清免费播放| 亚洲国产精品VA在线看黑人| 99re6热视频精品免费观看| 亚洲第一成年网站大全亚洲| 久久久久久国产精品免费免费| 亚洲爆乳AAA无码专区| 亚洲成av人片在线观看天堂无码| 久久国产乱子伦精品免费午夜 | 亚洲人成电影网站免费| 亚洲国产精品美女久久久久| www亚洲精品少妇裸乳一区二区| 国产免费区在线观看十分钟 | 免费观看黄色的网站| 亚洲人成色777777精品| 国产精品亚洲mnbav网站 | 亚洲高清日韩精品第一区| 成人毛片免费观看| 一本久久免费视频| 色婷婷亚洲十月十月色天| 成人在线免费观看| 巨胸喷奶水www永久免费| 亚洲国产综合在线| 免费成人在线观看| 99热这里只有精品免费播放| 亚洲AV无码精品国产成人| 国产亚洲福利精品一区| 免费无码一区二区三区蜜桃大|