锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲AV无码乱码在线观看性色扶,亚洲自国产拍揄拍,亚洲一区二区三区四区在线观看http://m.tkk7.com/kemi/category/8724.html澹佺珛鍗冧粸錛屾棤嬈插垯鍒?/description>zh-cnTue, 04 Mar 2008 07:26:43 GMTTue, 04 Mar 2008 07:26:43 GMT60<鍘熷垱> 浣跨敤ResourceBundle璇誨彇properties鏂囦歡鐨勭畝鏄庝唬鐮?/title><link>http://m.tkk7.com/kemi/archive/2008/03/04/183652.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Tue, 04 Mar 2008 03:36:00 GMT</pubDate><guid>http://m.tkk7.com/kemi/archive/2008/03/04/183652.html</guid><wfw:comment>http://m.tkk7.com/kemi/comments/183652.html</wfw:comment><comments>http://m.tkk7.com/kemi/archive/2008/03/04/183652.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/kemi/comments/commentRss/183652.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/kemi/services/trackbacks/183652.html</trackback:ping><description><![CDATA[ <p>澶у閮界煡閬擄紝璇誨彇璧勬簮鏂囦歡鐨勬柟娉曟湁寰堝縐嶃備笅闈㈡垜鐢ㄧ殑鏄埄鐢╦ava.util.ResourceBundle鏉ヨ鍙栵紝鍙互閬垮厤姣旇緝鐑︿漢鐨勮礬寰勯棶棰樸傚彟澶栬祫婧愬浗闄呭寲鏂歸潰錛屽悗闈細琛ュ厖榪涘幓銆?br />1銆丳ropertiesUtil.java<br /><img height="503" alt="pp.JPG" src="http://m.tkk7.com/images/blogjava_net/kemi/pp.JPG" width="566" border="0" /><br /><br /><br />2銆佷嬌鐢ㄦ敞鎰忥細<br />聽聽 .properties鏂囦歡鏄斁鍦╟lass鍖呬腑鐨勶紝涓嶆槸鍦ㄦ簮鐮乻rc涓?br /><img style="WIDTH: 586px; HEIGHT: 280px" height="280" alt="cc.JPG" src="http://m.tkk7.com/images/blogjava_net/kemi/cc.JPG" width="727" border="0" /></p> <img src ="http://m.tkk7.com/kemi/aggbug/183652.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/kemi/" target="_blank">Kimi</a> 2008-03-04 11:36 <a href="http://m.tkk7.com/kemi/archive/2008/03/04/183652.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title><鍘熷垱> AXIS 1.X 浼犺緭 鑷畾涔夊璞$殑娉ㄦ剰浜嬮」 http://m.tkk7.com/kemi/archive/2008/03/03/183502.htmlKimiKimiMon, 03 Mar 2008 08:46:00 GMThttp://m.tkk7.com/kemi/archive/2008/03/03/183502.htmlhttp://m.tkk7.com/kemi/comments/183502.htmlhttp://m.tkk7.com/kemi/archive/2008/03/03/183502.html#Feedback0http://m.tkk7.com/kemi/comments/commentRss/183502.htmlhttp://m.tkk7.com/kemi/services/trackbacks/183502.html聽 <service name="SceneWebService" provider="java:RPC">
聽 <parameter name="allowedMethods" value="*"/>
聽 <parameter name="className" value="com.telecom.WS.SceneWS"/>
聽聽聽 <beanMapping languageSpecificType="java:com.telecom.bean.RuleBean" qname="ns:RuleBean" xmlns:ns="urn:BeanService"/>
聽</service>

娉ㄦ剰錛歜eanMapping鐨勫畾涔夈俵anguageSpecificType涓畾涔変嬌鐢ㄩ偅涓被, qname瀹氫箟綾葷殑鍚嶇О銆?br />
2銆佸鎴風闇瑕佸弽搴忓垪鍖?br />Service service = new Service();
Call call = null;
call = (Call) service.createCall();
QName qn = new QName("urn:BeanService","RuleBean");
call.registerTypeMapping(RuleBean.class, qn,聽聽聽聽new BeanSerializerFactory(RuleBean.class, qn),聽聽聽聽new BeanDeserializerFactory(RuleBean.class, qn));

3銆丷uleBean闇瑕佸簭鍒楀寲
import java.io.Serializable;
public class RuleBean implements Serializable {聽
public RuleBean(){聽聽聽聽聽聽聽聽聽聽 //闇瑕侀粯璁ゆ瀯閫犲嚱鏁?br />}
<some get/set methods>

}

Kimi 2008-03-03 16:46 鍙戣〃璇勮
]]>
MVC綆鍗曟ā寮忥細 鐧誨綍 錛堣漿錛?/title><link>http://m.tkk7.com/kemi/archive/2008/02/28/182684.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Thu, 28 Feb 2008 06:39:00 GMT</pubDate><guid>http://m.tkk7.com/kemi/archive/2008/02/28/182684.html</guid><wfw:comment>http://m.tkk7.com/kemi/comments/182684.html</wfw:comment><comments>http://m.tkk7.com/kemi/archive/2008/02/28/182684.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/kemi/comments/commentRss/182684.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/kemi/services/trackbacks/182684.html</trackback:ping><description><![CDATA[     鎽樿: 榪欐娑夊強鍒板洓涓枃浠?鐧誨綍欏甸潰:login.html鐧誨綍鎴愬姛嬈㈣繋欏甸潰:login_success.jsp鐧誨綍澶辮觸欏甸潰:login_failure.jspServlet澶勭悊鏂囦歡:LoginServlet.java 鍏跺疄榪樻秹鍙婂埌涓涓枃浠?web.xml,榪欎釜鍚庨潰鍐嶈: 涓嬮潰鍒嗗埆浠嬬粛榪欏嚑涓枃浠?鐧誨綍欏甸潰:login.html ...  <a href='http://m.tkk7.com/kemi/archive/2008/02/28/182684.html'>闃呰鍏ㄦ枃</a><img src ="http://m.tkk7.com/kemi/aggbug/182684.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/kemi/" target="_blank">Kimi</a> 2008-02-28 14:39 <a href="http://m.tkk7.com/kemi/archive/2008/02/28/182684.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>AXIS鐨凧AVA2WSDL鍜學SDL2JAVA 鍛戒護蹇http://m.tkk7.com/kemi/archive/2008/02/20/180862.htmlKimiKimiWed, 20 Feb 2008 07:07:00 GMThttp://m.tkk7.com/kemi/archive/2008/02/20/180862.htmlhttp://m.tkk7.com/kemi/comments/180862.htmlhttp://m.tkk7.com/kemi/archive/2008/02/20/180862.html#Feedback0http://m.tkk7.com/kemi/comments/commentRss/180862.htmlhttp://m.tkk7.com/kemi/services/trackbacks/180862.html 1:聽 java org.apache.axis.wsdl.Java2WSDL -oBookService.wsdl -lhttp://localhost:8090/BookService/services/BookService -nBookService com.book.service.BookService

2:聽 java org.apache.axis.wsdl.WSDL2Java -p com.hnisi.axis.client http://192.168.3.42:8080/test/services/BookOrder?wsdl

鍓嶆彁錛欰XIS鐜閰嶅ソ



Kimi 2008-02-20 15:07 鍙戣〃璇勮
]]>
BEA 琚敹璐簡錛孧Y GOD錛?/title><link>http://m.tkk7.com/kemi/archive/2008/01/17/175959.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Thu, 17 Jan 2008 07:25:00 GMT</pubDate><guid>http://m.tkk7.com/kemi/archive/2008/01/17/175959.html</guid><wfw:comment>http://m.tkk7.com/kemi/comments/175959.html</wfw:comment><comments>http://m.tkk7.com/kemi/archive/2008/01/17/175959.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/kemi/comments/commentRss/175959.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/kemi/services/trackbacks/175959.html</trackback:ping><description><![CDATA[2008騫?鏈?7鏃ワ紝鍊煎緱綰康鐨勪竴澶╋紝鐤媯鐨勪竴澶┿?br />BEA琚甯冭ORACLE鏀惰喘浜嗭紒<br />涔栦箹錛孊orland IDE浜у搧綰跨殑騫惰喘宸茬粡璁╀漢鎯婂嚭韜喎姹楋紝榪樻病鍑夛紝灞呯劧BEA涔熻鐩笂銆?br />Delphi~ JB~ <br />鍒?WebLogic , WorkShop.......<br />榪欎笅ORACLE鍦ㄤ腑闂翠歡涓婅窡IBM鏈夌殑涓鎷間簡錛學ebSphere寰堝己澶с?br />閭C4J鏄笉鏄細涓嶹ebLogic鏁村悎浜嗭紵錛?br />鐓ц繖鏍蜂笅鍘伙紝IBM蹇嚭DB3浜嗭綖锝烇綖<br /><br />鐧懼浜夐福錛岀櫨鑺遍綈鏀撅紝鐪嬫潵蹇垚榪囧線浜戠儫浜嗐傛湁鍒嗚蹇呮湁緇熶竴錛屽巻鍙茬殑杞﹁疆灝辮繖鏍峰墠榪涚潃銆備絾鎰胯繖鍦烘垬鏂楃殑緇撴潫浼氳鎴戜滑鑰佺櫨濮撹繃涓婃洿瀹夊畾鍜岃皭鐨勭敓媧匯傚笇鏈汷RACLE涓嶈灝佹潃寮婧愪簡銆?br /><br />PS錛?浠婂ぉ鎴戞渶宕囨嫓鐨凷UN鍏徃涔熸嬁涓嬩簡MYSQL錛屽埌搴曚粖澶╂庝箞浜嗭紝濂界垎鐐哥殑娑堟伅鍟娿?img src ="http://m.tkk7.com/kemi/aggbug/175959.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/kemi/" target="_blank">Kimi</a> 2008-01-17 15:25 <a href="http://m.tkk7.com/kemi/archive/2008/01/17/175959.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>JBOSS4.2 閰嶇疆璇存槑http://m.tkk7.com/kemi/archive/2008/01/14/175198.htmlKimiKimiMon, 14 Jan 2008 06:23:00 GMThttp://m.tkk7.com/kemi/archive/2008/01/14/175198.htmlhttp://m.tkk7.com/kemi/comments/175198.htmlhttp://m.tkk7.com/kemi/archive/2008/01/14/175198.html#Feedback0http://m.tkk7.com/kemi/comments/commentRss/175198.htmlhttp://m.tkk7.com/kemi/services/trackbacks/175198.html
涓錛?/strong> 聽聽聽聽聽聽聽聽聽聽聽聽 涓嬭澆涓庡畨瑁?/span>JBoss

鍦ㄦ湰鏂囦腑錛屾垜浠笅杞界殑JBoss鐗堟湰涓猴細4.2.1.GA銆?/span>

涓嬭澆鍦板潃錛?/span>

www.jboss.org

鍦ㄥ涓婄殑涓嬭澆欏典腑涓嬭澆JBoss-4.2.1.GA.zip鏂囦歡銆?/span>

涓嬭澆瀹屾垚鍚庯紝灝嗗叾瑙e帇緙╁悗鍗沖彲瀹屾垚瀹夎錛岃В鍘嬬緝鍚庡皢鍏舵斁緗埌涓涓笉甯︾┖鏍肩殑鐩綍(鑻ョ洰褰曞甫鏈夌┖鏍鹼紝渚嬪錛?/span>C:"Program Files錛屾棩鍚庡彲鑳戒細浜х敓涓浜涜帿鍚嶇殑閿欒)錛?/span>eg錛?/span>E:"JBoss4.2.1銆傚悓鏃跺湪鈥滅幆澧冨彉閲忚緗濅腑璁劇疆鍚嶄負JBOSS_HOME鐨勭幆澧冨彉閲忥紝鍊間負JBoss鐨勫畨瑁呰礬寰勶紝濡備笅鍥炬墍紺猴細

鍦ㄦ錛?/span>JBoss鐨勫畨瑁呭伐浣滃凡緇忕粨鏉燂紝鍙氳繃濡備笅鏂瑰紡嫻嬭瘯瀹夎鏄惁鎴愬姛錛?/span>

榪愯JBoss瀹夎鐩綍"bin"run.bat錛屽鏋滅獥鍙d腑娌℃湁鍑虹幇寮傚父錛屼笖鍑虹幇錛?/span>10:16:19,765 INFO聽[Server] JBoss (MX MicroKernel) [4.2.1.GA (build: SVNTag=JBoss_4_2_1_GA date=200707131605)] Started in 30s:828ms瀛楁牱錛屽垯琛ㄧず瀹夎鎴愬姛銆?/span>

鎴戜滑鍙互閫氳繃璁塊棶錛?/span> http://localhost:8080/ 榪涘叆JBoss鐨勬榪庣晫闈紝鐐瑰嚮JBoss Management涓嬬殑JMX Console鍙繘鍏?/span>JBoss鐨勬帶鍒跺彴銆?/span>

鑻ュ惎鍔ㄥけ璐ワ紝鍙兘鐢變互涓嬪師鍥犲紩璧鳳細

1錛?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽聽聽聽聽聽聽聽聽聽 JBoss鎵鐢ㄧ殑绔彛錛?/span>8080錛?/span>1099錛?/span>1098錛?/span>8083絳夛級琚崰鐢ㄣ備竴鑸儏鍐典笅涓?/span>8080绔彛琚崰鐢紙渚嬪錛?/span>Oracle鍗犵敤浜?/span>8080绔彛錛夛紝姝ゆ椂闇瑕佷慨鏀?/span>JBoss鐨勭鍙o紝鏂規硶涓鴻繘鍏?/span>JBoss瀹夎鐩綍"server"default"deploy"jboss-web.deployer鐩綍錛屼慨鏀瑰叾涓嬬殑server.xml鐩綍錛屽湪姝ゆ枃浠朵腑鎼滅儲8080錛屽皢鍏舵敼鎴愪綘鎯寵鐨勭鍙e嵆鍙紙渚嬪8088錛夛紱

2錛?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽聽聽聽聽聽聽聽聽聽 JDK瀹夎涓嶆紜紱

3錛?span style="FONT: 7pt 'Times New Roman'">聽聽聽聽聽聽聽聽聽聽聽聽聽 JBoss涓嬭澆涓嶅畬鍏ㄣ?/span>

浜岋紟聽聽聽聽聽聽聽聽聽聽聽聽 JBoss 鐨勭洰褰曠粨鏋勮鏄?/span>

鐩綍

鎻忚堪

bin

鍚姩鍜屽叧闂?/span> JBoss 鐨勮剼鏈紙 run.bat 涓?/span> windows 緋葷粺涓嬬殑鍚姩鑴氭湰錛?/span> shutdown.bat 涓?/span> windows 緋葷粺涓嬬殑鍏抽棴鑴氭湰錛夈?/span>

client

瀹㈡埛绔笌 JBoss 閫氫俊鎵闇鐨?/span> Java 搴擄紙 JARs 錛夈?/span>

docs

閰嶇疆鐨勬牱鏈枃浠訛紙鏁版嵁搴撻厤緗瓑錛夈?/span>

docs/dtd

鍦?/span> JBoss 涓嬌鐢ㄧ殑鍚勭 XML 鏂囦歡鐨?/span> DTD 銆?/span>

lib

涓浜?/span> JAR 錛?/span> JBoss 鍚姩鏃跺姞杞斤紝涓旇鎵鏈?/span> JBoss 閰嶇疆鍏變韓銆傦紙涓嶈鎶婁綘鐨勫簱鏀懼湪榪欓噷錛?/span>

server聽

鍚勭 JBoss 閰嶇疆銆傛瘡涓厤緗繀欏繪斁鍦ㄤ笉鍚岀殑瀛愮洰褰曘傚瓙鐩綍鐨勫悕瀛楄〃紺洪厤緗殑鍚嶅瓧銆?/span> JBoss 鍖呭惈 3 涓粯璁ょ殑閰嶇疆錛?/span> minimial 錛?/span> default 鍜?/span> all 錛屽湪浣犲畨瑁呮椂鍙互榪涜閫夋嫨銆?/span>

server/all

JBoss 鐨勫畬鍏ㄩ厤緗紝鍚姩鎵鏈夋湇鍔★紝鍖呮嫭闆嗙兢鍜?/span> IIOP 銆?/span>

server/default

JBoss 鐨勯粯璁ら厤緗傚湪娌℃湁鍦?/span> JBoss 鍛戒護琛屼腑鎸囧畾閰嶇疆鍚嶇О鏃朵嬌鐢ㄣ?/span> ( 鎴戜滑涓嬭澆鐨?/span> 4.2.1 鐗堟湰榛樿閲囩敤姝ら厤緗?/span> )聽 銆?/span>

server/default/conf聽

JBoss 鐨勯厤緗枃浠躲?/span>

server/default/data

JBoss 鐨勬暟鎹簱鏂囦歡銆傛瘮濡傦紝宓屽叆鐨勬暟鎹簱錛屾垨鑰?/span> JBossMQ

server/default /deploy

JBoss 鐨勭儹閮ㄧ講鐩綍銆傛斁鍒拌繖閲岀殑浠諱綍鏂囦歡鎴栫洰褰曚細琚?/span> JBoss 鑷姩閮ㄧ講銆?/span> EJB 銆?/span> WAR 銆?/span> EAR 錛岀敋鑷蟲湇鍔°?/span>

server/default /lib

涓浜?/span> JAR 錛?/span> JBoss 鍦ㄥ惎鍔ㄧ壒瀹氶厤緗椂鍔犺澆浠栦滑銆?/span> (default 鍜?/span> minimial 閰嶇疆涔熷寘鍚繖涓拰涓嬮潰涓や釜鐩綍銆?/span> )聽

server/default/log

JBoss 鐨勬棩蹇楁枃浠躲?/span>

server/default/tmp

JBoss 鐨勪復鏃舵枃浠躲?/span>

涓夛紟聽聽聽聽聽聽聽聽聽聽聽聽 JBoss 鐨勯厤緗?/span>

1.聽聽聽聽聽聽 鏃ュ織鏂囦歡璁劇疆

鑻ラ渶瑕佷慨鏀?/span>JBoss榛樿鐨?/span>log4j璁劇疆錛屽彲淇敼JBoss瀹夎鐩綍"server"default"conf涓嬬殑jboss-log4j.xml鏂囦歡錛屽湪璇ユ枃浠朵腑鍙互鐪嬪埌錛?/span>log4j鐨勬棩蹇楄緭鍑哄湪JBoss瀹夎鐩綍"server"default"log涓嬬殑server.log鏂囦歡涓傚浜?/span>log4j鐨勮緗紝璇昏呭彲浠ュ湪緗戜笂鎼滅儲鏇村姞璇︾粏鐨勪俊鎭?/span>

2.聽聽聽聽聽聽 web 鏈嶅姟鐨勭鍙e彿鐨勪慨鏀?/span>

榪欑偣鍦ㄥ墠鏂囦腑鏈夋墍鎻愬強錛屽嵆淇敼JBoss瀹夎鐩綍"server"default"deploy"jboss-web.deployer涓嬬殑server.xml鏂囦歡錛屽唴瀹瑰涓嬶細

<Connector port="8080" address="${jboss.bind.address}"聽聽聽

聽聽聽聽聽聽聽聽 maxThreads="250" maxHttpHeaderSize="8192"

聽聽聽聽聽聽聽聽 emptySessionPath="true" protocol="HTTP/1.1"

聽聽聽聽聽聽聽聽 enableLookups="false" redirectPort="8443" acceptCount="100"

聽聽聽聽聽聽聽聽 connectionTimeout="20000" disableUploadTimeout="true" />

灝嗕笂闈㈢殑8080绔彛淇敼涓轟綘鎯寵鐨勭鍙e嵆鍙傞噸鏂板惎鍔?/span>JBoss鍚庤闂細http://localhost/:鏂拌緗殑绔彛錛屽彲鐪嬪埌JBoss鐨勬榪庣晫闈€?/span>

3.聽聽聽聽聽聽 JBoss 鐨勫畨鍏ㄨ緗?/span>

1錛?/strong> jmx-console 鐧誨綍鐨勭敤鎴峰悕鍜屽瘑鐮佽緗?/span>

榛樿鎯呭喌璁塊棶 http://localhost:8080/jmx-console 灝卞彲浠ユ祻瑙?/span>jboss鐨勯儴緗茬鐞嗙殑涓浜涗俊鎭紝涓嶉渶瑕佽緭鍏ョ敤鎴峰悕鍜屽瘑鐮侊紝浣跨敤璧鋒潵鏈夌偣瀹夊叏闅愭偅銆備笅闈㈡垜浠拡瀵規闂瀵?/span>jboss榪涜閰嶇疆錛屼嬌寰楄闂?/span>jmx-console涔熷繀欏昏鐭ラ亾鐢ㄦ埛鍚嶅拰瀵嗙爜鎵嶅彲榪涘幓璁塊棶銆傛楠ゅ涓嬶細

i) 鎵懼埌JBoss瀹夎鐩綍/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml鏂囦歡錛屽幓鎺?/span><security-domain>java:/jaas/jmx-console</security-domain>鐨勬敞閲娿備慨鏀瑰悗鐨勮鏂囦歡鍐呭涓猴細

<jboss-web>

聽聽 <!-- Uncomment the security-domain to enable security. You will

聽聽聽聽聽 need to edit the htmladaptor login configuration to setup the

聽聽聽聽聽 login modules used to authentication users.-->

聽聽聽聽聽 <security-domain>java:/jaas/jmx-console</security-domain>

</jboss-web>

ii錛変慨鏀逛笌i錛変腑鐨?/span>jboss-web.xml鍚岀駭鐩綍涓嬬殑web.xml鏂囦歡錛屾煡鎵懼埌<security-constraint/>鑺傜偣錛屽幓鎺夊畠鐨勬敞閲婏紝淇敼鍚庤閮ㄥ垎鍐呭涓猴細

<!-- A security constraint that restricts access to the HTML JMX console

聽聽 to users with the role JBossAdmin. Edit the roles to what you want and

聽聽 uncomment the WEB-INF/jboss-web.xml/security-domain element to enable

聽聽 secured access to the HTML JMX console.-->

聽聽 <security-constraint>

聽聽聽聽 <web-resource-collection>

聽聽聽聽聽聽 <web-resource-name>HtmlAdaptor</web-resource-name>

聽聽聽聽聽聽 <description>An example security config that only allows users with the

聽聽聽聽聽聽聽聽 role JBossAdmin to access the HTML JMX console web application

聽聽聽聽聽聽 </description>

聽聽聽聽聽聽 <url-pattern>/*</url-pattern>

聽聽聽聽聽聽 <http-method>GET</http-method>

聽聽聽聽聽聽 <http-method>POST</http-method>

聽聽聽聽 </web-resource-collection>

聽聽聽聽 <auth-constraint>

聽聽聽聽聽聽 <role-name>JBossAdmin</role-name>

聽聽聽聽 </auth-constraint>

聽聽 </security-constraint>

聽聽 鍦ㄦ澶勫彲浠ョ湅鍑猴紝涓虹櫥褰曢厤緗簡瑙掕壊JBossAdmin銆?/span>

聽iii錛?/span>聽鍦ㄧ涓姝ヤ腑鐨?/span>jmx-console瀹夊叏鍩熷拰絎簩姝ヤ腑鐨勮繍琛岃鑹?/span>JBossAdmin閮芥槸鍦?/span>login-config.xml涓厤緗紝鎴戜滑鍦?/span>JBoss瀹夎鐩綍/server/default/config涓嬫壘鍒板畠銆傛煡鎵懼悕瀛椾負錛?/span>jmx-console鐨?/span>application-policy錛?/span>

<application-policy name = "jmx-console">
聽聽聽聽聽聽 <authentication>
聽聽聽聽聽聽聽聽聽 <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
聽聽聽聽聽聽聽聽聽聽聽聽 flag = "required">
聽聽聽聽聽聽聽聽聽聽 <module-option name="usersProperties">props/jmx-console-users.properties</module-option>
聽聽聽聽聽聽聽聽聽聽 <module-option name="rolesProperties">props/jmx-console-roles.properties</module-option>
聽聽聽聽聽聽聽聽聽 </login-module>
聽聽聽聽聽聽 </authentication>
聽聽聽 </application-policy>

鍦ㄦ澶勫彲浠ョ湅鍑猴紝鐧誨綍鐨勮鑹層佺敤鎴風瓑鐨勪俊鎭垎鍒湪props鐩綍涓嬬殑jmx-console-roles.properties鍜?/span>jmx-console-users.properties鏂囦歡涓緗紝鍒嗗埆鎵撳紑榪欎袱涓枃浠躲?/span>

鍏朵腑jmx-console-users.properties鏂囦歡鐨勫唴瀹瑰涓嬶細

# A sample users.properties file for use with the UsersRolesLoginModule

admin=admin

璇ユ枃浠跺畾涔夌殑鏍煎紡涓猴細鐢ㄦ埛鍚?/span>=瀵嗙爜錛屽湪璇ユ枃浠朵腑錛岄粯璁ゅ畾涔変簡涓涓敤鎴峰悕涓?/span>admin錛屽瘑鐮佷篃涓?/span>admin鐨勭敤鎴鳳紝璇昏呭彲灝嗗叾鏀規垚鎵闇鐨勭敤鎴峰悕鍜屽瘑鐮併?/span>

jmx-console-roles.properties鐨勫唴瀹瑰涓嬶細

# A sample roles.properties file for use with the UsersRolesLoginModule

admin=JBossAdmin, HttpInvoker

璇ユ枃浠跺畾涔夌殑鏍煎紡涓猴細鐢ㄦ埛鍚?/span>=瑙掕壊錛屽涓鑹蹭互鈥?/span>,鈥濋殧寮錛岃鏂囦歡榛樿涓?/span>admin鐢ㄦ埛瀹氫箟浜?/span>JBossAdmin鍜?/span>HttpInvoker榪欎袱涓鑹層?/span>

閰嶇疆瀹屾垚鍚庤鑰呭彲浠ラ氳繃璁塊棶錛?/span> http://localhost:8088/jmx-console/ 錛岃緭鍏?/span>jmx-console-roles.properties鏂囦歡涓畾涔夌殑鐢ㄦ埛鍚嶅拰瀵嗙爜錛岃闂?/span>jmx-console鐨勯〉闈€?/span>

2錛?/strong> web-console 鐧誨綍鐨勭敤鎴峰悕鍜屽瘑鐮佽緗?/span>

榛樿鎯呭喌涓嬶紝鐢ㄦ埛璁塊棶JBoss鐨?/span>web-console鏃訛紝涓嶉渶瑕佽緭鍏ョ敤鎴峰悕鍜屽瘑鐮侊紝涓轟簡瀹夊叏璧瘋錛屾垜浠氳繃淇敼閰嶇疆鏉ヤ負鍏跺姞涓婄敤鎴峰悕鍜屽瘑鐮併傛楠ゅ涓嬶細

i錛夋壘鍒?/span>JBoss瀹夎鐩綍"server"default"deploy"management"console-mgr.sar"web-console.war"WEB-INF"jboss-web.xml鏂囦歡錛屽幓鎺?/span><security-domain>java:/jaas/web-console</security-domain>鐨勬敞閲婏紝淇敼鍚庣殑鏂囦歡鍐呭涓猴細

<?xml version='1.0' encoding='UTF-8' ?>

<!DOCTYPE jboss-web

聽聽聽 PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN"

聽聽聽 "http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd">

<jboss-web>

聽聽 <!-- Uncomment the security-domain to enable security. You will

聽聽 need to edit the htmladaptor login configuration to setup the

聽聽 login modules used to authentication users.-->

聽聽 <security-domain>java:/jaas/web-console</security-domain>

聽聽 <!-- The war depends on the -->

聽聽 <depends>jboss.admin:service=PluginManager</depends>

</jboss-web>

ii錛夋墦寮i錛変腑jboss-web.xml鍚岀洰褰曚笅鐨?/span>web.xml鏂囦歡錛屽幓鎺?/span><security-constraint>閮ㄥ垎鐨勬敞閲婏紝淇敼鍚庣殑璇ラ儴鍒嗗唴瀹逛負錛?/span>

<!-- A security constraint that restricts access to the HTML JMX console

聽聽 to users with the role JBossAdmin. Edit the roles to what you want and

聽聽 uncomment the WEB-INF/jboss-web.xml/security-domain element to enable

聽聽 secured access to the HTML JMX console.-->

聽聽 <security-constraint>

聽聽 <web-resource-collection>

聽聽 <web-resource-name>HtmlAdaptor</web-resource-name>

聽聽 <description>An example security config that only allows users with the

聽聽 role JBossAdmin to access the HTML JMX console web application

聽聽 </description>

聽聽 <url-pattern>/*</url-pattern>

聽聽 <http-method>GET</http-method>

聽聽 <http-method>POST</http-method>

聽聽 </web-resource-collection>

聽聽 <auth-constraint>

聽聽 <role-name>JBossAdmin</role-name>

聽聽 </auth-constraint>

聽聽 </security-constraint>

iii錛夋墦寮JBoss瀹夎鐩綍"server"default"conf涓嬬殑login-config.xml鏂囦歡錛屾悳绱?/span>web-console錛屽彲鎵懼埌濡備笅鍐呭錛?/span>

<application-policy name = "web-console">

聽聽聽聽聽聽 <authentication>

聽聽聽聽聽聽聽聽聽 <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"

聽聽 聽聽聽聽聽聽聽聽聽聽flag = "required">

聽聽聽聽聽聽聽聽聽聽聽聽 <module-option name="usersProperties">web-console-users.properties</module-option>

聽聽聽聽聽聽聽聽聽聽聽聽 <module-option name="rolesProperties">web-console-roles.properties</module-option>

聽聽聽聽聽聽聽聽聽 </login-module>

聽聽聽聽聽聽 </authentication>

聽聽聽 </application-policy>

鍦ㄦ枃浠朵腑鍙互鐪嬪埌錛岃緗櫥褰?/span>web-console鐨勭敤鎴峰悕鍜岃鑹茬瓑淇℃伅鍒嗗埆鍦?/span>login-config.xml鏂囦歡鎵鍦ㄧ洰褰曚笅鐨?/span>web-console-users.properties鍜?/span>web-console-roles.properties鏂囦歡涓紝浣嗗洜涓鴻鐩綍涓嬫棤榪欎袱涓枃浠訛紝鎴戜滑鍦?/span>JBoss瀹夎鐩綍"server"default"conf"props鐩綍涓嬪緩绔嬭繖涓や釜鏂囦歡錛屾枃浠跺唴瀹瑰彲鍙傝冨湪鈥?/span>jmx-console鐧誨綍鐨勭敤鎴峰悕鍜屽瘑鐮佽緗?/span>涓殑涓や釜鐩稿簲鐨勯厤緗枃浠剁殑鍐呭錛?/span>web-console-users.properties鏂囦歡鐨勫唴瀹瑰涓嬶細

# A sample users.properties file for use with the UsersRolesLoginModule

admin=admin

web-console-roles.properties鏂囦歡鐨勫唴瀹瑰涓嬶細

# A sample roles.properties file for use with the UsersRolesLoginModule

admin=JBossAdmin,HttpInvoker

鍥犱負姝ゆ椂榪欎袱涓枃浠朵笉涓?/span>login-config.xml鍚岀洰褰曪紝鎵浠?/span>login-config.xml鏂囦歡闇榪涜灝戣淇敼錛屼慨鏀瑰悗鐨?/span><application-policy name = "web-console">鍏冪礌鐨勫唴瀹逛負錛?/span>

<application-policy name = "web-console">

聽聽聽聽聽聽 <authentication>

聽聽聽聽聽聽聽聽聽 <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"

聽聽聽聽聽聽聽聽聽聽聽聽 flag = "required">

聽聽聽聽聽聽聽聽聽聽聽聽 <module-option name="usersProperties">props/web-console-users.properties</module-option>

聽聽聽聽聽聽聽聽聽聽聽聽 <module-option name="rolesProperties">props/web-console-roles.properties</module-option>

聽聽聽聽聽聽聽聽聽 </login-module>

聽聽聽聽聽聽 </authentication>

聽聽聽 </application-policy>

鍥涳紟聽聽聽聽聽聽聽聽聽聽聽聽 鍦?/span>MyEclipse 涓厤緗?/span>JBoss

絎旇呯殑MyEclipse鐗堟湰錛?/span>5.1.1 GA

JBoss鐗堟湰錛?/span>4.2.1 GA

JDK鐗堟湰錛?/span>1.5

榪涘叆Window-> Preferences-> MyEclipse -> Application Servers -> JBoss4錛岃繘琛屽涓嬭緗細
聽聽聽聽

閫夋嫨JBoss 4涓嬬殑JDK璁劇疆鎵鐢ㄧ殑JDK.

璁劇疆瀹屾垚鍚庯紝閮ㄧ講紼嬪簭鏃訛紝浼氬彂鐜板鍑?/span>JBoss 4閮ㄧ講鐨勯夋嫨錛屽涓嬪浘鎵紺猴細

鍚屾椂鍦?img height="25" alt="" src="http://m.tkk7.com/images/blogjava_net/amigoxie/21128/r_clip_image305.jpg" width="31" border="0" /> 涓睍寮錛屽彲鐪嬪埌JBoss 4鐨勫惎鍔ㄥ浘鏍囥?/span>



Kimi 2008-01-14 14:23 鍙戣〃璇勮
]]>
閫氳繃filter綾誨get鏂瑰紡涓婃潵鐨勪腑鏂囪繘琛岀粺涓緙栫爜澶勭悊http://m.tkk7.com/kemi/archive/2007/12/18/168411.htmlKimiKimiTue, 18 Dec 2007 02:34:00 GMThttp://m.tkk7.com/kemi/archive/2007/12/18/168411.htmlhttp://m.tkk7.com/kemi/comments/168411.htmlhttp://m.tkk7.com/kemi/archive/2007/12/18/168411.html#Feedback2http://m.tkk7.com/kemi/comments/commentRss/168411.htmlhttp://m.tkk7.com/kemi/services/trackbacks/168411.html浣跨敤filter鏉ユ敼鍙榬equest鐨勭紪鐮?

褰撴病鏈夋寚瀹歳equest鐨勭紪鐮佺殑鏃跺欙紝浠庡鎴風寰楀埌鐨勬暟鎹槸iso-8859-1緙栫爜鐨?request.getParameter()寰楀埌浼犻掔殑鍙傛暟鍊?錛?br />浣嗘槸鎴戜滑鎬庝箞鏉ユ敼鍙榬equest鐨勭紪鐮佸憿錛?/p>


鏂規硶鏈夊緢澶氱錛?/p>


姣斿錛氬湪getRequestDispatcher("/jsp/jsptoserv/hello.jsp").forward(request, response);涔嬪墠淇敼


request鐨勭紪鐮侊紝閭d箞鍦╦sp/jsptoserv/hello.jsp涓緱鍒扮殑鍙傛暟鍊煎氨鏄埗瀹氱殑緙栫爜鐨勫瓧絎︺?/p>


鏈枃鎴戜滑浣跨敤Filter鏉ヤ慨鏀箁equest鐨勭紪鐮?br />
1)棣栧厛緙栧啓filter綾伙細
package myFilter;
import java.io.IOException;
import javax.servlet.*;
public class ChangeCharsetFilter implements Filter {
protected String encoding = null;/////瑕佸埗瀹氱殑緙栫爜錛屽湪web.xml涓厤緗?br />protected FilterConfig filterConfig = null;
public void destroy() {
this.encoding = null;
this.filterConfig = null;
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
if (request.getCharacterEncoding() == null){
聽String encoding = getEncoding();////寰楀埌鎸囧畾鐨勭紪鐮佸悕瀛?br />聽if (encoding != null)
聽request.setCharacterEncoding(encoding);////璁劇疆request鐨勭紪鐮?br />聽}
chain.doFilter(request, response);///鏈夋満浼氭墽琛屼笅涓涓猣ilter
}
聽public void init(FilterConfig filterConfig) throws ServletException {
聽this.filterConfig = filterConfig;
this.encoding = filterConfig.getInitParameter("encoding");///寰楀埌鍦╳eb.xml涓厤緗殑緙栫爜
聽}
聽protected String getEncoding() {
聽return (this.encoding);///寰楀埌鎸囧畾鐨勭紪鐮?br />}

}

2銆傜紪杈憌eb.xml鏂囦歡
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
? PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
? "<web-app>
<filter>
<filter-name>SetCharacterEncoding</filter-name>
聽<filter-class>myFilter.ChangeCharsetFilter </filter-class>
聽<init-param>
聽<param-name>encoding</param-name>
<param-value>GB2312</param-value>//////鎸囧畾緙栫爜涓篏B2312
</init-param>
聽</filter>
<filter-mapping>
聽<filter-name>SetCharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>////////瀵逛簬鎵鏈夌殑request鏀瑰彉鍏剁紪鐮?br /></filter-mapping>
</web-app>
///
3銆傚啓涓涓猘.jsp


<%@ page contentType="text/html; charset=GB2312" %>
<html>
<head></head>
<body>
<%
String name=request.getParameter("name");///鏈潵榪欓噷寰楀埌瀛楃鏄痠so-8859-1緙栫爜鐨勶紝涓嶈兘鐩存帴


鍦–onsole涓緭鍑虹殑錛屼絾鏄幇鍦ㄦ敼鍙樹簡request鐨勭紪鐮佹柟寮忥紝姝ゆ椂鐨刵ame鐨勭紪鐮佹槸GB2312,鎵浠ヨ兘姝g‘鍦–onsole涓樉紺虹殑銆?/p>

System.out.println(name);


%>
<form action="a.jsp" method="post">
<input type="text" name="name">
<input type="submit">
</form>
<%=name%>
</body>
</html>


瀹岋紒


鍏充簬涓枃澶勭悊鐨勯棶棰樺氨鍐欒繖浜涗簡錛?/p>

Kimi 2007-12-18 10:34 鍙戣〃璇勮
]]>
DataStore綾?/title><link>http://m.tkk7.com/kemi/archive/2007/10/24/155627.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Wed, 24 Oct 2007 08:35:00 GMT</pubDate><guid>http://m.tkk7.com/kemi/archive/2007/10/24/155627.html</guid><wfw:comment>http://m.tkk7.com/kemi/comments/155627.html</wfw:comment><comments>http://m.tkk7.com/kemi/archive/2007/10/24/155627.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/kemi/comments/commentRss/155627.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/kemi/services/trackbacks/155627.html</trackback:ping><description><![CDATA[ <p>package classmate;<br />import java.sql.*;</p> <p>import javax.sql.DataSource;</p> <p>import org.apache.commons.logging.Log;<br />import org.apache.commons.logging.LogFactory;<br />public class DataStore {<br />聽<br />聽DataSource dataSource = null;<br />聽private static Connection conn = null;<br />聽private Statement stmt = null;<br />聽private boolean hadErrors = false;<br />聽<br />聽//construct<br />聽public DataStore(DataSource dataSource) throws Exception{<br />聽聽this.dataSource = dataSource;<br />聽聽conn = dataSource.getConnection();<br />聽聽stmt = conn.createStatement();<br />聽}<br />聽<br />聽//invoke transaction<br />聽public void beginTransaction() throws SQLException{<br />聽聽conn.setAutoCommit(false);<br />聽}<br />聽<br />聽//perform transaction<br />聽public void commitTransaction() throws SQLException{<br />聽聽//hadErrors = false<br />聽聽if(!hadErrors){<br />聽聽聽conn.commit();<br />聽聽}<br />聽聽else{聽 //hadErrors = true<br />聽聽聽conn.rollback();<br />聽聽聽hadErrors = false;<br />聽聽}<br />聽聽hadErrors = false;<br />聽聽conn.setAutoCommit(true);<br />聽}<br />聽<br />聽//mark error<br />聽public void ErrorOccur(){<br />聽聽hadErrors = true;<br />聽}<br />聽<br />聽//execute insert,delete,update<br />聽synchronized public void execute(String sql) throws SQLException{<br />聽聽if(stmt != null)<br />聽聽聽stmt.executeUpdate(sql);<br />聽聽else{<br />聽聽聽Log log = LogFactory.getLog("mylog");<br />聽聽聽log.error("fail to execute sql");<br />聽聽}<br />聽}<br />聽<br />聽//execute select<br />聽synchronized public ResultSet read(String sql) throws SQLException{<br />聽聽if(stmt != null){<br />聽聽聽ResultSet tmp = null;<br />聽聽聽tmp = stmt.executeQuery(sql);<br />聽聽聽return tmp;<br />聽聽}else{<br />聽聽聽return null;<br />聽聽}<br />聽}<br />聽<br />聽// count of result<br />聽synchronized public int readCount(String sql) throws SQLException{<br />聽聽int nCount = 0;<br />聽聽try{<br />聽聽聽if(stmt != null){<br />聽聽聽聽ResultSet tmp = null; <br />聽聽聽聽tmp = stmt.executeQuery(sql);<br />聽聽聽聽if(tmp != null && tmp.next()){<br />聽聽聽聽聽nCount = tmp.getInt(1);<br />聽聽聽聽}else{<br />聽聽聽聽聽nCount = 0;<br />聽聽聽聽}<br />聽聽聽}<br />聽聽}catch(SQLException e){<br />聽聽聽nCount = 0;<br />聽聽}<br />聽聽return nCount;<br />聽}<br />聽<br />聽// close db<br />聽synchronized public void stop(){<br />聽聽try{<br />聽聽聽if(conn != null){<br />聽聽聽聽conn.close();<br />聽聽聽聽stmt.close();<br />聽聽聽}<br />聽聽}catch(Exception e){<br />聽聽聽Log log = LogFactory.getLog("mylog");<br />聽聽聽log.error("fail to close db- DataStore.java");<br />聽聽}finally{<br />聽聽聽conn = null;<br />聽聽}<br />聽}<br />}<br /><br />榪樺湪鐮旂┒錛岃矊浼糄CL鐨勯棶棰樿繕瀛樺湪銆?/p> <img src ="http://m.tkk7.com/kemi/aggbug/155627.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/kemi/" target="_blank">Kimi</a> 2007-10-24 16:35 <a href="http://m.tkk7.com/kemi/archive/2007/10/24/155627.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>JNDI 鎶鏈師鐞嗕笌榪愯鏈哄埗 錛堣漿錛夛紞錛嶇簿鍗庡櫌http://m.tkk7.com/kemi/archive/2007/10/22/154934.htmlKimiKimiMon, 22 Oct 2007 04:01:00 GMThttp://m.tkk7.com/kemi/archive/2007/10/22/154934.htmlhttp://m.tkk7.com/kemi/comments/154934.htmlhttp://m.tkk7.com/kemi/archive/2007/10/22/154934.html#Feedback1http://m.tkk7.com/kemi/comments/commentRss/154934.htmlhttp://m.tkk7.com/kemi/services/trackbacks/154934.html
聽鍘熺悊錛?br />聽聽聽聽聽聽聽聽 鍦―ataSource涓簨鍏堝緩绔嬪涓暟鎹簱榪炴帴錛屼繚瀛樺湪鏁版嵁搴撹繛鎺ユ睜涓傚綋紼嬪簭璁塊棶鏁版嵁搴撴椂錛屽彧鐢ㄤ粠榪炴帴姹犱腑鍙栫┖闂茬姸鎬佺殑鏁版嵁搴撹繛鎺ュ嵆鍙紝璁塊棶緇撴潫錛岄攢姣佽祫婧愶紝鏁版嵁搴撹繛鎺ラ噸鏂板洖鍒拌繛鎺ユ睜錛岃繖涓庢瘡嬈″幓鐩存帴璁塊棶鏁版嵁搴撶浉姣旓紝浼氳妭鐪佸ぇ閲忔椂闂村拰璧勬簮銆?br />聽聽聽聽聽聽聽聽 JNDI( Java Naming and Directory Interface )錛?span>鏄疛ava騫沖彴鐨勪竴涓爣鍑嗘墿灞曪紝鎻愪緵浜嗕竴緇勬帴鍙c佺被鍜屽叧浜庡懡鍚嶇┖闂寸殑姒傚康銆傚鍚屽叾瀹冨緢澶欽ava鎶鏈竴鏍鳳紝JDNI鏄痯rovider-based鐨勬妧鏈紝鏆撮湶浜嗕竴涓?API鍜屼竴涓湇鍔′緵搴旀帴鍙o紙SPI錛夈傝繖鎰忓懗鐫浠諱綍鍩轟簬鍚嶅瓧鐨勬妧鏈兘鑳介氳繃JNDI鑰屾彁渚涙湇鍔★紝鍙JNDI鏀寔榪欓」鎶鏈侸NDI鐩墠鎵鏀寔鐨勬妧鏈寘鎷?LDAP銆丆ORBA Common Object Service錛圕OS錛夊悕瀛楁湇鍔°丷MI銆丯DS銆丏NS銆乄indows娉ㄥ唽琛ㄧ瓑絳夈傚緢澶欽2EE鎶鏈紝鍖呮嫭EJB閮戒緷闈燡NDI鏉ョ粍緇囧拰瀹氫綅瀹炰綋銆傚彲浠ユ妸瀹冪悊瑙d負涓縐嶅皢瀵硅薄鍜屽悕瀛楁崋緇戠殑鎶鏈紝瀵硅薄宸ュ巶璐熻矗鐢熶駭鍑哄璞★紝榪欎簺瀵硅薄閮藉拰鍞竴鐨勫悕瀛楃粦鍦ㄤ竴璧鳳紝澶栭儴璧勬簮鍙互閫氳繃鍚嶅瓧鑾峰緱鏌愬璞$殑寮曠敤銆?br />
聽聽聽 聽聽 聽聽 鍦╦avax.naming鐨勫寘鍖呬腑鎻愪緵Context鎺ュ彛錛屾彁渚涗簡涓や釜寰堝ソ鐢ㄧ殑鏂規硶錛?br /><1> void bind( String name , Object object )
聽聽聽 聽聽聽 灝嗗悕縐扮粦瀹氬埌瀵硅薄銆傛墍鏈変腑闂翠笂涓嬫枃鍜岀洰鏍囦笂涓嬫枃錛堢敱璇ュ悕縐版渶緇堝師瀛愮粍浠朵互澶栫殑鍏朵粬鎵鏈夌粍浠舵寚瀹氾級閮藉繀欏誨凡緇忓瓨鍦ㄣ?/font>
<2>Object lookup( String name )
聽聽聽 聽聽
媯绱㈡寚瀹氱殑瀵硅薄銆傚鏋?name涓虹┖錛屽垯榪斿洖姝や笂涓嬫枃鐨勪竴涓柊瀹炰緥錛堣瀹炰緥琛ㄧず涓庢涓婁笅鏂囩浉鍚岀殑鍛藉悕涓婁笅鏂囷紝浣嗗叾鐜鍙互鐙珛鍦拌繘琛屼慨鏀癸紝鑰屼笖鍙互騫跺彂璁塊棶錛夈?br />
聽聽聽 聽聽 澶栭儴璧勬簮璁塊棶瀵硅薄宸ュ巶涓殑宸ョ▼鍥?

渚?
=================灝嗕互涓嬩唬鐮佹娣誨姞鍒皊erver.xml涓殑<Host>涓?===========
<!-- configure DataSource. Add the following code into server.xml -->

<Context path="/bookstore" docBase="bookstore" debug="0"
reloadable="true" >

<!-- 鏁版嵁婧愬悕縐?-->
<Resource name="jdbc/BookDB"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 auth="Container"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 type="javax.sql.DataSource" />

<ResourceParams name="jdbc/BookDB">
聽聽聽 <parameter>
聽聽聽聽聽 <name>factory</name>
聽聽聽聽聽 <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
聽聽聽 </parameter>

聽聽聽 <!-- Maximum number of dB connections in pool. Make sure you
聽聽聽聽聽聽聽聽 configure your mysqld max_connections large enough to handle
聽聽聽聽聽聽聽聽 all of your db connections. Set to 0 for no limit.
聽聽聽聽聽聽聽聽 -->
<!-- 媧誨姩鐘舵佹渶澶ц繛鎺ユ暟 -->
聽聽聽 <parameter>
聽聽聽聽聽 <name>maxActive</name>
聽聽聽聽聽 <value>100</value>
聽聽聽 </parameter>

聽聽聽 <!-- Maximum number of idle dB connections to retain in pool.
聽聽聽聽聽聽聽聽 Set to 0 for no limit.
聽聽聽聽聽聽聽聽 -->
<!-- 絀洪棽鐘舵佹暟鎹簱榪炴帴鏈澶ф暟 -->
聽聽聽 <parameter>
聽聽聽聽聽 <name>maxIdle</name>
聽聽聽聽聽 <value>30</value>
聽聽聽 </parameter>

聽聽聽 <!-- Maximum time to wait for a dB connection to become available
聽聽聽聽聽聽聽聽 in ms, in this example 10 seconds. An Exception is thrown if
聽聽聽聽聽聽聽聽 this timeout is exceeded. Set to -1 to wait indefinitely.
聽聽聽聽聽聽聽 Maximum time to wait for a dB connection to become available
聽聽聽聽聽聽聽聽 in ms, in this example 10 seconds. An Exception is thrown if
聽聽聽聽聽聽聽聽 this timeout is exceeded. Set to -1 to wait indefinitely.
聽聽聽聽聽聽聽聽 -->
<!-- 鏁版嵁搴撳浜庣┖闂茬姸鎬佺殑鏈闀挎椂闂?-->
聽聽聽 <parameter>
聽聽聽聽聽 <name>maxWait</name>
聽聽聽聽聽 <value>10000</value>
聽聽聽 </parameter>

聽聽聽 <!-- MySQL dB username and password for dB connections -->
<!-- 鎸囧畾榪炴帴鏁版嵁搴撶殑鐢ㄦ埛鍚嶅強瀵嗙爜 -->
聽聽聽 <parameter>
聽聽聽聽 <name>username</name>
聽聽聽聽 <value>dbuser</value>
聽聽聽 </parameter>
聽聽聽 <parameter>
聽聽聽聽 <name>password</name>
聽聽聽聽 <value>1234</value>
聽聽聽 </parameter>

聽聽聽 <!-- Class name for mm.mysql JDBC driver -->
<!-- 鎸囧畾JDBC椹卞姩 -->
聽聽聽 <parameter>
聽聽聽聽聽聽 <name>driverClassName</name>
聽聽聽聽聽聽 <value>com.mysql.jdbc.Driver</value>
聽聽聽 </parameter>

聽聽聽 <!-- The JDBC connection url for connecting to your MySQL dB.
聽聽聽聽聽聽聽聽 The autoReconnect=true argument to the url makes sure that the
聽聽聽聽聽聽聽聽 mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
聽聽聽聽聽聽聽聽 connection. mysqld by default closes idle connections after 8 hours.
聽聽聽聽聽聽聽聽 -->
<!-- 鎸囧畾榪炴帴鏁版嵁搴撶殑URL -->
聽聽聽 <parameter>
聽聽聽聽聽 <name>url</name>
聽聽聽聽聽 <value>jdbc:mysql://localhost:3306/BookDB?autoReconnect=true</value>
聽聽聽 </parameter>
</ResourceParams>

</Context>
榪愯鏈哄埗錛?/span>

魛伜魛?/span> 1銆?/span> 棣栧厛紼嬪簭浠g爜鑾峰彇鍒濆鍖栫殑 JNDI 鐜騫朵笖璋冪敤 Context.lookup() 鏂規硶浠?/span> JNDI 鏈嶅姟鎻愪緵鑰呴偅閲岃幏涓涓?/span> DataSource 瀵硅薄

魛伜魛?/span> 2銆?/span> 涓棿灞?/span> JNDI 鏈嶅姟鎻愪緵鑰呰繑鍥炰竴涓?/span> DataSource 瀵硅薄緇欏綋鍓嶇殑 Java 搴旂敤紼嬪簭榪欎釜 DataSource 瀵硅薄浠h〃浜嗕腑闂村眰鏈嶅姟涓婄幇瀛樼殑緙撳啿鏁版嵁婧?span lang="EN-US">

魛伜魛兟犅?銆?/span> 搴旂敤紼嬪簭璋冪敤 DataSource 瀵硅薄鐨?/span> getConnection() 鏂規硶

魛伜魛?/span> 4銆?/span> 褰?/span> DataSource 瀵硅薄鐨?/span> getConnection() 鏂規硶琚皟鐢ㄦ椂錛屼腑闂村眰鏈嶅姟鍣ㄥ皢鏌ヨ鏁版嵁搴?/span> 榪炴帴緙撳啿姹犱腑鏈夋病鏈?/span> PooledConnection 鎺ュ彛鐨勫疄渚嬪璞°傝繖涓?/span> PooledConnection 瀵硅薄灝嗚鐢ㄤ簬涓庢暟鎹簱寤虹珛鐗╃悊涓婄殑鏁版嵁搴撹繛鎺?span lang="EN-US">

魛伜魛?/span> 5銆?/span> 濡傛灉鍦ㄧ紦鍐叉睜涓懡涓簡涓涓?/span> PooledCoonection 瀵硅薄閭d箞榪炴帴緙撳啿姹犲皢綆鍗曞湴鏇?/span> 鏂板唴閮ㄧ殑緙撳啿榪炴帴闃熷垪騫跺皢璇?/span> PooledConnection 瀵硅薄榪斿洖銆傚鏋滃湪緙撳啿姹犲唴娌?/span> 鏈夋壘鍒扮幇鎴愮殑 PooledConnection 瀵硅薄錛岄偅涔?/span> ConnectionPoolDataSource 鎺ュ彛灝嗕細琚?/span> 鐢ㄦ潵浜х敓涓涓柊鐨?/span> PooledConnection 瀵硅薄騫跺皢瀹冭繑鍥炰互渚垮簲鐢ㄧ▼搴忎嬌鐢?span lang="EN-US">

魛伜魛?/span> 6銆?/span> 涓棿灞傛湇鍔″櫒璋冪敤 PooledConnection 瀵硅薄鐨?/span> getConnection() 鏂規硶浠ヤ究榪旇繕涓涓?/span> java.sql.Connection 瀵硅薄緇欏綋鍓嶇殑 Java 搴旂敤紼嬪簭

魛伜魛?/span> 7銆?/span> 褰撲腑闂村眰鏈嶅姟鍣ㄨ皟鐢?/span> PooledConnection 瀵硅薄鐨?/span> getConnection() 鏂規硶鏃訛紝 JDBC 鏁版嵁 搴撻┍鍔ㄧ▼搴忓皢浼氬垱寤轟竴涓?/span> Connection 瀵硅薄騫朵笖鎶婂畠榪斿洖涓棿灞傛湇鍔″櫒

魛伜魛?/span> 8銆?/span> 涓棿灞傛湇鍔″櫒灝?/span> Connection 瀵硅薄榪斿洖緇欏簲鐢ㄧ▼搴?/span> Java 搴旂敤紼嬪簭錛屽彲浠ヨ涓鴻繖涓?/span> Connection 瀵硅薄鏄竴涓櫘閫氱殑 JDBC Connection 瀵硅薄浣跨敤瀹冨彲浠ュ拰鏁版嵁搴撳緩绔嬨備簨 瀹炰笂鐨勮繛鎺ヤ笌鏁版嵁搴撳紩鎿庝駭鐢熶氦浜掓搷浣?span lang="EN-US"> 銆?/p>

魛伜魛?/span> 9銆?/span> 褰撳簲鐢ㄧ▼搴忎笉闇瑕佷嬌鐢?/span> Connection 瀵硅薄鏃訛紝鍙互璋冪敤 Connection 鎺ュ彛鐨?/span> close() 鏂?/span> 娉曘?font color="#ff3300">璇鋒敞鎰忚繖縐嶆儏鍐典笅 close() 鏂規硶騫舵病鏈夊叧闂簨瀹炰笂鐨勬暟鎹簱榪炴帴錛屼粎浠呮槸閲?/span> 鏀句簡琚簲鐢ㄧ▼搴忓崰鐢ㄧ殑鏁版嵁搴撹繛鎺ワ紝騫跺皢瀹冭繕緇欐暟鎹簱榪炴帴緙撳啿姹狅紝鏁版嵁搴撹繛鎺?/span> 緙撳啿姹犱細鑷姩灝嗚繖涓暟鎹簱榪炴帴浜ょ粰璇鋒眰闃熷垪涓笅涓涓殑搴旂敤紼嬪簭浣跨敤銆?/span>



Kimi 2007-10-22 12:01 鍙戣〃璇勮
]]>
JDBC 2.0鏂扮壒鎬?錛堣漿錛?/title><link>http://m.tkk7.com/kemi/archive/2007/10/22/154930.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Mon, 22 Oct 2007 03:58:00 GMT</pubDate><guid>http://m.tkk7.com/kemi/archive/2007/10/22/154930.html</guid><wfw:comment>http://m.tkk7.com/kemi/comments/154930.html</wfw:comment><comments>http://m.tkk7.com/kemi/archive/2007/10/22/154930.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/kemi/comments/commentRss/154930.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/kemi/services/trackbacks/154930.html</trackback:ping><description><![CDATA[ <p>JDBC 2.0 API 鍖呮嫭涓や釜package:<br />銆銆1. java.sql 涓篔DBC 2.0鐨勬牳蹇冨寘錛屽叾涓寘鎷簡JDBC 1.0瑙勮寖涓瀹氱殑API鍜屾柊鐨勬牳蹇傾PI錛岃繖涓寘鍖呭惈浜嶫ava 2 Standard Edition涓?<br />銆銆2. javax.sql 涓篔DBC 2.0鐨勬爣鍑嗘墿灞曞寘錛岀浉瀵逛笌JDBC 1.0鑰岃█鏄叏鏂扮殑錛岃繖涓寘鍖呭惈浜嶫ava 2 Enterprise Edition涓?<br /><br />銆銆鈽?閲囩敤浜嗘柊鐨勬柟娉曡繛鎺ユ暟鎹簱 DataSource Interface<br />銆銆JDBC 2.0 鎻愪緵浜嗘柊鐨勬帴鍙ataSource鐢ㄦ潵瀹炵幇鏁版嵁搴撹繛鎺?鍙互鏇夸唬1.0涓彁渚涚殑DriverManager綾匯傚ソ澶勬槸:<br />銆銆鈽?澧炲己浜嗕唬鐮佺殑鍙Щ妞嶆?br />銆銆鈽?鏂逛究浜嗕唬鐮佺殑緇存姢<br />銆銆涓涓狣ataSource瀵硅薄浠h〃涓涓疄闄呯殑鏁版嵁婧愩傝繖涓暟鎹簮鍙互鏄粠鍏崇郴鏁版嵁搴撳埌琛ㄦ牸褰㈠紡鐨勬枃浠?瀹屽叏渚濊禆浜庡畠鏄庢牱瀹炵幇鐨?涓涓暟鎹簮瀵硅薄娉ㄥ唽鍒癑NDI鍚嶅瓧鏈嶅姟鍚?搴旂敤紼嬪簭灝卞彲浠ヤ粠JNDI鏈嶅姟鍣ㄤ笂鍙栧緱璇ュ璞?騫朵嬌鐢ㄤ箣鍜屾暟鎹簮寤虹珛榪炴帴. <br />銆銆鏁版嵁婧愬強濡備綍瑁呭叆鐨勪俊鎭?鍚嶅瓧,鍦板潃,绔彛絳夌瓑)浠roperties鐨勫艦寮忎繚瀛樺湪DataSource瀵硅薄涓?榪欐牱灝卞寮轟簡搴旂敤紼嬪簭鐨勫彲縐繪鎬?鍥犱負紼嬪簭涓笉闇瑕佸儚浣跨敤DriverManager閭f牱緇欏嚭紜х殑椹卞姩鍣ㄥ悕瀛?寰寰鍖呭惈浜嗙壒瀹氬巶鍟嗙殑鍚嶅瓧). 榪欑鍋氭硶榪樺寮轟簡浠g爜鐨勫彲緇存姢鎬?姣斿鏁版嵁婧愮Щ妞嶅埌鍙︿竴鍙版湇鍔″櫒涓婂悗, 鎵闇瑕佷綔鐨勫氨鏄洿鏂頒竴涓嬬浉鍏崇殑property,浣跨敤鏁版嵁婧愮殑浠g爜鏇翠笉涓嶅繀鏀瑰姩. <br />銆銆緋葷粺綆$悊鍛樻垨鑰呮湁鐩稿簲鏉冮檺鐨勪漢瀹炵幇DataSource瀵硅薄. DataSource瀵硅薄鐨勫疄鐜伴渶瑕佽緗璞$殑properties騫舵妸瀹冩敞鍐屽埌JNDI鍚嶅瓧鏈嶅姟鍣ㄤ笂, 榪欎簺媧誨姩鍙兘浼氱敤鐗瑰畾宸ュ叿鏉ュ疄鐜? 緋葷粺綆$悊鍛樼敤涓涓昏緫鍚嶅瓧瀵瑰簲DataSource瀵硅薄,榪欎釜鍚嶅瓧鍙槸鏄換鎰忕殑. 鍦ㄤ笅闈㈢殑渚嬪瓙涓璂ataSource瀵硅薄鐨勫悕瀛楁槸InventoryDB. 渚濈収浼犵粺涔犳儻, DataSource瀵硅薄鐨勫悕瀛楀寘鍚湪jdbc涓? 鎵浠ヨ繖涓暟鎹簮瀵硅薄鐨勫畬鏁村悕瀛楁槸:jdbc/InventoryDB.<br />銆銆瀹炵幇鏁版嵁婧愬璞″悗, 搴旂敤紼嬪簭鍛樺氨鍙互浣跨敤瀹冩潵寤虹珛鍜屾暟鎹簮涔嬮棿鐨勮繛鎺ヤ簡. 涓嬮潰鐨勪唬鐮佺墖鏂紨紺轟簡閫氳繃榪欑鏂瑰紡鑾峰緱榪炴帴. 涓婇潰涓よ浣跨敤浜咼NDI API鑾峰緱DataSource瀵硅薄,絎笁琛屼唬鐮佷嬌鐢↗DBC API鑾峰緱榪炴帴:<br />銆銆Context ctx = new InitialContext();<br />銆銆DataSource ds = (DataSource) ctx.lookup("jdbc/InventoryDB"):<br />銆銆Connection conn = ds.getConnection("password","username");<br />銆銆DataSource瀵硅薄涓幏寰楃殑鐨凜onnection瀵硅薄鍜岀敤DriverManager.getConnection鏂規硶鑾峰緱鐨勫璞℃槸絳夊悓鐨? 鐢變簬DataSource鏂規硶鐨勪紭鐐? 璇ユ柟娉曟垚涓鴻幏寰楄繛鎺ョ殑鎺ㄨ崘鏂規硶. 鎵鏈夊熀浜嶫DBC 2.0鐨勯┍鍔ㄥ櫒搴旇浼氬寘鍚獶ataSource鎺ュ彛鐨勫疄鐜頒互鍙妀avax.sql鍖?<br />銆銆瀵規櫘閫氱▼搴忓憳鑰岃█, DataSource瀵硅薄鏂規硶鍙槸涓縐嶉夋嫨. 濡傛灉瑕佷嬌鐢ㄨ繛鎺ョ紦鍐叉睜(Connection pooling)鎴栬呭垎甯冨紡浜ゆ崲, 鍒欏繀欏諱嬌鐢―ataSource瀵硅薄鑾峰緱榪炴帴.鍘熷洜鍦ㄤ笅鏂囦腑闃愯堪.<br />銆銆鈽?Connection Pooling<br />銆銆榪炴帴緙撳啿姹犳槸榪欐牱宸ヤ綔鐨?褰撲竴涓簲鐢ㄧ▼搴忓叧闂竴涓繛鎺ユ椂, 榪欎釜榪炴帴騫朵笉鐪熸閲婃斁鑰屾槸琚驚鐜埄鐢?鍥犱負寤虹珛榪炴帴鏄秷鑰楄緝澶х殑鎿嶄綔, 寰幆鍒╃敤榪炴帴鍙互鏄捐憲鐨勬彁楂樻ц兘,鍥犱負鍙互鍑忓皯鏂拌繛鎺ョ殑寤虹珛.<br />銆銆姣斿涓涓簲鐢ㄧ▼搴忛渶瑕佽繛鎺ヤ竴涓敱鍚嶅瓧鏄疎mployeeDB鐨凞ataSource瀵硅薄浠h〃鐨勬暟鎹簮, 閫氳繃緙撳啿姹犺幏寰楄繛鎺ョ殑浠g爜婕旂ず濡備笅:<br />銆銆Context ctx = new InitialContext();<br />銆銆DataSource ds = (DataSource) ctx.lookup("jdbc/EmloyeeDB");<br />銆銆Connection con = ds.getConnection("password","username");<br />銆銆鍥犱負榪炴帴鐨勬暟鎹簮涓嶅悓鎵浠ュ拰涓婇潰鐨勪緥瀛愪腑鐨勫悕瀛椾笉涓鏍? DataSource.getConnction鏂規硶榪斿洖鐨勮繛鎺ユ槸鍚﹁緙撳瓨瀹屽叏渚濊禆浜庤DataSource瀵硅薄鐨勫疄鐜版柟寮? 濡傛灉瀹冨皢鐢ㄤ簬鏀寔榪炴帴緙撳啿鐨勪腑闂村眰鏈嶅姟鍣?Middle Tier Server), 鍒橠ataSource瀵硅薄灝嗚嚜鍔ㄨ繑鍥炲皢琚紦瀛樸佸驚鐜埄鐢ㄧ殑榪炴帴.<br />銆銆鍩烘湰涓婁笉闇瑕佹敼鍙樹換浣曚唬鐮佸氨鍙互鑾峰緱緙撳啿姹犺繛鎺? 鍞竴闇瑕佹敞鎰忕殑灝辨槸(鎴戜滑宸茬粡榪欐牱鍋氫簡:P),闇瑕佸湪finally鍧椾腑閲婃斁榪炴帴,榪欏簲璇ユ槸閲婃斁鎵鏈夎繛鎺ョ殑杈冨ソ鏂規硶.榪欐牱, 鍗充嬌鎶涘嚭浜嗗紓甯? 榪炴帴涔熶細榪樼粰榪炴帴緙撳啿姹?<br />銆銆finally{<br />銆銆if(con != null) con.close();<br />銆銆}<br />銆銆finally鍧椾繚璇佷簡榪炴帴鐨勫驚鐜埄鐢?<br />銆銆鈽?Distributed Transactions(鍒嗗竷寮忎氦鎹?<br />銆銆鑾峰緱鐢ㄤ簬鍒嗗竷寮忎氦鎹㈢殑鎯呭艦綾諱技浜庤幏寰楃紦鍐叉睜榪炴帴. 宸埆浠嶇劧鏄疍ataSource瀵硅薄鐨勫疄鐜版柟寮? 鑰屼笉鏄幏寰楄繛鎺ョ▼搴忎唬鐮佺殑涓嶅悓.<br />銆銆鍋囧畾DataSource綾昏瀹炵幇涓虹敤浜庝腑闂翠歡鐨勫垎甯冨紡浜ゆ崲璁炬柦,涓嬮潰鐨勪唬鐮佸皢鑾峰緱鐢ㄤ簬鍒嗗竷寮忎氦鎹㈢殑榪炴帴:<br />銆銆Context ctx = new InitialContext();<br />銆銆DataSource ds = (DataSource) ctx.lookup("jdbc/EmloyeeDB");<br />銆銆Connection con = ds.getConnection("password","username");<br />銆銆鍑轟簬鎬ц兘鐨勮冭檻, 鐢ㄤ簬鑾峰緱鍒嗗竷寮忎氦鎹㈢殑榪炴帴鐨凞ataSource瀵硅薄宸笉澶氭繪槸浼氬悓鏃跺疄鐜扮紦鍐叉睜榪炴帴.<br />銆銆浠庣▼搴忓憳鐨勮搴︽潵鐪? 鑾峰緱鏅氳繛鎺ュ拰鑾峰緱鐢ㄤ簬鍒嗗竷寮忎氦鎹㈢殑榪炴帴涔嬮棿娌℃湁鍖哄埆. 鍞竴鐨勪笉鍚屾槸浜ゆ崲鐣岄檺(浠涔堟椂鍊欏紑濮?浠涔堟椂鍊欑粨鏉?鐢變氦鎹㈢鐞嗗櫒鍦ㄥ悗鍙板鐞? 搴旂敤紼嬪簭涓嶅簲璇ュ仛浠諱綍濡ㄧ浜ゆ崲綆$悊鍣ㄧ殑浜嬫儏. 鎵浠ョ▼搴忎笉鑳界洿鎺ヨ皟鐢╟ommit鎴栬卹ollback鏂規硶, 涓嶈兘璁劇疆auto-commit妯″紡.<br />銆銆涓嬮潰鍑犺浠g爜涓璫on鏄彲鐢ㄤ簬鍒嗗竷寮忎氦鎹㈢殑Connection瀵硅薄, 婕旂ず浜嗗湪con鍙備笌鍒嗗竷寮忎氦鎹㈡槸涓嶈兘浣滅殑浜嬫儏:<br />銆銆con.commit();<br />銆銆or<br />銆銆con.rollback();<br />銆銆or<br />銆銆con.setAutoCommit(true);<br />銆銆鏅氳繛鎺ラ粯璁ゆ墦寮auto-commit妯″紡. 鐢ㄤ簬鍒嗗竷寮忎氦鎹㈢殑榪炴帴瀵硅薄榛樿鍏抽棴auto-commit妯″紡. 搴旀敞鎰忕殑鏄敤浜庡垎甯冨紡浜ゆ崲鐨勮繛鎺ヤ篃鍙互鐢ㄤ簬闈炲垎甯冨紡浜ゆ崲妯″紡, 浜ゆ崲杈圭晫鐨勯檺鍒朵粎鍦ㄨ繛鎺ユ槸鍒嗗竷寮忎氦鎹竴閮ㄥ垎鏄湁鏁?<br />銆銆瀹炵幇鏀寔榪炴帴緙撳啿姹犵殑DataSource瀵硅薄,闇瑕佸疄鐜癈onnectionPoolDataSource瀵硅薄, 涓夊眰鏋勬灦鐨勪腑闂翠歡鐨勮繛鎺ョ紦鍐叉ā鍧楀皢浼氫嬌鐢ㄥ畠. 鍚屾牱, 瀹炵幇鏀寔鍒嗗竷寮忎氦鎹㈢殑DataSource瀵硅薄涔熼渶瑕佸疄鐜癤ADataSource瀵硅薄, 涓棿浠剁殑鍒嗗竷寮忎氦鎹㈡瀯浠朵細浣跨敤璇ュ璞?<br />銆銆ConnectionPoolDataSource鍜孹ADataSource瀵硅薄瀵圭▼搴忓憳鑰岃█鏄畬鍏ㄩ忔槑鐨? 搴旀湁椹卞姩紼嬪簭鍘傚晢鎻愪緵.<br />銆銆鈽?Rowsets<br />銆銆RowSet瀵硅薄鏄竴緋誨垪rows鐨勫鍣? 鏍規嵁涓嶉氱殑鐩殑,鍙互閫氳繃澶氱鏂瑰紡瀹炵幇. RowSet鎺ュ彛鍜屽叾鐩稿叧鎺ュ彛涓嶫DBC 2.0鏍囧噯鎵╁睍鐨勫叾浠栭儴鍒嗙殑宸埆鏄畠浠笉鏄┍鍔ㄧ▼搴忓疄鐜扮殑涓閮ㄥ垎. RowSet瀵硅薄鍦ㄩ┍鍔ㄧ▼搴忕殑涓婂眰瀹炵幇,鍙互琚換浣曚漢瀹炵幇.<br />銆銆浠諱綍rowset綾誨瀷閮借瀹炵幇RowSet鎺ュ彛(緇ф壙浜哛esultSet鎺ュ彛). 鎵浠owSet瀵硅薄鎷ユ湁ResultSet瀵硅薄鐨勬墍鏈夊姛鑳?鍙互鐢╣etXXX鏂規硶鍙栧?鐢╱pdateXXX鏂規硶鏇存柊, 縐誨姩娓告爣, 鎵ц鍏朵粬鐩稿叧浠誨姟.<br />銆銆褰撶劧rowset涔熸湁鍏舵柊鍔熻兘.浣滀負JavaBeans緇勪歡, RowSet瀵硅薄鎻愪緵浜嗘柟娉曠洃鍚睘鎬х殑get/set.鍏朵腑涓涓睘鎬ф槸command涓?榪欎釜灞炴у線寰鏄竴涓煡璇?RowSet鎺ュ彛鎻愪緵鍙緗甤ommand灞炴у拰鎵ц涔嬬殑鏂規硶. 榪欐剰鍛寵繖RowSet瀵硅薄鑳藉鎵ц鑷繁鐨勬绱㈠懡浠ょ敤鏌ヨ緇撴灉濉厖鑷繁鐨勫唴瀹? 鎴栬匯owSet瀵硅薄鍙互瀹炵幇鐢ㄦ潵浣跨敤浠諱綍琛ㄦ牸寮忕殑鏁版嵁婧愬~鍏呰嚜宸? 鑰屼笉鏄眬闄愪簬鍏崇郴鏁版嵁搴?<br />銆銆浠庢暟鎹簮鍙栧緱鏁版嵁鍚? RowSet瀵硅薄鍙互鏂紑浜庢暟鎹簮鐨勮繛鎺?榪欎嬌寰楄瀵硅薄寰堝皬(濡傛灉鏁版嵁閲忕壒鍒笉澶?. rowset涔熷彲浠ュ簭鍒楀寲. 鎵浠owset寰堝皬騫跺彲浠ュ簭鍒楀寲, 涓涓柇寮榪炴帴鐨剅owset鏄紶閫佹暟鎹粰鐦﹀鎴鋒満鐨勭悊鎯沖伐鍏?<br />銆銆rowset鍙互琚洿鏂?鐒跺悗閲嶆柊榪炴帴鏁版嵁婧愪互浼犻佹洿鏂扮殑鍊? 濡傛灉璁劇疆浜嗙洃鍚? 褰搑owset涓殑娓告爣琚Щ鍔ㄥ拰鍐呭鍙樺寲鏃?浼氶氱煡鐩戝惉鑰?<br />銆銆濡? 鍥懼艦鐣岄潰緇勪歡(濡傛潯鍥?鍙互琚敞鍐屼負鐩戝惉鑰?褰搑owset涓婃湁浜嬩歡鍙戠敓灝嗕細鍚屽織瀹? 瀹冨彲浠ラ噸鐢昏嚜韜弽鏄犲彉鍖?<br />銆銆RowSet鎺ュ彛鍙互鏈夊縐嶅疄鐜版柟寮? 渚濊禆浜庝綘鎯沖仛浠涔?Sun鎻愪緵浜嗗疄鐜扮殑渚嬪瓙CachedRowSet:<br />銆銆<a target="_blank">http://developer.java.sun.com/developer/earlyAccess/crs/index.html</a><br />銆銆濡傛灉鎮ㄦ兂嫻嬭瘯DataSource錛屼竴縐嶈緝涓烘柟渚跨殑鏂規硶鏄嬌鐢ㄦ敮鎸丣DBC2.0鍜孞NDI鐨凙pplication Server,濡侸run, 濡傛灉浣犲凡緇忓畨瑁呬簡Jrun錛屽垯鍙互鍒癑MC涓厤緗瓺ataSource浜嗭紝璇風湅Jrun鎵嬪唽瀛︿範浣跨敤DataSource鐨勬柟娉曘?br /></p> <img src ="http://m.tkk7.com/kemi/aggbug/154930.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/kemi/" target="_blank">Kimi</a> 2007-10-22 11:58 <a href="http://m.tkk7.com/kemi/archive/2007/10/22/154930.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍚戣揪浜哄涔犵殑TOMCAT涓嶫NDI鐨勯厤緗柟妗?--涓鑸х殑涓変釜姝ラ鐢ㄧ孩瀛楃獊鍑烘樉紺?/title><link>http://m.tkk7.com/kemi/archive/2007/10/22/154922.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Mon, 22 Oct 2007 03:32:00 GMT</pubDate><guid>http://m.tkk7.com/kemi/archive/2007/10/22/154922.html</guid><wfw:comment>http://m.tkk7.com/kemi/comments/154922.html</wfw:comment><comments>http://m.tkk7.com/kemi/archive/2007/10/22/154922.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/kemi/comments/commentRss/154922.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/kemi/services/trackbacks/154922.html</trackback:ping><description><![CDATA[ <h2> <a id="viewpost1_TitleUrl" href="/dreamstone/archive/2007/05/07/115766.html">閰嶇疆tomcat5.5 jndi 鍚勭閰嶇疆鏂瑰紡 鍒嗘瀽鎬葷粨錛坢ysql錛?/a> </h2>鍑嗗宸ヤ綔錛?br />瀹夎tomcat5.5錛堟敞鎰忚繖鐐癸級<br />瀹夎mysql<br />鎷瘋礉mysql椹卞姩鍒皌omcat_home/common/lib涓?br />鏂板緩涓涓獁eb宸ョ▼<br />鍦ㄥ伐紼嬩腑鍔犲叆index.jsp<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"><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><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.util.*,javax.naming.*,java.sql.*,javax.sql.*</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">聽</span><span style="COLOR: #000000">%></span><span style="COLOR: #000000"><br /><img src="http://m.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=BIG5</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%></span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000"><%</span><span style="COLOR: #000000">聽聽聽聽<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽Context聽ctx聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">聽InitialContext();聽聽聽聽聽聽<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽String聽strLookup聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">java:comp/env/jdbc/test</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;聽<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽DataSource聽ds聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">(DataSource)聽ctx.lookup(strLookup);<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽Connection聽con聽</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">聽ds.getConnection();<br /><img id="Codehighlighter1_337_370_Open_Image" onclick="this.style.display='none'; Codehighlighter1_337_370_Open_Text.style.display='none'; Codehighlighter1_337_370_Closed_Image.style.display='inline'; Codehighlighter1_337_370_Closed_Text.style.display='inline';" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_337_370_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_337_370_Closed_Text.style.display='none'; Codehighlighter1_337_370_Open_Image.style.display='inline'; Codehighlighter1_337_370_Open_Text.style.display='inline';" src="http://m.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />聽聽聽聽</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">聽(con聽</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">聽</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">)</span><span id="Codehighlighter1_337_370_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://m.tkk7.com/images/dot.gif" /></span><span id="Codehighlighter1_337_370_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽out.print(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">success</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img id="Codehighlighter1_375_408_Open_Image" onclick="this.style.display='none'; Codehighlighter1_375_408_Open_Text.style.display='none'; Codehighlighter1_375_408_Closed_Image.style.display='inline'; Codehighlighter1_375_408_Closed_Text.style.display='inline';" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_375_408_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_375_408_Closed_Text.style.display='none'; Codehighlighter1_375_408_Open_Image.style.display='inline'; Codehighlighter1_375_408_Open_Text.style.display='inline';" src="http://m.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />聽聽聽聽}</span></span><span style="COLOR: #0000ff">else</span><span id="Codehighlighter1_375_408_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://m.tkk7.com/images/dot.gif" /></span><span id="Codehighlighter1_375_408_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽聽聽聽out.print(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">failure</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />聽聽聽聽}</span></span><span style="COLOR: #000000">聽聽聽聽聽聽聽<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">%></span></div>web.xml涓姞鍏?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"><font style="BACKGROUND-COLOR: #ffc0cb"><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000"><</span><span style="COLOR: #000000">resource</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">ref</span><span style="COLOR: #000000">></span></font><span style="COLOR: #000000"><br /><font style="BACKGROUND-COLOR: #ffc0cb"><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽</font></span><font style="BACKGROUND-COLOR: #ffc0cb"><span style="COLOR: #000000"><</span><span style="COLOR: #000000">res</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">ref</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">name</span><span style="COLOR: #000000">></span><span style="COLOR: #000000">jdbc</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">test</span><span style="COLOR: #000000"></</span><span style="COLOR: #000000">res</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">ref</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">name</span><span style="COLOR: #000000">></span></font><span style="COLOR: #000000"><br /><font style="BACKGROUND-COLOR: #ffc0cb"><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽</font></span><font style="BACKGROUND-COLOR: #ffc0cb"><span style="COLOR: #000000"><</span><span style="COLOR: #000000">res</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">type</span><span style="COLOR: #000000">></span><span style="COLOR: #000000">javax.sql.DataSource</span><span style="COLOR: #000000"></</span><span style="COLOR: #000000">res</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">type</span><span style="COLOR: #000000">></span></font><span style="COLOR: #000000"><br /><font style="BACKGROUND-COLOR: #ffc0cb"><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽</font></span><font style="BACKGROUND-COLOR: #ffc0cb"><span style="COLOR: #000000"><</span><span style="COLOR: #000000">res</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">auth</span><span style="COLOR: #000000">></span><span style="COLOR: #000000">Container</span><span style="COLOR: #000000"></</span><span style="COLOR: #000000">res</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">auth</span><span style="COLOR: #000000">></span></font><span style="COLOR: #000000"><br /><font style="BACKGROUND-COLOR: #ffc0cb"><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽</font></span><font style="BACKGROUND-COLOR: #ffc0cb"><span style="COLOR: #000000"><</span><span style="COLOR: #000000">res</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">sharing</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">scope</span><span style="COLOR: #000000">></span><span style="COLOR: #000000">Shareable</span><span style="COLOR: #000000"></</span><span style="COLOR: #000000">res</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">sharing</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">scope</span><span style="COLOR: #000000">></span></font><span style="COLOR: #000000"><br /><font style="BACKGROUND-COLOR: #ffc0cb"><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /></font></span><font style="BACKGROUND-COLOR: #ffc0cb"><span style="COLOR: #000000"></</span><span style="COLOR: #000000">resource</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">ref</span><span style="COLOR: #000000">></span></font></div><p>閰嶇疆tomcat<br />榪欎竴姝ョ殑鐩殑灝辨槸鍛婅瘔tomcat濡備綍榪炴帴鏁版嵁搴?br />鍙互鍒嗕負涓ょ澶х殑綾誨瀷錛屾瘡縐嶇被鍨嬪張鏈夊緢澶氱閰嶇疆鏂瑰紡<br />閰嶇疆綾誨瀷涓錛?br />(鐩存帴閰嶇疆鐨勭被鍨嬶紝榪欑鏂瑰紡鏈綆鍗?</p><p>鏂規硶涓錛?br />鐩存帴鍦╰omcat_home/conf/localhost/涓嬪緩绔嬩竴涓獂ml鏂囦歡錛屾枃浠跺悕鏄?lt;yourAppName>.xml<br />渚嬪鎴戠殑宸ョ▼鍚嶅彨jndi錛屽搴旂殑鍚嶅瓧鍙玧dni.xml<br />鍐呭濡備笅:<br /></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://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000"><</span><span style="COLOR: #000000">Context</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽</span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">Resource<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽name</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">jdbc/test</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">javax.sql.DataSource</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽password</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">bb</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽driverClassName</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">com.mysql.jdbc.Driver</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽maxIdle</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽maxWait</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">50</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽username</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">root</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽url</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">jdbc:mysql://localhost:3306/test</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽maxActive</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/></span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000"></</span><span style="COLOR: #000000">Context</span><span style="COLOR: #000000">></span></div><br />鏂規硶浜岋細<br />鍙渶鍦╰omcat_home\webapps\myapps\META-INF\context.xml涓鍔?<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"><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000"><</span><span style="COLOR: #000000">context</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">Resource<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽name</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">jdbc/test</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">javax.sql.DataSource</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽password</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">bb</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽driverClassName</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">com.mysql.jdbc.Driver</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽maxIdle</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽maxWait</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">50</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽username</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">root</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽url</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">jdbc:mysql://localhost:3306/test</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽maxActive</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/></span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000"></</span><span style="COLOR: #000000">context</span><span style="COLOR: #000000">></span></div><p><br />璇存槑錛氳繖縐嶉厤緗渶瑕佸憡璇塼omcat resource鐨勫唴瀹癸紝resource搴旂敤浜庝粈涔堝湴鏂?br />絎竴縐嶆柟娉曢氳繃鏂囦歡鍚嶇煡閬撲簡app鐨刵ame<br />絎簩縐嶆柟寮忔湰韜氨鍦╝pp鍐呴儴錛屾墍浠ame鑲畾鐭ラ亾<br />涓ょ鏂瑰紡閮借鏀懼湪context涓?/p><p>閰嶇疆綾誨瀷浜岋細<br />(閰嶇疆鍏ㄥ眬resource錛岀劧鍚庨氳繃resourcelink鏉ユ槧灝?</p><p>姝ラ涓錛氶厤緗叏灞resource錛堣繖涓姝ュ浜庢墍鏈夌殑閰嶇疆閮芥槸涓鏍風殑錛?br />鎵撳紑tomcat_home/conf/server.xml鍔犲叆</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://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000"><font style="BACKGROUND-COLOR: #ffc0cb"><</font></span><font style="BACKGROUND-COLOR: #ffc0cb"><span style="COLOR: #000000">Resource<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽name</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">jdbc/test</span><span style="COLOR: #000000">"</span></font><span style="COLOR: #000000"><br /><font style="BACKGROUND-COLOR: #ffc0cb"><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽type</font></span><font style="BACKGROUND-COLOR: #ffc0cb"><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">javax.sql.DataSource</span><span style="COLOR: #000000">"</span></font><span style="COLOR: #000000"><br /><font style="BACKGROUND-COLOR: #ffc0cb"><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽password</font></span><font style="BACKGROUND-COLOR: #ffc0cb"><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">bb</span><span style="COLOR: #000000">"</span></font><span style="COLOR: #000000"><br /><font style="BACKGROUND-COLOR: #ffc0cb"><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽driverClassName</font></span><font style="BACKGROUND-COLOR: #ffc0cb"><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">com.mysql.jdbc.Driver</span><span style="COLOR: #000000">"</span></font><span style="COLOR: #000000"><br /><font style="BACKGROUND-COLOR: #ffc0cb"><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽maxIdle</font></span><font style="BACKGROUND-COLOR: #ffc0cb"><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">"</span></font><span style="COLOR: #000000"><br /><font style="BACKGROUND-COLOR: #ffc0cb"><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽maxWait</font></span><font style="BACKGROUND-COLOR: #ffc0cb"><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">50</span><span style="COLOR: #000000">"</span></font><span style="COLOR: #000000"><br /><font style="BACKGROUND-COLOR: #ffc0cb"><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽username</font></span><font style="BACKGROUND-COLOR: #ffc0cb"><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">root</span><span style="COLOR: #000000">"</span></font><span style="COLOR: #000000"><br /><font style="BACKGROUND-COLOR: #ffc0cb"><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽url</font></span><font style="BACKGROUND-COLOR: #ffc0cb"><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">jdbc:mysql://localhost:3306/test</span><span style="COLOR: #000000">"</span></font><span style="COLOR: #000000"><br /><font style="BACKGROUND-COLOR: #ffc0cb"><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽maxActive</font></span><font style="BACKGROUND-COLOR: #ffc0cb"><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/></span></font></div><p><br />姝ラ浜岋細鏄犲皠<br />(鏄犲皠鍙互閰嶇疆鍦ㄥ涓湴鏂癸紝涔熷氨鏈夊涓厤緗柟娉曪細)</p><p>鏂規硶涓錛氾紙瀵規瘮綾誨瀷涓鐨勯厤緗悊瑙o級<br />鐩存帴鍦╰omcat_home/conf/localhost/涓嬪緩绔嬩竴涓獂ml鏂囦歡錛屾枃浠跺悕鏄?lt;yourAppName>.xml<br />渚嬪鎴戠殑宸ョ▼鍚嶅彨jndi錛屽搴旂殑鍚嶅瓧鍙玧dni.xml鍔犲叆濡備笅鍐呭<br /></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://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000"><</span><span style="COLOR: #000000">Context</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">ResourceLink聽global</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">jdbc/test</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">聽name</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">jdbc/test</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">聽type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">javax.sql.DataSource</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/></span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000"></</span><span style="COLOR: #000000">Context</span><span style="COLOR: #000000">></span></div><br />鏂規硶浜岋細錛堝姣旂被鍨嬩竴鐨勯厤緗悊瑙o級<br />鍦╰omcat_home\webapps\myapps\META-INF\context.xml鐨凜ontext涓鍔?<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"><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000"><</span><span style="COLOR: #000000">context</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"><br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">ResourceLink聽global</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">jdbc/test</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">聽name</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">jdbc/test</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">聽type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">javax.sql.DataSource</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/></span><span style="COLOR: #000000">聽<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000"></</span><span style="COLOR: #000000">context</span><span style="COLOR: #000000">></span></div><p><br />鏂規硶涓夛細(涓婅竟涓ょ鏂規硶閮芥槸鎶婂叏灞鐨剅esource 鏄犲皠緇檍ndi榪欎釜web搴旂敤錛岀涓夌鏂規硶灝辨槸鎶婅繖涓?br />鍏ㄥ眬鐨剅esource鐩存帴鍏紑緇欐墍鏈夌殑搴旂敤)<br />鍦╰omcat_home/conf/context.xml鐨?lt;Context></context>涔嬮棿鍔犲叆<br /><font style="BACKGROUND-COLOR: #ffc0cb"><ResourceLink global="jdbc/test" name="jdbc/test" type="javax.sql.DataSource"/><br /></font><br />榪愯嫻嬭瘯錛?br />鎵撳紑ie錛岃緭鍏?a href="http://localhost:8080/jndi/index.jsp">http://localhost:8080/jndi/index.jsp</a><br />鐪嬪埌success</p><p>甯歌閿欒錛?br />1錛孨ame jdbc is not bound in this Context<br />2錛孋annot create JDBC driver of class '' for connect URL 'null' conf localhost<br />鍘熷洜錛?br />澶у鏁版槸鍥犱負閰嶇疆浜嗗叏灞鐨剅esource錛屼絾娌℃湁link閫犳垚鐨勩?br />瑙e喅錛?br />鍔犲叆link灝辮浜嗭紝link鐨勬柟寮忚綾誨瀷浜岀殑涓夌鏂規硶銆?/p><p>鍒嗘瀽錛?br />鐪嬪埌涓婅竟榪欎箞澶氭柟娉曪紝鏄惁鎰熻鐪艱姳緙貢錛屽叾瀹炰笉瑕佹璁伴厤緗紝鎸夌収鍘熺悊鍒嗘瀽涓涓嬪氨濂戒簡銆?br />浣犻渶瑕佺殑鏄憡璇塼omcat鍝釜搴旂敤濡備綍榪炴帴鏁版嵁搴撱?/p><p>綾誨瀷涓鐨勬柟寮忓搴斾竴涓簲鐢ㄥ崟鐙嬌鐢ㄨ繖涓厤緗殑鎯呭喌<br />灝辨槸鐩存帴鍛婅瘔tomcat"搴旂敤鍚?聽 "榪炴帴鏁版嵁搴撻渶瑕佺殑鍙傛暟"</p><p>綾誨瀷浜岀殑鏂瑰紡瀵瑰簲澶氫釜搴旂敤鍏變韓涓涓厤緗殑鎯呭喌<br />榪欐牱鍏堥厤緗畇erver.xml鍛婅瘔tomcat鍏ㄥ眬鑼冨洿鐨?榪炴帴鏁版嵁搴撻渶瑕佺殑鍙傛暟"<br />鐒跺悗鏄犲皠錛屾槧灝勭殑鏃跺?br />1,濡傛灉涓嶇煡閬?app name(搴旂敤鍚?"灝卞彧闇瑕侀氳繃鏂囦歡鍚嶆潵浼犻掕繖涓俊鎭?br />2,濡傛灉"app name"閮界煡閬撳氨鍙渶瑕佸姞鍏ユ槧灝勭殑鍐呭<br />3,濡傛灉瑕侀厤緗垚鍏ㄥ眬鍏敤鐨勶紝灝變笉闇瑕?app name"錛屾湰韜斁鍦╰omcat鐨刢ontext.xml涓?/p><p>鏈鍚庡啀嬈℃彁閱掍竴涓嬶細鎵鏈夌殑閰嶇疆蹇呴』鏀懼湪<context></context>涔嬮棿</p><img src ="http://m.tkk7.com/kemi/aggbug/154922.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/kemi/" target="_blank">Kimi</a> 2007-10-22 11:32 <a href="http://m.tkk7.com/kemi/archive/2007/10/22/154922.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鎸佷箙鎬цВ鍐蟲柟妗?Hibernate鍘熺悊鍜屽叆闂ㄨ寖渚?/title><link>http://m.tkk7.com/kemi/archive/2007/08/30/141218.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Thu, 30 Aug 2007 02:45:00 GMT</pubDate><guid>http://m.tkk7.com/kemi/archive/2007/08/30/141218.html</guid><wfw:comment>http://m.tkk7.com/kemi/comments/141218.html</wfw:comment><comments>http://m.tkk7.com/kemi/archive/2007/08/30/141218.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/kemi/comments/commentRss/141218.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/kemi/services/trackbacks/141218.html</trackback:ping><description><![CDATA[ <div class="1t5v11n" id="art_title">Hibernate 鐨勫師鐞嗕笌閰嶇疆</div> <div class="hhrjjbl" id="art_center">聽</div> <div class="nvjhrxt" id="art_line"> <img height="1" src="http://www.it.com.cn/0.gif" /> </div> <div class="ldn77j7" id="art_center"> <span id="ad_zl"> </span> </div> <div id="fd11bhj" class="text1" id="art_text"> <p>銆銆涔熻浣犲惉璇磋繃Hibernate鐨勫ぇ鍚嶏紝浣嗗彲鑳戒竴鐩翠笉浜嗚В瀹冿紝涔熻浣犱竴鐩存復鏈涗嬌鐢ㄥ畠榪涜寮鍙戯紝閭d箞鏈枃姝f槸浣犳墍闇瑕佺殑錛佸湪鏈枃涓紝鎴戝悜澶у閲嶇偣浠嬬粛Hibernate鐨勬牳蹇傾PI璋冪敤搴擄紝騫惰瑙d竴涓嬪畠鐨勫熀鏈厤緗?<br /><br />銆銆鐪嬪畬鏈枃鍚庯紝鎴戠浉淇′綘瀵逛粈涔堟槸ORM錛堝鍍?鍏崇郴鏄犲皠錛変互鍙婂畠鐨勪紭鐐逛細鏈変竴涓繁鍒葷殑璁よ瘑錛屾垜浠厛閫氳繃涓涓畝鍗曠殑渚嬪瓙寮濮嬫潵灞曠幇瀹冪殑濞佸姏銆?<br /><br />銆銆姝e涓浜涗紶緇熺殑緇忓吀璁$畻鏈烘枃绔犲ぇ閮戒細閫氳繃涓涓渉ello,world鈥濈殑渚嬪瓙寮濮嬭瑙d竴鏍鳳紝鎴戜滑涔熶笉渚嬪錛屾垜浠篃灝嗕粠涓涓浉瀵圭畝鍗曠殑渚嬪瓙鏉ラ槓榪癏ibernate鐨勫紑鍙戞柟娉曪紝浣嗗鏋滆鐪熸闃愯堪Hibernate鐨勪竴浜涢噸瑕佹濇兂錛屼粎浠呴潬鍦ㄥ睆騫曚笂鎵撳嵃涓浜涘瓧絎︽槸榪滆繙涓嶅鐨勶紝鍦ㄦ垜浠殑紺轟緥紼嬪簭涓紝鎴戜滑灝嗗垱寤轟竴浜涘璞★紝騫跺皢鍏朵繚瀛樺湪鏁版嵁搴撲腑錛岀劧鍚庡瀹冧滑榪涜鏇存柊鍜屾煡璇€?<br /><br /><strong>銆銆闃呰瀵艱埅</strong></p> <p>銆銆鈥淗ello World鈥濃淗ello world鈥濈ず渚嬬▼搴忚鎮ㄥHibernate鏈変竴涓畝鍗曠殑璁よ瘑銆?<br />銆銆鐞嗚ВHibernate鐨勬灦鏋勪粙緇岺ibernate鎺ュ彛鐨勪富瑕佸姛鑳姐?<br />銆銆鏍稿績鎺ュ彛Hibernate鏈?涓牳蹇冩帴鍙o紝閫氳繃榪欏嚑涓帴鍙e紑鍙戜漢鍛樺彲浠ュ瓨鍌ㄥ拰鑾峰緱鎸佷箙瀵硅薄錛屽茍涓旇兘澶熻繘琛屼簨鍔℃帶鍒?<br />銆銆涓涓噸瑕佺殑鏈錛歍ypeType鏄疕ibernate鍙戞槑鑰呭彂鏄庣殑涓涓湳璇紝瀹冨湪鏁翠釜鏋勬灦涓槸涓涓潪甯稿熀紜銆佹湁鐫寮哄ぇ鍔熻兘鐨勫厓绱狅紝涓涓猅ype瀵硅薄鑳藉皢涓涓狫ava綾誨瀷鏄犲皠鍒版暟鎹簱涓竴涓〃鐨勫瓧孌典腑鍘匯?<br />銆銆絳栫暐鎺ュ彛Hibernate涓庢煇浜涘叾瀹冨紑婧愯蔣浠朵笉鍚岀殑榪樻湁涓鐐光曗曢珮搴︾殑鍙墿灞曟э紝榪欓氳繃瀹冪殑鍐呯疆絳栫暐鏈哄埗鏉ュ疄鐜般?<br />銆銆鍩虹閰嶇疆Hibernate鍙互閰嶇疆鎴愬彲鍦ㄤ換浣旿ava鐜涓繍琛岋紝涓鑸鏉ワ紝瀹冮氬父琚敤鍦?錛?灞傜殑C/S妯″紡鐨勯」鐩腑錛屽茍琚儴緗插湪鏈嶅姟绔?<br />銆銆鍒涘緩涓涓猄essionFactory瀵硅薄瑕佸垱寤轟竴涓猄essionFactory瀵硅薄錛屽繀欏誨湪Hibernate鍒濆鍖栨椂鍒涘緩涓涓狢onfiguration綾葷殑瀹炰緥錛屽茍灝嗗凡鍐欏ソ鐨勬槧灝勬枃浠朵氦鐢卞畠澶勭悊銆?<br /><br /><strong>銆銆鈥淗ello World鈥?<br /></strong><br />銆銆Hibernate搴旂敤紼嬪簭瀹氫箟浜嗕竴浜涙寔涔呯被錛屽茍涓斿畾涔変簡榪欎簺綾諱笌鏁版嵁搴撹〃鏍肩殑鏄犲皠鍏崇郴銆傚湪鎴戜滑榪欎釜鈥淗ello world鈥濈ず渚嬬▼搴忎腑鍖呭惈浜嗕竴涓被鍜屼竴涓槧灝勬枃浠躲傝鎴戜滑鐪嬬湅榪欎釜綆鍗曠殑鎸佷箙綾誨寘鍚湁涓浜涗粈涔堬紵鏄犲皠鏂囦歡鏄庢牱瀹氫箟鐨勶紵鍙﹀錛屾垜浠鎬庢牱鐢℉ibernate鏉ユ搷浣滆繖涓寔涔呯被銆?<br /><br />銆銆鎴戜滑榪欎釜綆鍗曠ず渚嬬▼搴忕殑鐩殑鏄皢涓浜涙寔涔呯被瀛樺偍鍦ㄦ暟鎹簱涓紝鐒跺悗浠庢暟鎹簱鍙栧嚭鏉ワ紝騫跺皢鍏朵俊鎭鏂囨樉紺虹粰鐢ㄦ埛銆傚叾涓璏essage姝f槸涓涓畝鍗曠殑鎸佷箙綾伙細錛屽畠鍖呭惈鎴戜滑瑕佹樉紺虹殑淇℃伅錛屽叾婧愪唬鐮佸涓嬶細 <br /><br />銆銆鍒楄〃1銆Message.Java銆涓涓畝鍗曠殑鎸佷箙綾?<br /><br />銆銆package hello; <br />銆銆public class Message { <br />銆銆private Long id; <br />銆銆private String text; <br />銆銆private Message nextMessage; <br />銆銆private Message() {} <br />銆銆public Message(String text) { <br />銆銆this.text = text; <br />銆銆} <br />銆銆public Long getId() { <br />銆銆return id; <br />銆銆} <br />銆銆private void setId(Long id) { <br />銆銆this.id = id; <br />銆銆} <br />銆銆public String getText() { <br />銆銆return text; <br />銆銆} <br />銆銆public void setText(String text) { <br />銆銆this.text = text; <br />銆銆} <br />銆銆public Message getNextMessage() { <br />銆銆return nextMessage; <br />銆銆} <br />銆銆public void setNextMessage(Message nextMessage) { <br />銆銆this.nextMessage = nextMessage; <br />銆銆} <br />銆銆} <br /><br />銆銆Message綾繪湁涓変釜灞炴э細Message鐨刬d 銆佹秷鎭鏂囥佷互鍙婁竴涓寚鍚戜笅涓鏉℃秷鎭殑鎸囬拡銆傚叾涓璱d灞炴ц鎴戜滑鐨勫簲鐢ㄧ▼搴忚兘澶熷敮涓鐨勮瘑鍒繖鏉℃秷鎭紝閫氬父瀹冪瓑鍚屼簬鏁版嵁搴撲腑鐨勪富閿紝濡傛灉澶氫釜Message綾葷殑瀹炰緥瀵硅薄鎷ユ湁鐩稿悓鐨刬d錛岄偅瀹冧滑浠h〃鏁版嵁搴撴煇涓〃鐨勫悓涓涓褰曘傚湪榪欓噷鎴戜滑閫夋嫨浜嗛暱鏁村瀷浣滀負鎴戜滑鐨刬d鍊鹼紝浣嗚繖涓嶆槸蹇呴渶鐨勩侶ibernate鍏佽鎴戜滑浣跨敤浠繪剰鐨勭被鍨嬫潵浣滀負瀵硅薄鐨刬d鍊鹼紝鍦ㄥ悗闈㈡垜浠細瀵規浣滆緇嗘弿榪般?<br /><br />銆銆浣犲彲鑳芥敞鎰忓埌Message綾葷殑浠g爜綾諱技浜嶫avaBean鐨勪唬鐮侀鏍鹼紝騫朵笖瀹冩湁涓涓病鏈夊弬鏁扮殑鏋勯犲嚱鏁幫紝鍦ㄦ垜浠互鍚庣殑浠g爜涓垜灝嗙戶緇嬌鐢ㄨ繖縐嶉鏍兼潵緙栧啓鎸佷箙綾葷殑浠g爜銆?<br /><br />銆銆Hibernate浼氳嚜鍔ㄧ鐞哅essage綾葷殑瀹炰緥錛屽茍閫氳繃鍐呴儴鏈哄埗浣垮叾鎸佷箙鍖栵紝浣嗗疄闄呬笂Message瀵硅薄騫舵病鏈夊疄鐜頒換浣曞叧浜嶩ibernate鐨勭被鎴栨帴鍙o紝鍥犳鎴戜滑涔熷彲浠ュ皢瀹冧綔涓轟竴涓櫘閫氱殑Java綾繪潵浣跨敤錛?<br /><br />銆銆Message message = new Message("Hello World"); <br />銆銆System.out.println( message.getText() ); <br /><br />銆銆浠ヤ笂榪欐浠g爜姝f槸鎴戜滑鎵鏈熸湜鐨勭粨鏋滐細瀹冩墦鍗扳渉ello world鈥濆埌灞忓箷涓娿備絾榪欏茍涓嶆槸鎴戜滑鐨勬渶緇堢洰鏍囷紱瀹為檯涓奌ibernate涓庤濡侲JB瀹瑰櫒榪欐牱鐨勭幆澧冨湪鎸佷箙灞傚疄鐜扮殑鏂瑰紡涓婃湁寰堝ぇ鐨勪笉鍚屻傛垜浠殑鎸佷箙綾?Message綾?鍙互鐢ㄥ湪涓庡鍣ㄦ棤鍏崇殑鐜涓紝涓嶅儚EJB蹇呴』瑕佹湁EJB瀹瑰櫒鎵嶈兘鎵ц銆備負浜嗚兘鏇存竻妤氬湴琛ㄧ幇榪欑偣錛屼互涓嬩唬鐮佸皢鎴戜滑鐨勪竴涓柊娑堟伅淇濆瓨鍒版暟鎹簱涓幓錛?<br /><br />銆銆Session session = getSessionFactory().openSession(); <br />銆銆Transaction tx = session.beginTransaction(); <br />銆銆Message message = new Message("Hello World"); <br />銆銆session.save(message); <br />銆銆tx.commit(); <br />銆銆session.close(); <br /><br />銆銆浠ヤ笂榪欐浠g爜璋冪敤浜咹ibernate鐨凷ession鍜孴ransaction鎺ュ彛錛堝叧浜巊etSessionFactory()鏂規硶鎴戜滑灝嗕細椹笂鎻愬埌錛夈傚畠鐩稿綋浜庢垜浠墽琛屼簡浠ヤ笅SQL璇彞錛?<br /><br />銆銆insert into MESSAGES (MESSAGE_ID, MESSAGE_TEXT, NEXT_MESSAGE_ID) <br />銆銆values (1, 'Hello World', null) <br /><br />銆銆鍦ㄤ互涓婄殑SQL璇彞涓紝MESSAGE_ID瀛楁鍒板簳琚垵濮嬪寲鎴愪簡浠涔堝煎憿錛熺敱浜庢垜浠茍娌℃湁鍦ㄥ厛鍓嶇殑浠g爜涓負message瀵硅薄鐨刬d灞炴ц祴涓庡垵濮嬪鹼紝閭e畠鏄惁涓簄ull鍛紵瀹為檯涓奌ibernate瀵筰d灞炴т綔浜嗙壒孌婂鐞嗭細鐢變簬瀹冩槸涓涓璞$殑鍞竴鏍囪瘑錛屽洜姝ゅ綋鎴戜滑榪涜save()璋冪敤鏃訛紝Hibernate浼氫負瀹冭嚜鍔ㄨ祴浜堜竴涓敮涓鐨勫鹼紙鎴戜滑灝嗗湪鍚庨潰鍐呭涓榪板畠鏄浣曠敓鎴愯繖涓肩殑錛夈?<br /><br />銆銆鎴戜滑鍋囪浣犲凡緇忓湪鏁版嵁搴撲腑鍒涘緩浜嗕竴涓悕涓篗ESSAGE鐨勮〃錛岄偅涔堟棦鐒跺墠闈㈣繖孌典唬鐮佽鎴戜滑灝哅essage瀵硅薄瀛樺叆浜嗘暟鎹簱涓紝閭d箞鐜板湪鎴戜滑灝辮灝嗗畠浠竴涓鍙栧嚭鏉ャ備笅闈㈣繖孌典唬鐮佸皢鎸夌収瀛楁瘝欏哄簭錛屽皢鏁版嵁搴撲腑鐨勬墍鏈塎essage瀵硅薄鍙栧嚭鏉ワ紝騫跺皢瀹冧滑鐨勬秷鎭鏂囨墦鍗板埌灞忓箷涓婏細 <br /><br />銆銆Session newSession = getSessionFactory().openSession(); <br />銆銆Transaction newTransaction = newSession.beginTransaction(); <br />銆銆List messages =newSession.find("from Message as m order by m.text asc"); <br />銆銆System.out.println( messages.size() + " message(s) found:" ); <br />銆銆for ( Iterator iter = messages.iterator(); iter.hasNext(); ) { <br />銆銆Message message = (Message) iter.next(); <br />銆銆System.out.println( message.getText() ); <br />銆銆} <br />銆銆newTransaction.commit(); <br />銆銆newSession.close(); <br /><br />銆銆鍦ㄤ互涓婅繖孌典唬鐮佷腑錛屼綘鍙兘琚玣ind()鏂規硶鐨勮繖涓弬鏁板洶鎵扮潃錛?from Message as m order by m.text asc"錛屽叾瀹炲畠鏄疕ibernate鑷繁瀹氫箟鐨勬煡璇㈣璦錛屽叏縐板彨Hibernate Query Language(HQL)銆傞氫織鍦拌HQL涓嶴QL鐨勫叧緋誨樊涓嶅灝辨槸鏂硅█涓庢櫘閫氳瘽涔嬮棿鐨勫叧緋伙紝鍜嬩竴鐪嬶紝浣犱細瑙夊緱瀹冩湁鐐圭被浼間簬SQL璇彞銆傚叾瀹炲湪find()璋冪敤鏃訛紝Hibernate浼氬皢榪欐HQL璇█緲昏瘧鎴愬涓嬬殑SQL璇彞錛?<br /><br />銆銆select m.MESSAGE_ID, m.MESSAGE_TEXT, m.NEXT_MESSAGE_ID <br />銆銆from MESSAGES m <br />銆銆order by m.MESSAGE_TEXT asc <br /><br />銆銆浠ヤ笅灝辨槸榪愯緇撴灉錛?<br /><br />銆銆1 message(s) found: <br />銆銆Hello World <br /><br />銆銆濡傛灉浣犱互鍓嶆病鏈塐RM錛堝璞★紞鍏崇郴鏄犲皠錛夌殑寮鍙戠粡楠岋紝閭d綘鍙兘鎯沖湪浠g爜鐨勬煇涓湴鏂瑰幓瀵繪壘榪欐SQL璇彞錛屼絾鍦℉ibernate涓綘鍙兘浼氬け鏈涳細瀹冩牴鏈笉瀛樺湪錛佹墍鏈夊氨SQL璇彞閮芥槸Hibernate鍔ㄦ佺敓鎴愮殑銆?<br /><br />銆銆涔熻浣犱細瑙夊緱榪樼己鐐逛粈涔堬紝瀵癸紒浠呭嚟浠ヤ笂浠g爜Hibernate鏄棤娉曞皢鎴戜滑鐨凪essage綾繪寔涔呭寲鐨勩傛垜浠繕闇瑕佷竴浜涙洿澶氱殑淇℃伅錛岃繖灝辨槸鏄犲皠瀹氫箟琛紒榪欎釜琛ㄥ湪Hibernate涓槸浠ML鏍煎紡鏉ヤ綋鐜扮殑錛屽畠瀹氫箟浜哅essage綾葷殑灞炴ф槸鎬庢牱涓庢暟鎹簱涓殑MESSAGES琛ㄧ殑瀛楁榪涜涓涓瀵瑰簲鐨勶紝鍒楄〃2鏄繖涓ず渚嬬▼搴忕殑鏄犲皠閰嶇疆鏂囦歡娓呭崟錛?<br /><br />銆銆鍒楄〃2錛氱ず渚嬬▼搴忕殑瀵硅薄錛嶅叧緋繪槧灝勮〃 <br /><br />銆銆錛?xml version="1.0"?錛?<br />銆銆錛?DOCTYPE hibernate-mapping PUBLIC <br />銆銆"-//Hibernate/Hibernate Mapping DTD//EN" <br />銆銆"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"錛?<br />銆銆錛渉ibernate-mapping錛?<br />銆銆錛渃lass name="hello.Message" table="MESSAGES"錛?<br />銆銆錛渋d name="id" column="MESSAGE_ID"錛?<br />銆銆錛済enerator class="increment"/錛?<br />銆銆錛?id錛?<br />銆銆錛減roperty name="text" column="MESSAGE_TEXT"/錛?<br />銆銆錛渕any-to-one name="nextMessage" cascade="all" column="NEXT_MESSAGE_ID"/錛?<br />銆銆錛?class錛?<br />銆銆錛?hibernate-mapping錛?<br /><br />銆銆浠ヤ笂榪欎釜鏂囨。鍛婅瘔Hibernate鎬庢牱灝哅essage綾繪槧灝勫埌MESSAGES琛ㄤ腑錛屽叾涓璏essage綾葷殑id灞炴т笌琛ㄧ殑MESSAGE_ID瀛楁瀵瑰簲錛宼ext灞炴т笌琛ㄧ殑MESSAGE_TEXT瀛楁瀵瑰簲錛宯extMessage灞炴ф槸涓涓瀵逛竴鐨勫叧緋伙紝瀹冧笌琛ㄤ腑鐨凬EXT_MESSAGE_ID鐩稿搴斻?<br /><br />銆銆鐩稿浜庢湁浜涘紑婧愰」鐩潵璇達紝Hibernate鐨勯厤緗枃浠跺叾瀹炴槸寰堝鏄撶悊瑙g殑銆備綘鍙互杞繪澗鍦頒慨鏀逛笌緇存姢瀹冦傚彧瑕佷綘瀹氫箟濂戒簡鎸佷箙綾諱笌鏁版嵁搴撲腑琛ㄥ瓧孌電殑瀵瑰簲鍏崇郴灝辮浜嗭紝Hibernate浼氳嚜鍔ㄥ府浣犵敓鎴怱QL璇彞鏉ュMessage瀵硅薄榪涜鎻掑叆銆佹洿鏂般佸垹闄ゃ佹煡鎵懼伐浣滐紝浣犲彲浠ヤ笉鍐欎竴鍙QL璇彞錛岀敋鑷充笉闇瑕佹噦寰桽QL璇█錛?<br /><br />銆銆鐜板湪璁╂垜浠仛涓涓柊鐨勮瘯楠岋紝鎴戜滑鍏堝彇鍑虹涓涓狹essage瀵硅薄錛岀劧鍚庝慨鏀瑰畠鐨勬秷鎭鏂囷紝鏈鍚庢垜浠啀鐢熸垚涓涓柊鐨凪essage瀵硅薄錛屽茍灝嗗畠浣滀負絎竴涓狹essage瀵硅薄鐨勪笅涓鏉℃秷鎭紝鍏朵唬鐮佸涓嬶細 <br /><br />銆銆鍒楄〃3銆鏇存柊涓鏉℃秷鎭?<br /><br />銆銆Session session = getSessionFactory().openSession(); <br />銆銆Transaction tx = session.beginTransaction(); <br />銆銆// 1 is the generated id of the first message <br />銆銆Message message =(Message) session.load( Message.class, new Long(1) ); <br />銆銆message.setText("Greetings Earthling"); <br />銆銆Message nextMessage = new Message("Take me to your leader (please)"); <br />銆銆message.setNextMessage( nextMessage ); <br />銆銆tx.commit(); <br />銆銆session.close(); <br /><br />銆銆浠ヤ笂榪欐浠g爜鍦ㄨ皟鐢ㄦ椂錛孒ibernate鍐呴儴鑷姩鐢熸垚濡備笅鐨凷QL璇彞錛?<br /><br />銆銆select m.MESSAGE_ID, m.MESSAGE_TEXT, m.NEXT_MESSAGE_ID <br />銆銆from MESSAGES m <br />銆銆where m.MESSAGE_ID = 1 <br /><br />銆銆insert into MESSAGES (MESSAGE_ID, MESSAGE_TEXT, NEXT_MESSAGE_ID) <br />銆銆values (2, 'Take me to your leader (please)', null) <br /><br />銆銆update MESSAGES <br />銆銆set MESSAGE_TEXT = 'Greetings Earthling', NEXT_MESSAGE_ID = 2 <br />銆銆where MESSAGE_ID = 1 <br /><br />銆銆褰撶涓涓狹essage瀵硅薄鐨則ext灞炴у拰nextMessage琚▼搴忎慨鏀規椂錛岃娉ㄦ剰Hibernate鏄浣曟嫻嬪埌榪欑鍙樺寲錛屽茍濡備綍鍦ㄦ暟鎹簱涓嚜鍔ㄥ瀹冩洿鏂扮殑銆傝繖瀹為檯涓婃槸Hibernate鐨勪竴涓緢鏈変環鍊肩殑鐗硅壊錛屾垜浠妸瀹冪О涓衡滆嚜鍔ㄨ剰鏁版嵁媯嫻嬧濓紝Hibernate鐨勮繖涓壒鑹蹭嬌寰楀綋鎴戜滑淇敼涓涓寔涔呭璞$殑灞炴у悗錛屼笉蹇呮樉寮忓湴閫氱煡Hibernate鍘誨皢瀹冨湪鏁版嵁搴撲腑榪涜鏇存柊銆傚悓鏍風殑錛屽綋絎竴涓狹essage瀵硅薄璋冪敤setNextMessage()鏂規硶灝嗙浜屼釜Message瀵硅薄浣滀負瀹冪殑涓嬩竴鏉℃秷鎭殑寮曠敤鏃訛紝絎簩鏉℃秷鎭細鏃犻渶璋冪敤save()鏂規硶錛屼究鍙互鑷姩鍦頒繚瀛樺湪鏁版嵁搴撲腑銆傝繖縐嶇壒鑹茶縐頒負鈥滅駭鑱斾繚瀛樷濓紝瀹冧篃鍏嶅幓浜嗘垜浠樉寮忓湴瀵圭浜屼釜Message瀵硅薄璋冪敤save()鏂規硶涔嬭嫤銆?<br /><br />銆銆濡傛灉鎴戜滑鍐嶈繍琛屽厛鍓嶇殑閭f灝嗘暟鎹簱涓墍鏈夌殑Message瀵硅薄閮芥墦鍗板嚭鏉ョ殑浠g爜錛岄偅瀹冪殑榪愯緇撴灉濡備笅錛?<br /><br />銆銆2 message(s) found: <br />銆銆Greetings Earthling <br />銆銆Take me to your leader (please) <br /><br /><br />銆銆鈥淗ello world鈥濈ず渚嬬▼搴忕幇鍦ㄤ粙緇嶅畬姣曘傛垜浠葷畻瀵笻ibernate鏈変簡涓涓畝鍗曠殑璁よ瘑錛屼笅闈㈡垜浠皢鍥炶繃澶存潵錛屽Hibernate鐨勪富瑕丄PI璋冪敤浣滀竴涓嬬畝瑕佺殑浠嬬粛錛?<br />銆銆 <br /><br />銆<strong>銆鐞嗚ВHibernate鐨勬灦鏋?/strong><br /><br />銆銆褰撲綘鎯崇敤Hibernate寮鍙戣嚜宸辯殑鍩轟簬鎸佷箙灞傜殑搴旂敤鏃訛紝絎竴浠朵簨鎯呭簲褰撴槸鐔熸倝瀹冪殑緙栫▼鎺ュ彛銆侶ibernate鐨凙PI鎺ュ彛璁捐寰楀敖閲忕畝媧佹槑浜嗭紝浠ユ柟渚垮紑鍙戜漢鍛樸傜劧鑰屽疄闄呬笂鐢變簬ORM鐨勫鏉傛э紝瀹冪殑API涓鑸兘涓嶅彲鑳借璁″緱寰堢畝鍗曘備絾鏄埆鎷呭績錛屼綘娌℃湁蹇呰涓涓嬪瓙浜嗚В鎵鏈夌殑Hibernate鐨凙PI鎺ュ彛銆?br /><br />銆銆鎴戜滑灝嗗簲鐢ㄥ眰鏀懼湪浜嗘寔涔呭眰鐨勪笂閮紝瀹為檯涓婂湪浼犵粺鐨勯」鐩腑錛屽簲鐢ㄥ眰鍏呭綋鐫鎸佷箙灞傜殑涓涓鎴風瑙掕壊銆備絾瀵逛簬涓浜涚畝鍗曠殑欏圭洰鏉ヨ錛屽簲鐢ㄥ眰鍜屾寔涔呭眰騫舵病鏈夊尯鍒嗗緱閭d箞娓呮錛岃繖涔熸病浠涔堬紝鍦ㄨ繖縐嶆儏鍐典笅浣犲彲浠ュ皢搴旂敤灞傚拰鎸佷箙灞傚悎騫舵垚浜嗕竴灞傘?<br /><br />銆銆<strong>Hibernate鐨勬帴鍙eぇ鑷村彲浠ュ垎涓轟互涓嬪嚑縐嶇被鍨嬶細</strong><br /><br />銆銆路 涓浜涜鐢ㄦ埛鐨勫簲鐢ㄧ▼搴忚皟鐢ㄧ殑錛岀敤鏉ュ畬鎴愬熀鏈殑鍒涘緩銆佽鍙栥佹洿鏂般佸垹闄ゆ搷浣滀互鍙婃煡璇㈡搷浣滅殑鎺ュ彛銆傝繖浜涙帴鍙f槸Hibernate瀹炵幇鐢ㄦ埛紼嬪簭鐨勫晢涓氶昏緫鐨勪富瑕佹帴鍙o紝瀹冧滑鍖呮嫭Session銆乀ransaction鍜孮uery銆?<br /><br />銆銆路 Hibernate鐢ㄦ潵璇誨彇璇稿鏄犲皠琛ㄨ繖綾婚厤緗枃浠剁殑鎺ュ彛錛屽吀鍨嬬殑浠h〃鏈塁onfiguration綾匯?<br /><br />銆銆路 鍥炶皟(Callback)鎺ュ彛銆傚畠鍏佽搴旂敤紼嬪簭鑳藉涓浜涗簨浠剁殑鍙戠敓浣滃嚭鐩稿簲鐨勬搷浣滐紝渚嬪Interceptor銆丩ifecycle鍜孷alidatable閮芥槸榪欎竴綾繪帴鍙c?<br /><br />銆銆路 涓浜涘彲浠ョ敤鏉ユ墿灞旽ibernate鐨勬槧灝勬満鍒剁殑鎺ュ彛錛屼緥濡俇serType銆丆ompositeUserType鍜孖dentifierGenerator銆傝繖浜涙帴鍙e彲鐢辯敤鎴風▼搴忔潵瀹炵幇錛堝鏋滄湁蹇呰錛夈?<br /><br />銆銆Hibernate浣跨敤浜咼2EE鏋舵瀯涓殑濡備笅鎶鏈細JDBC銆丣TA銆丣NDI銆傚叾涓璊DBC鏄竴涓敮鎸佸叧緋繪暟鎹簱鎿嶄綔鐨勪竴涓熀紜灞傦紱瀹冧笌JNDI鍜孞TA涓璧風粨鍚堬紝浣垮緱Hibernate鍙互鏂逛究鍦伴泦鎴愬埌J2EE搴旂敤鏈嶅姟鍣ㄤ腑鍘匯?<br /><br />銆銆鍦ㄨ繖閲岋紝鎴戜滑涓嶄細璇︾粏鍦板幓璁ㄨHibernate API鎺ュ彛涓殑鎵鏈夋柟娉曪紝鎴戜滑鍙畝瑕佽涓涓嬫瘡涓富瑕佹帴鍙g殑鍔熻兘錛屽鏋滀綘鎯充簡瑙e緱鏇村鐨勮瘽錛屼綘鍙互鍦℉ibernate鐨勬簮鐮佸寘涓殑net.sf.hibernate瀛愬寘涓幓鏌ョ湅榪欎簺鎺ュ彛鐨勬簮浠g爜銆備笅闈㈡垜浠緷嬈¤涓涓嬫墍鏈夌殑涓昏鎺ュ彛錛?<br /><br />銆<strong>銆</strong>鏍稿績鎺ュ彛 <br /><br />銆銆浠ヤ笅5涓牳蹇冩帴鍙e嚑涔庡湪浠諱綍瀹為檯寮鍙戜腑閮戒細鐢ㄥ埌銆傞氳繃榪欎簺鎺ュ彛錛屼綘涓嶄粎鍙互瀛樺偍鍜岃幏寰楁寔涔呭璞★紝騫朵笖鑳藉榪涜浜嬪姟鎺у埗銆?<br /><br />銆銆Session鎺ュ彛 <br /><br />銆銆Session鎺ュ彛瀵逛簬Hibernate 寮鍙戜漢鍛樻潵璇存槸涓涓渶閲嶈鐨勬帴鍙c傜劧鑰屽湪Hibernate涓紝瀹炰緥鍖栫殑Session鏄竴涓交閲忕駭鐨勭被錛屽垱寤哄拰閿姣佸畠閮戒笉浼氬崰鐢ㄥ緢澶氳祫婧愩傝繖鍦ㄥ疄闄呴」鐩腑紜疄寰堥噸瑕侊紝鍥犱負鍦ㄥ鎴風▼搴忎腑錛屽彲鑳戒細涓嶆柇鍦板垱寤轟互鍙婇攢姣丼ession瀵硅薄錛屽鏋淪ession鐨勫紑閿澶ぇ錛屼細緇欑郴緇熷甫鏉ヤ笉鑹獎鍝嶃備絾鍊煎緱娉ㄦ剰鐨勬槸Session瀵硅薄鏄潪綰跨▼瀹夊叏鐨勶紝鍥犳鍦ㄤ綘鐨勮璁′腑錛屾渶濂芥槸涓涓嚎紼嬪彧鍒涘緩涓涓猄ession瀵硅薄銆?<br /><br />銆銆鍦℉ibernate鐨勮璁¤呯殑澶磋剳涓紝浠栦滑灝唖ession鐪嬩綔浠嬩簬鏁版嵁榪炴帴涓庝簨鍔$鐞嗕竴縐嶄腑闂存帴鍙c傛垜浠彲浠ュ皢session鎯寵薄鎴愪竴涓寔涔呭璞$殑緙撳啿鍖猴紝Hibernate鑳芥嫻嬪埌榪欎簺鎸佷箙瀵硅薄鐨勬敼鍙橈紝騫跺強鏃跺埛鏂版暟鎹簱銆傛垜浠湁鏃朵篃縐癝ession鏄竴涓寔涔呭眰綆$悊鍣紝鍥犱負瀹冨寘鍚繖涓浜涙寔涔呭眰鐩稿叧鐨勬搷浣滐紝璇稿瀛樺偍鎸佷箙瀵硅薄鑷蟲暟鎹簱錛屼互鍙婁粠鏁版嵁搴撲粠鑾峰緱瀹冧滑銆傝娉ㄦ剰錛孒ibernate 鐨剆ession涓嶅悓浜嶫SP搴旂敤涓殑HttpSession銆傚綋鎴戜滑浣跨敤session榪欎釜鏈鏃訛紝鎴戜滑鎸囩殑鏄疕ibernate涓殑session錛岃屾垜浠互鍚庝細灝咹ttpSesion瀵硅薄縐頒負鐢ㄦ埛session銆?<br /><br />銆銆SessionFactory 鎺ュ彛 <br /><br />銆銆榪欓噷鐢ㄥ埌浜嗕竴涓璁℃ā寮忊曗曞伐鍘傛ā寮忥紝鐢ㄦ埛紼嬪簭浠庡伐鍘傜被SessionFactory涓彇寰桽ession鐨勫疄渚嬨?<br /><br />銆銆浠や綘鎰熷埌濂囨殑鏄疭essionFactory騫朵笉鏄交閲忕駭鐨勶紒瀹為檯涓婂畠鐨勮璁¤呯殑鎰忓浘鏄瀹冭兘鍦ㄦ暣涓簲鐢ㄤ腑鍏變韓銆傚吀鍨嬪湴鏉ヨ錛屼竴涓」鐩氬父鍙渶瑕佷竴涓猄essionFactory灝卞浜嗭紝浣嗘槸褰撲綘鐨勯」鐩鎿嶄綔澶氫釜鏁版嵁搴撴椂錛岄偅浣犲繀欏諱負姣忎釜鏁版嵁搴撴寚瀹氫竴涓猄essionFactory銆?<br />銆銆SessionFactory鍦℉ibernate涓疄闄呰搗鍒頒簡涓涓紦鍐插尯鐨勪綔鐢紝瀹冪紦鍐蹭簡Hibernate鑷姩鐢熸垚鐨凷QL璇彞鍜屼竴浜涘叾瀹冪殑鏄犲皠鏁版嵁錛岃繕緙撳啿浜嗕竴浜涘皢鏉ユ湁鍙兘閲嶅鍒╃敤鐨勬暟鎹?<br /><br />銆銆Configuration 鎺ュ彛 <br /><br />銆銆Configuration鎺ュ彛鐨勪綔鐢ㄦ槸瀵笻ibernate榪涜閰嶇疆錛屼互鍙婂瀹冭繘琛屽惎鍔ㄣ傚湪Hibernate鐨勫惎鍔ㄨ繃紼嬩腑錛孋onfiguration綾葷殑瀹炰緥棣栧厛瀹氫綅鏄犲皠鏂囨。鐨勪綅緗紝璇誨彇榪欎簺閰嶇疆錛岀劧鍚庡垱寤轟竴涓猄essionFactory瀵硅薄銆?<br /><br />銆銆铏界劧Configuration鎺ュ彛鍦ㄦ暣涓狧ibernate欏圭洰涓彧鎵紨鐫涓涓緢灝忕殑瑙掕壊錛屼絾瀹冩槸鍚姩hibernate鏃朵綘鎵閬囧埌鐨勬瘡涓涓璞°?<br /><br />銆銆Transaction 鎺ュ彛 <br /><br />銆銆Transaction鎺ュ彛鏄竴涓彲閫夌殑API錛屼綘鍙互閫夋嫨涓嶄嬌鐢ㄨ繖涓帴鍙o紝鍙栬屼唬涔嬬殑鏄疕ibernate鐨勮璁¤呰嚜宸卞啓鐨勫簳灞備簨鍔″鐞嗕唬鐮併?Transaction鎺ュ彛鏄瀹為檯浜嬪姟瀹炵幇鐨勪竴涓娊璞★紝榪欎簺瀹炵幇鍖呮嫭JDBC鐨勪簨鍔°丣TA涓殑UserTransaction銆佺敋鑷沖彲浠ユ槸CORBA浜嬪姟銆備箣鎵浠ヨ繖鏍瘋璁℃槸鑳借寮鍙戣呰兘澶熶嬌鐢ㄤ竴涓粺涓浜嬪姟鐨勬搷浣滅晫闈紝浣垮緱鑷繁鐨勯」鐩彲浠ュ湪涓嶅悓鐨勭幆澧冨拰瀹瑰櫒涔嬮棿鏂逛究鍦扮Щ鍊箋?<br /><br />銆銆Query鍜孋riteria鎺ュ彛 <br /><br />銆銆Query鎺ュ彛璁╀綘鏂逛究鍦板鏁版嵁搴撳強鎸佷箙瀵硅薄榪涜鏌ヨ錛屽畠鍙互鏈変袱縐嶈〃杈炬柟寮忥細HQL璇█鎴栨湰鍦版暟鎹簱鐨凷QL璇彞銆俀uery緇忓父琚敤鏉ョ粦瀹氭煡璇㈠弬鏁般侀檺鍒舵煡璇㈣褰曟暟閲忥紝騫舵渶緇堟墽琛屾煡璇㈡搷浣溿?<br /><br />銆銆Criteria鎺ュ彛涓嶲uery鎺ュ彛闈炲父綾諱技錛屽畠鍏佽浣犲垱寤哄茍鎵ц闈㈠悜瀵硅薄鐨勬爣鍑嗗寲鏌ヨ銆?<br /><br />銆銆鍊煎緱娉ㄦ剰鐨勬槸Query鎺ュ彛涔熸槸杞婚噺綰х殑錛屽畠涓嶈兘鍦⊿ession涔嬪浣跨敤銆?<br /><br />銆銆Callback 鎺ュ彛 <br /><br />銆銆褰撲竴浜涙湁鐢ㄧ殑浜嬩歡鍙戠敓鏃垛曗曚緥濡傛寔涔呭璞$殑杞藉叆銆佸瓨鍌ㄣ佸垹闄ゆ椂錛孋allback鎺ュ彛浼氶氱煡Hibernate鍘繪帴鏀朵竴涓氱煡娑堟伅銆備竴鑸岃█錛孋allback鎺ュ彛鍦ㄧ敤鎴風▼搴忎腑騫朵笉鏄繀欏葷殑錛屼絾浣犺鍦ㄤ綘鐨勯」鐩腑鍒涘緩瀹¤鏃ュ織鏃訛紝浣犲彲鑳戒細鐢ㄥ埌瀹冦?<br /><br />銆銆<strong> 涓涓噸瑕佺殑鏈錛歍ype <br /></strong><br />銆銆Hibernate鐨勮璁¤呬滑鍙戞槑浜嗕竴涓湳璇細Type錛屽畠鍦ㄦ暣涓瀯鏋朵腑鏄竴涓潪甯稿熀紜銆佹湁鐫寮哄ぇ鍔熻兘鐨勫厓绱犮備竴涓猅ype瀵硅薄鑳藉皢涓涓狫ava綾誨瀷鏄犲皠鍒版暟鎹簱涓竴涓〃鐨勫瓧孌典腑鍘伙紙瀹為檯涓婏紝瀹冨彲浠ユ槧灝勫埌琛ㄧ殑澶氫釜瀛楁涓幓錛夈傛寔涔呯被鐨勬墍鏈夊睘鎬ч兘瀵瑰簲涓涓猼ype銆傝繖縐嶈璁℃濇兂浣跨敤Hibernate鏈夌潃楂樺害鐨勭伒媧繪у拰鎵╁睍鎬с?<br /><br />銆銆Hibernate鍐呯疆寰堝type綾誨瀷錛屽嚑涔庡寘鎷墍鏈夌殑Java鍩烘湰綾誨瀷錛屼緥濡侸ava.util.Currency銆丣ava.util.calendar銆乥yte[]鍜孞ava.io.Serializable銆?<br /><br />銆銆涓嶄粎濡傛錛孒ibernate榪樻敮鎸佺敤鎴瘋嚜瀹氫箟鐨則ype錛岄氳繃瀹炵幇鎺ュ彛UserType鍜屾帴鍙ompositeUserType錛屼綘鍙互鍔犲叆鑷繁鐨則ype銆備綘鍙互鍒╃敤榪欑鐗硅壊璁╀綘鐨勯」鐩腑浣跨敤鑷畾涔夌殑璇稿Address銆丯ame榪欐牱鐨則ype錛岃繖鏍蜂綘灝卞彲浠ヨ幏寰楁洿澶х殑渚垮埄錛岃浣犵殑浠g爜鏇翠紭闆呫傝嚜瀹氫箟type鍦℉ibernate涓槸涓欏規牳蹇冪壒鑹詫紝瀹冪殑璁捐鑰呴紦鍔變綘澶氬浣跨敤瀹冩潵鍒涘緩涓涓伒媧匯佷紭闆呯殑欏圭洰錛?<br /><br />銆銆絳栫暐鎺ュ彛 <br /><br />銆銆Hibernate涓庢煇浜涘叾瀹冨紑婧愯蔣浠朵笉鍚岀殑榪樻湁涓鐐光曗曢珮搴︾殑鍙墿灞曟э紝榪欓氳繃瀹冪殑鍐呯疆絳栫暐鏈哄埗鏉ュ疄鐜般傚綋浣犳劅瑙夊埌Hibernate鐨勬煇浜涘姛鑳戒笉瓚籌紝鎴栬呮湁鏌愪簺緙洪櫡鏃訛紝浣犲彲浠ュ紑鍙戜竴涓嚜宸辯殑絳栫暐鏉ユ浛鎹㈠畠錛岃屼綘鎵瑕佸仛鐨勪粎浠呭彧鏄戶鎵垮畠鐨勬煇涓瓥鐣ユ帴鍙o紝鐒跺悗瀹炵幇浣犵殑鏂扮瓥鐣ュ氨鍙互浜嗭紝浠ヤ笅鏄畠鐨勭瓥鐣ユ帴鍙o細 <br /><br />銆銆路 涓婚敭鐨勭敓鎴?(IdentifierGenerator 鎺ュ彛) <br /><br />銆銆路 鏈湴SQL璇█鏀寔 (Dialect 鎶借薄綾? <br /><br />銆銆路 緙撳啿鏈哄埗 (Cache 鍜孋acheProvider 鎺ュ彛) <br /><br />銆銆路 JDBC 榪炴帴綆$悊 (ConnectionProvider鎺ュ彛) <br /><br />銆銆路 浜嬪姟綆$悊 (TransactionFactory, Transaction, 鍜?TransactionManagerLookup 鎺ュ彛) <br /><br />銆銆路 ORM 絳栫暐 (ClassPersister 鎺ュ彛) <br /><br />銆銆路 灞炴ц闂瓥鐣?(PropertyAccessor 鎺ュ彛) <br /><br />銆銆路 浠g悊瀵硅薄鐨勫垱寤?(ProxyFactory鎺ュ彛) <br /><br />銆銆Hibernate涓轟互涓婃墍鍒楃殑鏈哄埗鍒嗗埆鍒涘緩浜嗕竴涓己鐪佺殑瀹炵幇錛屽洜姝ゅ鏋滀綘鍙槸瑕佸寮哄畠鐨勬煇涓瓥鐣ョ殑鍔熻兘鐨勮瘽錛屽彧闇綆鍗曞湴緇ф壙榪欎釜綾誨氨鍙互浜嗭紝娌℃湁蹇呰浠庡ご寮濮嬪啓浠g爜銆?<br /><br />銆銆浠ヤ笂灝辨槸Hibernate鐨勪竴浜涙牳蹇冩帴鍙o紝浣嗗綋鎴戜滑鐪熸寮濮嬬敤瀹冭繘琛屽紑鍙戞椂錛屼綘鐨勮剳嫻烽噷鍙兘鎬諱細鏈変竴涓枒闂細鎴戞槸閫氳繃浠涔堟柟寮忥紝騫朵粠鍝噷鍙栧緱Session鐨勫憿錛熶互涓嬫垜浠氨瑙g瓟榪欎釜闂銆?<br /><br />銆銆鍩虹閰嶇疆 <br /><br />銆銆鐜板湪鍥為【涓涓嬫垜浠厛鍓嶇殑鍐呭錛氭垜浠啓鍑轟簡涓涓ず渚嬬▼搴忥紝騫剁畝瑕佸湴璁茶В浜咹ibernate鐨勪竴浜涙牳蹇冪被銆備絾瑕佺湡姝d嬌浣犵殑欏圭洰榪愯璧鋒潵錛岃繕鏈変竴浠朵簨蹇呴』瑕佸仛錛氶厤緗侶ibernate鍙互閰嶇疆鎴愬彲鍦ㄤ換浣旿ava鐜涓繍琛岋紝涓鑸鏉ワ紝瀹冮氬父琚敤鍦?錛?灞傜殑C/S妯″紡鐨勯」鐩腑錛屽茍琚儴緗插湪鏈嶅姟绔傚湪榪欑欏圭洰涓紝Web嫻忚鍣ㄣ佹垨Java GUI紼嬪簭鍏呭綋鑰呭鎴風銆傚敖綆℃垜浠殑鐒︾偣涓昏鏄泦涓湪澶氬眰web搴旂敤錛屼絾瀹為檯涓婂湪涓浜涘熀浜庡懡浠よ鐨勫簲鐢ㄤ腑涔熷彲浠ヤ嬌鐢℉ibernate銆傚茍涓旓紝瀵笻ibernate鐨勯厤緗湪涓嶅悓鐨勭幆澧冧笅閮戒細涓嶅悓錛孒ibernate榪愯鍦ㄤ袱縐嶇幆澧冧笅錛氬彲綆$悊鐜鍜屼笉鍙鐞嗙幆澧?<br /><br />銆銆路 鍙鐞嗙幆澧冣曗曡繖縐嶇幆澧冨彲綆$悊濡備笅璧勬簮錛氭睜璧勬簮綆$悊錛岃濡傛暟鎹簱榪炴帴姹犲拰錛岃繕鏈変簨鍔$鐞嗐佸畨鍏ㄥ畾涔夈備竴浜涘吀鍨嬬殑J2EE鏈嶅姟鍣紙JBoss銆乄eblogic銆乄ebSphere錛夊凡緇忓疄鐜頒簡榪欎簺銆?<br /><br />銆銆路 涓嶅彲綆$悊鐜鈥曗曞彧鏄彁渚涗簡涓浜涘熀鏈殑鍔熻兘錛岃濡傚儚Jetty鎴朤omcat榪欐牱鐨剆ervlet瀹瑰櫒鐜銆備竴涓櫘閫氱殑Java妗岄潰搴旂敤鎴栧懡浠よ紼嬪簭涔熷彲浠ヨ涓烘槸澶勪簬榪欑鐜涓嬨傝繖縐嶇幆澧冧笉鑳芥彁渚涜嚜鍔ㄤ簨鍔″鐞嗐佽祫婧愮鐞嗘垨瀹夊叏綆$悊錛岃繖浜涢兘蹇呴』鐢卞簲鐢ㄧ▼搴忚嚜宸辨潵瀹氫箟銆?<br /><br />銆銆Hibernate鐨勮璁¤呬滑灝嗚繖涓ょ鐜璁捐浜嗕竴涓粺涓鐨勬娊璞$晫闈紝鍥犳瀵逛簬寮鍙戣呮潵璇村彧鏈変竴縐嶇幆澧冿細鍙鐞嗙幆澧冦傚鏋滃疄闄呴」鐩槸寤虹珛鍦ㄨ濡俆omcat榪欑被涓嶅彲綆$悊鐨勭幆澧冧腑鏃訛紝閭ibernate灝嗕細浣跨敤瀹冭嚜宸辯殑浜嬪姟澶勭悊浠g爜鍜孞DBC榪炴帴姹狅紝浣垮叾鍙樹負涓涓彲綆$悊鐜銆?<br />銆銆瀵逛簬鍙鐞嗙殑鐜鑰岃█錛孒ibernate浼氬皢鑷繁闆嗘垚鍦ㄨ繖縐嶇幆澧冧腑銆傚浜庡紑鍙戣呰岃█錛屼綘鎵瑕佸仛鐨勫伐浣滈潪甯哥畝鍗曪細鍙渶浠庝竴涓狢onfiguration綾諱腑鍒涘緩涓涓猄essionFactory綾誨氨鍙互浜嗐?<br />銆銆 鍒涘緩涓涓猄essionFactory瀵硅薄 <br /><br />銆銆涓轟簡鑳藉垱寤轟竴涓猄essionFactory瀵硅薄錛屼綘蹇呴』鍦℉ibernate鍒濆鍖栨椂鍒涘緩涓涓狢onfiguration綾葷殑瀹炰緥錛屽茍灝嗗凡鍐欏ソ鐨勬槧灝勬枃浠朵氦鐢卞畠澶勭悊銆傝繖鏍鳳紝Configuration瀵硅薄灝卞彲浠ュ垱寤轟竴涓猄essionFactory瀵硅薄錛屽綋SessionFactory瀵硅薄鍒涘緩鎴愬姛鍚庯紝Configuration瀵硅薄灝辨病鏈夌敤浜嗭紝浣犲彲浠ョ畝鍗曞湴鎶涘純瀹冦傚涓嬫槸紺轟緥浠g爜錛?<br /><br />銆銆Configuration cfg = new Configuration(); <br />銆銆cfg.addResource("hello/Message.hbm.xml"); <br />銆銆cfg.setProperties( System.getProperties() ); <br />銆銆SessionFactory sessions = cfg.buildSessionFactory(); <br /><br />銆銆鍦ㄤ互涓婁唬鐮佷腑錛孧essage.hb.xml榪欎釜鏄犲皠鏂囦歡鐨勪綅緗瘮杈冪壒孌婏紝瀹冧笌褰撳墠鐨刢lasspath鐩稿叧銆備緥濡俢lasspath鍖呭惈褰撳墠鐩綍錛岄偅鍦ㄤ笂榪頒唬鐮佷腑鐨凪essage.hbm.xml鏄犲皠鏂囦歡灝卞彲浠ヤ繚瀛樺湪褰撳墠鐩綍涓嬬殑hello鐩綍涓?<br /><br />銆銆浣滀負涓縐嶇害瀹氾紝Hibernate鐨勬槧灝勬枃浠墮粯璁や互.htm.xml浣滀負鍏舵墿灞曞悕銆傚彟涓涓害瀹氭槸鍧氭寔涓烘瘡涓涓寔涔呯被鍐欎竴涓厤緗枃浠訛紝鎯充竴鎯沖鏋滀綘灝嗘墍鏈夋寔涔呯被鐨勬槧灝勫啓鍏ヤ竴涓崟鐙殑閰嶇疆鏂囦歡涓殑璇濓紝閭h繖涓厤緗枃浠惰偗瀹氶潪甯稿簽澶э紝涓嶆槗緇存姢銆備絾榪欓噷鍙堝嚭鐜頒簡涓涓柊闂錛氬鏋滀負姣忎釜綾誨啓涓涓厤緗枃浠剁殑璇濓紝榪欎箞澶氱殑閰嶇疆鏂囦歡搴旇瀛樻斁鍦ㄥ摢閲屽憿錛?<br /><br />銆銆Hibernate鎺ㄨ崘浣犲皢姣忎釜鏄犲皠鏂囦歡淇濆瓨鍦ㄤ笌鎸佷箙綾葷浉鍚岀殑鐩綍涓嬶紝騫朵笖涓庢寔涔呯被鍚屽悕銆備緥濡傛垜浠涓涓ず渚嬬▼搴忎腑鐨凪essage鎸佷箙綾繪斁鍦╤ello鐩綍涓嬶紝閭d綘蹇呴』鍦ㄨ繖涓洰褰曚笅瀛樻斁鍚嶄負Message.hbm.xml鐨勬槧灝勬枃浠躲傝繖鏍蜂竴涓寔涔呯被閮芥湁鑷繁鐨勪竴涓槧灝勬枃浠訛紝閬垮厤浜嗗嚭鐜板儚struts欏圭洰涓殑鈥渟truts-config.xml鍦扮嫳鈥濈殑鎯呭喌銆傚鏋滀綘涓嶉伒寰繖縐嶈瀹氾紝閭d綘蹇呴』鎵嬪姩鍦扮敤addResource()鏂規硶灝嗕竴涓釜鐨勬槧灝勬枃浠惰澆鍏ワ紱浣嗕綘濡傛灉閬靛驚榪欑瑙勫畾錛岄偅浣犲彲浠ユ柟渚垮湴鐢╝ddClass()鏂規硶鍚屾椂灝嗘寔涔呯被鍜屽畠鐨勬槧灝勬枃浠惰澆鍏ワ紝浠ヤ笅鏄綋鐜拌繖縐嶄究鍒╂х殑紺轟緥浠g爜錛?<br /><br />銆銆SessionFactory sessions = new Configuration() <br />銆銆.addClass(org.hibernate.auction.model.Item.class) <br />銆銆.addClass(org.hibernate.auction.model.Category.class) <br />銆銆.addClass(org.hibernate.auction.model.Bid.class) <br />銆銆.setProperties( System.getProperties() ) <br />銆銆.buildSessionFactory(); <br /><br />銆銆褰撶劧錛孒ibernate鐨勬槧灝勬枃浠惰繕鏈夊緢澶氬叾瀹冪殑閰嶇疆閫夐」錛屾瘮濡傛暟鎹簱榪炴帴鐨勮瀹氾紝鎴栨槸鑳藉鏀瑰彉Hibernate榪愯鏃惰涓虹殑涓浜涜瀹氥傛墍鏈夌殑璁劇疆鍙兘鏄潪甯稿簽鏉傜殑錛岃凍浠ヨ浣犲枠涓嶈繃姘旀潵錛屼絾鏄笉蹇呮媴蹇冿紝鍥犱負Hibernate涓虹粷澶у鏁板奸兘璁懼畾浜嗕竴涓悎鐞嗙己鐪佸鹼紝浣犲彧闇瑕佷慨鏀硅繖浜涢厤緗枃浠朵腑鐨勬瀬灝忎竴閮ㄥ垎鍊箋?<br /><br />銆銆浣犲彲浠ラ氳繃浠ヤ笅鍑犵鏂瑰紡鏉ヤ慨鏀笻ibernate鐨勭郴緇熼厤緗弬鏁幫細 <br /><br />銆銆路 灝嗕竴涓狫ava.util.Properties瀹炰緥浣滀負鍙傛暟浼犵粰Configuration綾葷殑setProperties()鏂規硶銆?<br /><br />銆銆路 鍦℉ibernate鍚姩鏃剁敤Java 鈥揇property=value鐨勬柟寮忚緗箋?<br /><br />銆銆路 鍦╟lasspath鍙互鎵懼埌鐨勮礬寰勪笅鍒涘緩涓涓悕涓篽ibernate.properties鐨勯厤緗枃浠躲?<br /><br />銆銆路 鍦╟lasspath鍙互鎵懼埌鐨勮礬寰勪笅鍒涘緩涓涓悕涓篽ibernate.cfg.xml鐨勬枃浠訛紝騫跺湪鍏訛紲property錛炴爣絳句腑瀹氫箟灞炴у箋?<br /><br />銆銆浠ヤ笂灝辨槸瀵笻ibernate鐨勪竴涓ぇ鑷翠粙緇嶏紝濡傛灉浣犳兂鐭ラ亾寰楁洿澶氾紝閭f湰鏂囪繕鏄繙榪滀笉澶熺殑錛屾垜灝嗛檰緇帹鍑烘洿澶氬叧浜嶩ibernate鐨勮祫鏂欍備絾鏈変竴鐐規槸姣棤鐤戦棶鐨勶細瀹冪殑紜槸涓涓潪甯鎬紭縐鐨勬寔涔呭眰瑙e喅鏂規錛?/p> <br clear="all" /> </div> <img src ="http://m.tkk7.com/kemi/aggbug/141218.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/kemi/" target="_blank">Kimi</a> 2007-08-30 10:45 <a href="http://m.tkk7.com/kemi/archive/2007/08/30/141218.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title><杞?gt; JSP涔辯爜瑙e喅 鐜嬮亾http://m.tkk7.com/kemi/archive/2007/08/16/137338.htmlKimiKimiThu, 16 Aug 2007 09:06:00 GMThttp://m.tkk7.com/kemi/archive/2007/08/16/137338.htmlhttp://m.tkk7.com/kemi/comments/137338.htmlhttp://m.tkk7.com/kemi/archive/2007/08/16/137338.html#Feedback0http://m.tkk7.com/kemi/comments/commentRss/137338.htmlhttp://m.tkk7.com/kemi/services/trackbacks/137338.html
鍦↗SP/Servlet 涓富瑕佹湁浠ヤ笅鍑犱釜鍦版柟鍙互璁劇疆緙栫爜錛宲ageEncoding="UTF-8"銆乧ontentType="text/html;charset=UTF -8"銆乺equest.setCharacterEncoding("UTF-8")鍜宺esponse.setCharacterEncoding ("UTF-8")錛屽叾涓墠涓や釜鍙兘鐢ㄤ簬JSP涓紝鑰屽悗涓や釜鍙互鐢ㄤ簬JSP鍜孲ervlet涓?br />
1銆乸ageEncoding="UTF-8"鐨勪綔鐢ㄦ槸璁劇疆JSP緙栬瘧鎴怱ervlet鏃朵嬌鐢ㄧ殑緙栫爜銆?br />
銆銆浼楁墍鍛ㄧ煡錛孞SP鍦ㄦ湇鍔″櫒涓婃槸瑕佸厛琚紪璇戞垚Servlet鐨勩俻ageEncoding="UTF-8"鐨勪綔鐢ㄥ氨鏄憡璇塉SP緙栬瘧鍣ㄥ湪灝咼SP鏂囦歡緙栬瘧鎴怱ervlet鏃朵嬌鐢ㄧ殑緙栫爜銆傞氬父錛屽湪JSP鍐呴儴瀹氫箟鐨勫瓧絎︿覆錛堢洿鎺ュ湪JSP涓畾涔夛紝鑰屼笉鏄粠嫻忚鍣ㄦ彁浜ょ殑鏁版嵁錛夊嚭鐜頒貢鐮佹椂錛屽緢澶氶兘鏄敱浜庤鍙傛暟璁劇疆閿欒寮曡搗鐨勩備緥濡傦紝浣犵殑JSP鏂囦歡鏄互GBK涓虹紪鐮佷繚瀛樼殑錛岃屽湪JSP涓嵈鎸囧畾pageEncoding="UTF-8"錛屽氨浼氬紩璧稪SP鍐呴儴瀹氫箟鐨勫瓧絎︿覆涓轟貢鐮併?br />
銆銆鍙﹀錛岃鍙傛暟榪樻湁涓涓姛鑳斤紝灝辨槸鍦↗SP涓笉鎸囧畾contentType鍙傛暟錛屼篃涓嶄嬌鐢╮esponse.setCharacterEncoding鏂規硶鏃訛紝鎸囧畾瀵規湇鍔″櫒鍝嶅簲榪涜閲嶆柊緙栫爜鐨勭紪鐮併?br />
銆銆2銆乧ontentType="text/html;charset=UTF-8"鐨勪綔鐢ㄦ槸鎸囧畾瀵規湇鍔″櫒鍝嶅簲榪涜閲嶆柊緙栫爜鐨勭紪鐮併?br />
銆銆鍦ㄤ笉浣跨敤response.setCharacterEncoding鏂規硶鏃訛紝鐢ㄨ鍙傛暟鎸囧畾瀵規湇鍔″櫒鍝嶅簲榪涜閲嶆柊緙栫爜鐨勭紪鐮併傛湇鍔″櫒鍦ㄥ皢鏁版嵁鍙戦佸埌嫻忚鍣ㄥ墠錛屽鏁版嵁榪涜閲嶆柊緙栫爜鏃訛紝浣跨敤鐨勫氨鏄緙栫爜銆?br />
銆銆3銆乺equest.setCharacterEncoding("UTF-8")鐨勪綔鐢ㄦ槸璁劇疆瀵瑰鎴風璇鋒眰榪涜閲嶆柊緙栫爜鐨勭紪鐮併?br />
銆銆璇ユ柟娉曠敤鏉ユ寚瀹氬嫻忚鍣ㄥ彂閫佹潵鐨勬暟鎹繘琛岄噸鏂扮紪鐮侊紙鎴栬呯О涓鴻В鐮侊級鏃訛紝浣跨敤鐨勭紪鐮併?br />
銆銆4銆乺esponse.setCharacterEncoding("UTF-8")鐨勪綔鐢ㄦ槸鎸囧畾瀵規湇鍔″櫒鍝嶅簲榪涜閲嶆柊緙栫爜鐨勭紪鐮併?br />
銆銆鏈嶅姟鍣ㄥ湪灝嗘暟鎹彂閫佸埌嫻忚鍣ㄥ墠錛屽鏁版嵁榪涜閲嶆柊緙栫爜鏃訛紝浣跨敤鐨勫氨鏄緙栫爜銆?br />
銆銆鍏舵錛岃璇翠竴璇存祻瑙堝櫒鏄庝箞鏍峰鎺ユ敹鍜屽彂閫佺殑鏁版嵁榪涜緙栫爜鐨?br />
銆銆response.setCharacterEncoding("UTF-8")鐨勪綔鐢ㄦ槸鎸囧畾瀵規湇鍔″櫒鍝嶅簲榪涜閲嶆柊緙栫爜鐨勭紪鐮併傚悓鏃訛紝嫻忚鍣ㄤ篃鏄牴鎹繖涓弬鏁版潵瀵瑰叾鎺ユ敹鍒扮殑鏁版嵁榪涜閲嶆柊緙栫爜錛堟垨鑰呯О涓鴻В鐮侊級銆傛墍浠ュ湪鏃犺浣犲湪JSP涓緗畆esponse.setCharacterEncoding ("UTF-8")鎴栬卹esponse.setCharacterEncoding("GBK")錛屾祻瑙堝櫒鍧囪兘姝g‘鏄劇ず涓枃錛堝墠鎻愭槸浣犲彂閫佸埌嫻忚鍣ㄧ殑鏁版嵁緙栫爜鏄紜殑錛屾瘮濡傛紜緗簡pageEncoding鍙傛暟絳夛級銆傝鑰呭彲浠ュ仛涓疄楠岋紝鍦↗SP涓緗?response.setCharacterEncoding("UTF-8")錛屽湪IE涓樉紺鴻欏甸潰鏃訛紝鍦↖E鐨勮彍鍗曚腑閫夋嫨"鏌ョ湅(V)"脿"緙栫爜 (D)"涓彲浠ユ煡鐪嬪埌鏄? Unicode錛圲TF-8錛?錛岃屽湪鍦↗SP涓緗畆esponse.setCharacterEncoding ("GBK")錛屽湪IE涓樉紺鴻欏甸潰鏃訛紝鍦↖E鐨勮彍鍗曚腑閫夋嫨"鏌ョ湅(V)"脿"緙栫爜(D)"涓彲浠ユ煡鐪嬪埌鏄?綆浣撲腑鏂囷紙GB2312錛?銆?br />
銆銆嫻忚鍣ㄥ湪鍙戦佹暟鎹椂錛屽URL鍜屽弬鏁頒細榪涜URL緙栫爜錛屽鍙傛暟涓殑涓枃錛屾祻瑙堝櫒涔熸槸浣跨敤response.setCharacterEncoding鍙傛暟鏉ヨ繘琛孶RL緙栫爜鐨勩備互鐧懼害鍜孏OOGLE涓轟緥錛屽鏋滀綘鍦ㄧ櫨搴︿腑鎼滅儲"姹夊瓧"錛岀櫨搴︿細灝嗗叾緙栫爜涓?%BA%BA%D7%D6"銆傝屽湪GOOGLE涓悳绱?"姹夊瓧"錛孏OOGLE浼氬皢鍏剁紪鐮佷負"%E6%B1%89%E5%AD%97"錛岃繖鏄洜涓虹櫨搴︾殑 response.setCharacterEncoding鍙傛暟涓篏BK錛岃孏OOGLE鐨勭殑 response.setCharacterEncoding鍙傛暟涓篣TF-8銆?br />
銆銆嫻忚鍣ㄥ湪鎺ユ敹鏈嶅姟鍣ㄦ暟鎹拰鍙戦佹暟鎹埌鏈嶅姟鍣ㄦ椂鎵浣跨敤鐨勭紪鐮佹槸鐩稿悓鐨勶紝榛樿鎯呭喌涓嬪潎涓篔SP欏甸潰鐨剅esponse.setCharacterEncoding鍙傛暟錛堟垨鑰卌ontentType鍜?pageEncoding鍙傛暟錛夛紝鎴戜滑縐板叾涓烘祻瑙堝櫒緙栫爜銆傚綋鐒訛紝鍦↖E涓彲浠ヤ慨鏀規祻瑙堝櫒緙栫爜錛堝湪IE鐨勮彍鍗曚腑閫夋嫨"鏌ョ湅(V)"脿"緙栫爜(D)"涓慨鏀癸級錛屼絾閫氬父鎯呭喌涓嬶紝淇敼璇ュ弬鏁頒細浣垮師鏈紜殑欏甸潰涓嚭鐜頒貢鐮併備竴涓湁瓚g殑渚嬪瓙鏄紝鍦↖E涓祻瑙圙OOGLE鐨勪富欏墊椂錛屽皢嫻忚鍣ㄧ紪鐮佷慨鏀逛負"綆浣撲腑鏂囷紙GB2312錛?錛屾鏃訛紝欏甸潰涓婄殑涓枃浼氬彉鎴愪貢鐮侊紝涓嶇悊瀹冿紝鍦ㄦ枃鏈涓緭鍏?姹夊瓧"錛屾彁浜わ紝GOOGLE浼氬皢鍏剁紪鐮佷負"%BA%BA%D7%D6"錛屽彲瑙侊紝嫻忚鍣ㄥ湪瀵逛腑鏂囪繘琛孶RL緙栫爜鏃訛紝浣跨敤鐨勫氨鏄祻瑙堝櫒緙栫爜銆?br />
銆銆寮勬竻浜嗘祻瑙堝櫒鏄湪鎺ユ敹鍜屽彂閫佹暟鎹椂錛屾槸濡備綍瀵規暟鎹繘琛岀紪鐮佺殑浜嗭紝鎴戜滑鍐嶆潵鐪嬬湅鏈嶅姟鍣ㄦ槸鍦ㄦ帴鏀跺拰鍙戦佹暟鎹椂錛屾槸濡備綍瀵規暟鎹繘琛岀紪鐮佺殑銆?br />
銆銆瀵逛簬鍙戦佹暟鎹紝鏈嶅姟鍣ㄦ寜鐓esponse.setCharacterEncoding鈥攃ontentType鈥攑ageEncoding鐨勪紭鍏堥『搴忥紝瀵硅鍙戦佺殑鏁版嵁榪涜緙栫爜銆?br />
銆銆瀵逛簬鎺ユ敹鏁版嵁錛岃鍒嗕笁縐嶆儏鍐點備竴縐嶆槸嫻忚鍣ㄧ洿鎺ョ敤URL鎻愪氦鐨勬暟鎹紝鍙﹀涓ょ鏄敤琛ㄥ崟鐨凣ET鍜孭OST鏂瑰紡鎻愪氦鐨勬暟鎹?br />
銆銆鍥犱負鍚勭WEB鏈嶅姟鍣ㄥ榪欎笁縐嶆柟寮忕殑澶勭悊涔熶笉鐩稿悓錛屾墍浠ユ垜浠互Tomcat5.0涓轟緥銆?br />
銆銆鏃犺浣跨敤閭g鏂瑰紡鎻愪氦錛屽鏋滃弬鏁頒腑鍖呭惈涓枃錛屾祻瑙堝櫒閮戒細浣跨敤褰撳墠嫻忚鍣ㄧ紪鐮佸鍏惰繘琛孶RL緙栫爜銆?br />
銆銆瀵逛簬琛ㄥ崟涓璓OST鏂瑰紡鎻愪氦鐨勬暟鎹紝鍙鍦ㄦ帴鏀舵暟鎹殑JSP涓紜畆equest.setCharacterEncoding鍙傛暟錛屽嵆灝嗗瀹㈡埛绔姹傝繘琛岄噸鏂扮紪鐮佺殑緙栫爜璁劇疆鎴愭祻瑙堝櫒緙栫爜錛屽氨鍙互淇濊瘉寰楀埌鐨勫弬鏁扮紪鐮佹紜傛湁鍐欒鑰呭彲鑳戒細闂紝閭e浣曞緱鍒版祻瑙堝櫒緙栫爜鍛紵涓婇潰鎴戜滑鎻愯繃浜嗭紝鍦ㄩ粯璁よ鎯呭喌涓嬶紝嫻忚鍣ㄧ紪鐮佸氨鏄綘鍦ㄥ搷搴旇璇鋒眰鐨凧SP欏甸潰涓璻esponse.setCharacterEncoding璁劇疆鐨勫箋傛墍浠ュ浜嶱OST琛ㄥ崟鎻愪氦鐨勬暟鎹紝鍦ㄨ幏寰楁暟鎹殑JSP欏甸潰涓璻equest.setCharacterEncoding瑕佸拰鐢熸垚鎻愪氦璇ヨ〃鍗曠殑JSP欏甸潰鐨?response.setCharacterEncoding璁劇疆鎴愮浉鍚岀殑鍊箋?br />
銆銆瀵逛簬URL鎻愪氦鐨勬暟鎹拰琛ㄥ崟涓璆ET鏂瑰紡鎻愪氦鐨勬暟鎹紝鍦ㄦ帴鏀舵暟鎹殑JSP涓緗畆equest.setCharacterEncoding鍙傛暟鏄笉琛岀殑錛屽洜涓哄湪Tomcat5.0涓紝榛樿鎯呭喌涓嬩嬌鐢↖SO- 8859-1瀵筓RL鎻愪氦鐨勬暟鎹拰琛ㄥ崟涓璆ET鏂瑰紡鎻愪氦鐨勬暟鎹繘琛岄噸鏂扮紪鐮侊紙瑙g爜錛夛紝鑰屼笉浣跨敤璇ュ弬鏁板URL鎻愪氦鐨勬暟鎹拰琛ㄥ崟涓璆ET鏂瑰紡鎻愪氦鐨勬暟鎹繘琛岄噸鏂扮紪鐮侊紙瑙g爜錛夈傝瑙e喅璇ラ棶棰橈紝搴旇鍦═omcat鐨勯厤緗枃浠剁殑Connector鏍囩涓緗畊seBodyEncodingForURI鎴栬?URIEncoding灞炴э紝鍏朵腑useBodyEncodingForURI鍙傛暟琛ㄧず鏄惁鐢╮equest.setCharacterEncoding 鍙傛暟瀵筓RL鎻愪氦鐨勬暟鎹拰琛ㄥ崟涓璆ET鏂瑰紡鎻愪氦鐨勬暟鎹繘琛岄噸鏂扮紪鐮侊紝鍦ㄩ粯璁ゆ儏鍐典笅錛岃鍙傛暟涓篺alse錛圱omcat4.0涓鍙傛暟榛樿涓簍rue錛夛紱 URIEncoding鍙傛暟鎸囧畾瀵規墍鏈塆ET鏂瑰紡璇鋒眰錛堝寘鎷琔RL鎻愪氦鐨勬暟鎹拰琛ㄥ崟涓璆ET鏂瑰紡鎻愪氦鐨勬暟鎹級榪涜緇熶竴鐨勯噸鏂扮紪鐮侊紙瑙g爜錛夌殑緙栫爜銆?URIEncoding鍜寀seBodyEncodingForURI鍖哄埆鏄紝URIEncoding鏄鎵鏈塆ET鏂瑰紡鐨勮姹傜殑鏁版嵁榪涜緇熶竴鐨勯噸鏂扮紪鐮侊紙瑙g爜錛夛紝鑰寀seBodyEncodingForURI鍒欐槸鏍規嵁鍝嶅簲璇ヨ姹傜殑欏甸潰鐨剅equest.setCharacterEncoding鍙傛暟瀵規暟鎹繘琛岀殑閲嶆柊緙栫爜錛堣В鐮侊級錛屼笉鍚岀殑欏甸潰鍙互鏈変笉鍚岀殑閲嶆柊緙栫爜錛堣В鐮侊級鐨勭紪鐮併傛墍浠ュ浜嶶RL鎻愪氦鐨勬暟鎹拰琛ㄥ崟涓璆ET鏂瑰紡鎻愪氦鐨勬暟鎹紝鍙互淇敼 URIEncoding鍙傛暟涓烘祻瑙堝櫒緙栫爜鎴栬呬慨鏀箄seBodyEncodingForURI涓簍rue錛屽茍涓斿湪鑾峰緱鏁版嵁鐨凧SP欏甸潰涓?request.setCharacterEncoding鍙傛暟璁劇疆鎴愭祻瑙堝櫒緙栫爜銆?br />
銆銆涓嬮潰鎬葷粨涓嬶紝浠omcat5.0涓篧EB鏈嶅姟鍣ㄦ椂錛屽浣曢槻姝腑鏂囦貢鐮併?br />
1銆?瀵逛簬鍚屼竴涓簲鐢紝鏈濂界粺涓緙栫爜錛屾帹鑽愪負UTF-8錛屽綋鐒禛BK涔熷彲浠ャ?br />
2銆?姝g‘璁劇疆JSP鐨刾ageEncoding鍙傛暟

3銆?鍦ㄦ墍鏈夌殑JSP/Servlet涓緗甤ontentType="text/html;charset=UTF-8"鎴杛esponse.setCharacterEncoding("UTF-8")錛屼粠鑰岄棿鎺ュ疄鐜板嫻忚鍣ㄧ紪鐮佺殑璁劇疆銆?br />
4銆?瀵逛簬璇鋒眰錛屽彲浠ヤ嬌鐢ㄨ繃婊ゅ櫒鎴栬呭湪姣忎釜JSP/Servlet涓緗畆equest.setCharacterEncoding("UTF-8")銆傚悓鏃訛紝瑕佷慨鏀筎omcat鐨勯粯璁ら厤緗紝鎺ㄨ崘灝唘seBodyEncodingForURI鍙傛暟璁劇疆涓簍rue錛屼篃鍙互灝哢RIEncoding鍙傛暟璁劇疆涓?UTF-8錛堟湁鍙兘褰卞搷鍏朵粬搴旂敤錛屾墍浠ヤ笉鎺ㄨ崘錛夈?img src ="http://m.tkk7.com/kemi/aggbug/137338.html" width = "1" height = "1" />

Kimi 2007-08-16 17:06 鍙戣〃璇勮
]]>
鏇存繁鍏ョ殑TOMCAT涓枃涔辯爜瑙e喅涔嬮亾錛屽寘鎷珿ET/POST錛堣漿錛?/title><link>http://m.tkk7.com/kemi/archive/2007/07/10/129221.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Tue, 10 Jul 2007 01:32:00 GMT</pubDate><guid>http://m.tkk7.com/kemi/archive/2007/07/10/129221.html</guid><wfw:comment>http://m.tkk7.com/kemi/comments/129221.html</wfw:comment><comments>http://m.tkk7.com/kemi/archive/2007/07/10/129221.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/kemi/comments/commentRss/129221.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/kemi/services/trackbacks/129221.html</trackback:ping><description><![CDATA[鍦╰omcat5涓彂鐜頒簡浠ュ墠澶勭悊tomcat4鐨勬柟娉曚笉鑳介傜敤浜庡鐞嗙洿鎺ラ氳繃url鎻愪氦鐨勮姹傦紝涓婄綉鎵捐祫鏂欑粓浜庡彂鐜頒簡鏈瀹岀編鐨勮В鍐沖姙娉曪紝涓嶇敤姣忎釜鍦版柟閮借漿鎹簡錛岃屼笖鏃犺get,鍜宲ost閮芥甯搞偮犅犅犅?br />聽聽<br />聽 ------------------- 聽 <br />聽 聽 <br />聽 闂鎻忚堪錛?聽 <br />聽 聽 <br />聽 1 聽 琛ㄥ崟鎻愪氦鐨勬暟鎹紝鐢╮equest.getParameter("xxx")榪斿洖鐨勫瓧絎︿覆涓轟貢鐮佹垨鑰咃紵錛?聽 <br />聽 2 聽 鐩存帴閫氳繃url濡俬ttp://localhost/a.jsp?name=涓浗錛岃繖鏍風殑get璇鋒眰鍦ㄦ湇鍔$鐢╮equest.getParameter("name")鏃惰繑鍥炵殑鏄貢鐮侊紱鎸塼omcat4鐨勫仛娉曡緗瓼ilter涔熸病鏈夌敤鎴栬呯敤request.setCharacterEncoding("GBK");涔熶笉綆$敤 聽 <br />聽 聽 <br />聽 鍘熷洜錛?聽 <br />聽 1 聽 tomcat鐨刯2ee瀹炵幇瀵硅〃鍗曟彁浜ゅ嵆post鏂瑰紡鎻愮ず鏃跺鐞嗗弬鏁伴噰鐢ㄧ己鐪佺殑iso-8859-1鏉ュ鐞?聽 <br />聽 2 聽 tomcat瀵筭et鏂瑰紡鎻愪氦鐨勮姹傚query-string 聽 澶勭悊鏃墮噰鐢ㄤ簡鍜宲ost鏂規硶涓嶄竴鏍風殑澶勭悊鏂瑰紡銆?涓巘omcat4涓嶄竴鏍?鎵浠ヨ緗畇etCharacterEncoding("GBK"))涓嶈搗浣滅敤銆?聽 <br />聽 聽 <br />聽 聽 <br />聽 瑙e喅鍔炴硶錛?聽 <br />聽 聽 <br />聽 棣栧厛鎵鏈夌殑jsp鏂囦歡閮藉姞涓? 聽 <br />聽 聽 <br />聽 聽 <br />聽 1 聽 瀹炵幇涓涓狥ilter.璁劇疆澶勭悊瀛楃闆嗕負GBK銆?鍦╰omcat鐨剋ebapps/servlet-examples鐩綍鏈変竴涓畬鏁寸殑渚嬪瓙銆傝鍙傝僿eb.xml鍜孲etCharacterEncodingFilter鐨勯厤緗? 聽 聽 <br />聽 聽 <br />聽 1)鍙鎶?TOMCAT瀹夎鐩綍%/ 聽 webapps\servlets-examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class鏂囦歡鎷峰埌浣犵殑WEB-INF\classes鐩綍filters涓嬶紝濡傛灉娌℃湁filters鐩綍錛屽氨鍒涘緩涓涓?聽 <br />聽 2)鍦ㄤ綘鐨剋eb.xml閲屽姞鍏ュ涓嬪嚑琛岋細 聽 <br />聽 聽 <br />聽 聽 聽 聽 聽 <filter> 聽 <br />聽 聽 聽 聽 聽 聽 聽 聽 聽 <filter-name>Set 聽 Character 聽 Encoding</filter-name> 聽 <br />聽 聽 聽 聽 聽 聽 聽 聽 聽 <filter-class>filters.SetCharacterEncodingFilter</filter-class> 聽 <br />聽 聽 聽 聽 聽 聽 聽 聽 聽 <init-param> 聽 <br />聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 <param-name>encoding</param-name> 聽 <br />聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 <param-value>GBK</param-value> 聽 <br />聽 聽 聽 聽 聽 聽 聽 聽 聽 </init-param> 聽 <br />聽 聽 聽 聽 聽 </filter> 聽 <br />聽 聽 <br />聽 聽 聽 聽 聽 <filter-mapping> 聽 <br />聽 聽 聽 聽 聽 聽 聽 聽 聽 <filter-name>Set 聽 Character 聽 Encoding</filter-name> 聽 <br />聽 聽 聽 聽 聽 聽 聽 聽 聽 <url-pattern>/*</url-pattern> 聽 <br />聽 聽 聽 聽 聽 </filter-mapping> 聽 <br />聽 聽 <br />聽 3)瀹屾垚. 聽 <br />聽 聽 <br />聽 2 聽 get鏂瑰紡鐨勮В鍐沖姙娉?聽 <br />聽 1) 聽 鎵撳紑tomcat鐨剆erver.xml鏂囦歡錛屾壘鍒板尯鍧楋紝鍔犲叆濡備笅涓琛岋細 聽 <br />聽 URIEncoding=鈥滸BK鈥?聽 <br />聽 瀹屾暣鐨勫簲濡備笅錛?聽 <br />聽 聽 聽 聽 聽 <Connector 聽 聽 <br />聽 port="80" 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 maxThreads="150" 聽 minSpareThreads="25" 聽 maxSpareThreads="75" 聽 <br />聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 enableLookups="false" 聽 redirectPort="8443" 聽 acceptCount="100" 聽 <br />聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 debug="0" 聽 connectionTimeout="20000" 聽 聽 <br />聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 disableUploadTimeout="true" 聽 URIEncoding="GBK" 聽 /> 聽 <br />聽 聽 <br />聽 2)閲嶅惎tomcat,涓鍒嘜K銆?聽 <br />聽 聽 <br />聽 鎵ц濡備笅jsp欏甸〉嫻嬭瘯鏄惁鎴愬姛 聽 <br />聽 聽 <br />聽 聽 <br />聽 <%@ 聽 page 聽 contentType="text/html;charset=gb2312"%> 聽 <br />聽 <%@ 聽 page 聽 import="java.util.*"%> 聽 <br />聽 <% 聽 <br />聽 聽 聽 聽 聽 String 聽 q=request.getParameter("q"); 聽 <br />聽 聽 聽 聽 聽 q 聽 = 聽 q 聽 == 聽 null? 聽 "娌℃湁鍊? 聽 : 聽 q; 聽 <br />聽 %> 聽 <br />聽 <HTML> 聽 <br />聽 <HEAD><TITLE>鏂伴椈鍒楄〃鏄劇ず</TITLE> 聽 <br />聽 <META 聽 http-equiv=Content-Type 聽 content="text/html; 聽 charset=gb2312"> 聽 <br />聽 <META 聽 http-equiv=pragma 聽 content=no-cache> 聽 <br />聽 </HEAD> 聽 <br />聽 聽 <br />聽 <body> 聽 <br />聽 浣犳彁浜や簡錛?聽 <br />聽 <%=q%> 聽 <br />聽 <br> 聽 <br />聽 <form 聽 action="tcnchar.jsp" 聽 method="post"> 聽 <br />聽 杈撳叆涓枃:<input 聽 type="text" 聽 name="q"><input 聽 type="submit" 聽 value="紜畾"> 聽 <br />聽 <br> <a 聽 href="tcnchar.jsp?q=涓浗">閫氳繃get鏂瑰紡鎻愪氦</a> 聽 <br />聽 </form> 聽 <br />聽 </BODY> 聽 <br />聽 </HTML> 聽 <br />聽 聽 <br />聽 嫻嬭瘯緇撴灉濡傛灉浣犺緭鍏ユ枃鏈鎴栬呯偣瓚呴摼閮戒細鏄劇ず:浣犳彁浜や簡鈥濅腑鍥解?璇存槑鎴愬姛!!!!!聽聽 <br /><img src ="http://m.tkk7.com/kemi/aggbug/129221.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/kemi/" target="_blank">Kimi</a> 2007-07-10 09:32 <a href="http://m.tkk7.com/kemi/archive/2007/07/10/129221.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Tomcat涓枃涔辯爜闂鍘熷洜鍜岃В鍐蟲柟娉?/title><link>http://m.tkk7.com/kemi/archive/2007/07/10/129220.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Tue, 10 Jul 2007 01:31:00 GMT</pubDate><guid>http://m.tkk7.com/kemi/archive/2007/07/10/129220.html</guid><wfw:comment>http://m.tkk7.com/kemi/comments/129220.html</wfw:comment><comments>http://m.tkk7.com/kemi/archive/2007/07/10/129220.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/kemi/comments/commentRss/129220.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/kemi/services/trackbacks/129220.html</trackback:ping><description><![CDATA[鑷粠鎺ヨЕJava鍜孞SP浠ユ潵錛屽氨涓嶆柇涓嶫ava鐨勪腑鏂囦貢鐮侀棶棰樻墦浜ら亾錛岀幇鍦ㄧ粓浜庡緱鍒頒簡褰誨簳鐨勮В鍐籌紝鐜板皢鎴戜滑鐨勮В鍐沖績寰椾笌澶у鍏變韓銆? <p>銆銆涓銆丣ava涓枃闂鐨勭敱鏉?/p><p>銆銆Java鐨勫唴鏍稿拰class鏂囦歡鏄熀浜巙nicode鐨勶紝榪欎嬌Java紼嬪簭鍏鋒湁鑹ソ鐨勮法騫沖彴鎬э紝浣嗕篃甯︽潵浜嗕竴浜涗腑鏂囦貢鐮侀棶棰樼殑楹葷儲銆傚師鍥犱富瑕佹湁涓ゆ柟闈紝Java鍜孞SP鏂囦歡鏈韓緙栬瘧鏃朵駭鐢熺殑涔辯爜闂鍜孞ava紼嬪簭浜庡叾浠栧獟浠嬩氦浜掍駭鐢熺殑涔辯爜闂銆?/p><p>銆銆棣栧厛Java錛堝寘鎷琂SP錛夋簮鏂囦歡涓緢鍙兘鍖呭惈鏈変腑鏂囷紝鑰孞ava鍜孞SP婧愭枃浠剁殑淇濆瓨鏂瑰紡鏄熀浜庡瓧鑺傛祦鐨勶紝濡傛灉Java鍜孞SP緙栬瘧鎴恈lass鏂囦歡榪囩▼涓紝浣跨敤鐨勭紪鐮佹柟寮忎笌婧愭枃浠剁殑緙栫爜涓嶄竴鑷達紝灝變細鍑虹幇涔辯爜銆傚熀浜庤繖縐嶄貢鐮侊紝寤鴻鍦↗ava鏂囦歡涓敖閲忎笉瑕佸啓涓枃錛堟敞閲婇儴鍒嗕笉鍙備笌緙栬瘧錛屽啓涓枃娌″叧緋伙級錛屽鏋滃繀欏誨啓鐨勮瘽錛屽敖閲忔墜鍔ㄥ甫鍙傛暟錛峞coding GBK鎴栵紞ecoding gb2312緙栬瘧錛涘浜嶫SP錛屽湪鏂囦歡澶村姞涓?lt;%@ page contentType="text/html;charset=GBK"%>鎴?lt;%@ page contentType="text/html;charset=gb2312"%>鍩烘湰涓婂氨鑳借В鍐寵繖綾諱貢鐮侀棶棰樸?/p><p>銆銆鏈枃瑕侀噸鐐硅璁虹殑鏄浜岀被涔辯爜錛屽嵆Java紼嬪簭涓庡叾浠栧瓨鍌ㄥ獟浠嬩氦浜掓椂浜х敓鐨勪貢鐮併傚緢澶氬瓨鍌ㄥ獟浠嬶紝濡傛暟鎹簱錛屾枃浠訛紝嫻佺瓑鐨勫瓨鍌ㄦ柟寮忛兘鏄熀浜庡瓧鑺傛祦鐨勶紝Java紼嬪簭涓庤繖浜涘獟浠嬩氦浜掓椂灝變細鍙戠敓瀛楃(char)涓庡瓧鑺?byte)涔嬮棿鐨勮漿鎹紝渚嬪浠庨〉闈㈡彁浜よ〃鍗曚腑鎻愪氦鐨勬暟鎹湪Java紼嬪簭閲屾樉紺轟貢鐮佺瓑鎯呭喌銆?/p><p>銆銆濡傛灉鍦ㄤ互涓婅漿鎹㈣繃紼嬩腑浣跨敤鐨勭紪鐮佹柟寮忎笌瀛楄妭鍘熸湁鐨勭紪鐮佷笉涓鑷達紝寰堝彲鑳藉氨浼氬嚭鐜頒貢鐮併?/p><p>銆銆浜屻佽В鍐蟲柟娉?/p><p>銆銆瀵逛簬嫻佽鐨凾omcat鏉ヨ錛屾湁浠ヤ笅涓ょ瑙e喅鏂規硶錛?/p><p>銆銆1) 鏇存敼 D:\Tomcat\conf\server.xml錛屾寚瀹氭祻瑙堝櫒鐨勭紪鐮佹牸寮忎負鈥滅畝浣撲腑鏂団濓細</p><p>銆銆鏂規硶鏄壘鍒?server.xml 涓殑</p><p>聽聽聽 <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"<br />聽聽聽 enableLookups="false" redirectPort="8443" acceptCount="100"<br />聽聽聽 connectionTimeout="20000" disableUploadTimeout="true" <strong>URIEncoding='GBK'</strong> /><br /></p><p>銆銆鏍囪錛岀矖浣撳瓧鏄垜娣誨姞鐨勩?/p><p>銆銆鍙互榪欐牱楠岃瘉浣犵殑鏇存敼鏄惁鎴愬姛錛氬湪鏇存敼鍓嶏紝鍦ㄤ綘鍑虹幇涔辯爜鐨勯〉闈㈢殑IE嫻忚鍣紝鐐瑰嚮鑿滃崟鈥滄煡鐪嬶綔緙栫爜鈥濓紝浼氬彂鐜扳滆タ嬈?ISO)鈥濆浜庨変腑鐘舵併傝屾洿鏀瑰悗錛岀偣鍑昏彍鍗曗滄煡鐪嬶綔緙栫爜鈥濓紝浼氬彂鐜扳滅畝浣撲腑鏂?GB2312)鈥濆浜庨変腑鐘舵併?/p><p>銆銆b)鏇磋 Java 紼嬪簭錛屾垜鐨勭▼搴忔槸榪欐牱鐨勶細</p><p>public class ThreeParams extends HttpServlet {<br />聽 public void doGet(HttpServletRequest request, HttpServletResponse response)<br />聽聽 throws ServletException, IOException {<br />聽聽聽聽聽 <strong>response.setContentType("text/html; charset=GBK");<br /></strong>聽聽聽聽聽 ...<br />聽 }聽 <br />}<br /></p><p>銆銆綺椾綋瀛楁槸蹇呴渶瑕佹湁鐨勶紝瀹冪殑浣滅敤鏄嫻忚鍣ㄦ妸Unicode瀛楃杞崲涓篏BK瀛楃銆傝繖鏍烽〉闈㈢殑鍐呭鍜屾祻瑙堝櫒鐨勬樉紺烘ā寮忛兘璁炬垚浜咷BK錛屽氨涓嶄細涔辯爜浜嗐?/p><img src ="http://m.tkk7.com/kemi/aggbug/129220.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/kemi/" target="_blank">Kimi</a> 2007-07-10 09:31 <a href="http://m.tkk7.com/kemi/archive/2007/07/10/129220.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>(鍘熷垱) 浣跨敤AXIS 瀹炵幇闄勪歡涓婁紶鍒版湇鍔″櫒http://m.tkk7.com/kemi/archive/2007/07/06/128621.htmlKimiKimiFri, 06 Jul 2007 08:53:00 GMThttp://m.tkk7.com/kemi/archive/2007/07/06/128621.htmlhttp://m.tkk7.com/kemi/comments/128621.htmlhttp://m.tkk7.com/kemi/archive/2007/07/06/128621.html#Feedback0http://m.tkk7.com/kemi/comments/commentRss/128621.htmlhttp://m.tkk7.com/kemi/services/trackbacks/128621.htmlpackage com.telecom.communication;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;

import javax.activation.DataHandler;

import org.apache.axis.attachments.ManagedMemoryDataSource;
import org.apache.axis.types.URI;
import org.apache.struts.upload.FormFile;

import cn.com.chinatelecom.www.schema.ctcc.common.v2_1.SimpleReference;
import cn.com.chinatelecom.www.schema.ctcc.multimedia_messaging.v2_2.MessagePriority;
import cn.com.chinatelecom.www.wsdl.ctcc.multimedia_messaging.send.v2_2._interface.SendMessage;
import cn.com.chinatelecom.www.wsdl.ctcc.multimedia_messaging.send.v2_2.service.SendMessageServiceLocator;

import com.telecom.dao.DBLinker;
import com.telecom.util.AttachPart;
import com.telecom.util.Sequence;

public class MMS_send {
聽public MMS_send() {

聽}

聽private AttachPart attachmentParts[];

聽private static SimpleReference _receipt_request;

聽聽聽public void saveMmsMessage(String filepath, AttachPart[] ap,String mmsRoad) {
聽聽for (int i = 0; i < ap.length; i++) {
聽聽聽AttachPart part = ap[i];
聽聽聽try {
聽聽聽聽String s=saveAttachmentMessage(part.getContent().getInputStream(), part
聽聽聽聽聽聽.getContentType(), mmsRoad, filepath);
聽聽聽聽System.out.println("last s:"+s);

聽聽聽} catch (Exception e) {

聽聽聽聽e.printStackTrace();

聽聽聽}
聽聽}

聽}

聽public String saveAttachmentMessage(InputStream in, String contentType,
聽聽聽String fileName, String folderPath) throws Exception {
聽聽System.out.println("FileName: "+fileName);
聽聽// 鎵撳紑澶氬獟浣撳簱
聽聽File file = new File(folderPath + "/mmsImage");
聽聽// 濡傛灉濯掍綋搴撲笉瀛樺湪鍒欏緩璁懼濯掍綋搴?br />聽聽if (!file.exists()) {
聽聽聽file.mkdirs();
聽聽}
聽聽// 灝嗗浘鐗囧瓨鏀懼埌澶氬獟浣撳簱,騫朵繚瀛樺叾淇℃伅鍒版暟鎹簱
聽聽String filePath = file.getAbsolutePath();

聽聽BufferedInputStream bin = null;
聽聽OutputStream os = null;

聽聽try {
聽聽聽bin = new BufferedInputStream(in);
聽聽聽file = new File(filePath + "/" + fileName);
聽聽聽if (!file.exists()) {
聽聽聽聽file.createNewFile();
聽聽聽}
聽聽聽os = new FileOutputStream(file);
聽聽聽byte[] bytes = new byte[1];
聽聽聽int beginIndex = 0;
聽聽聽int endIndex = beginIndex + 1;
聽聽聽while (true) {
聽聽聽聽int _read = bin.read(bytes, beginIndex, endIndex);
聽聽聽聽if (_read == -1) {
聽聽聽聽聽break;
聽聽聽聽}
聽聽聽聽os.write(bytes);
聽聽聽}
聽聽聽String contextPathFileName = "mmsImage/" + fileName;
聽聽聽bin.close();
聽聽聽in.close();
聽聽聽os.close();
聽聽聽return contextPathFileName;
聽聽} catch (IOException e) {
聽聽聽e.printStackTrace();
聽聽聽throw new Exception();
聽聽} catch (Exception e) {
聽聽聽e.printStackTrace();
聽聽聽throw new Exception();
聽聽} finally {
聽聽聽try {
聽聽聽聽bin.close();
聽聽聽聽in.close();
聽聽聽聽os.close();
聽聽聽} catch (IOException e) {
聽聽聽聽throw new Exception();
聽聽聽}

聽聽}
聽}

聽public AttachPart buildEMAttachmentPartFromFile(FormFile mmsFile) {
聽聽AttachPart attchmentPart = new AttachPart();
聽聽try {
聽聽聽InputStream in = mmsFile.getInputStream();
聽聽聽String contentType = mmsFile.getContentType();
聽聽聽if ("image/pjpeg".equals(contentType))
聽聽聽聽contentType = "image/jpeg";
聽聽聽ManagedMemoryDataSource source = new ManagedMemoryDataSource(
聽聽聽聽聽mmsFile.getInputStream(), 16384, contentType, true);
聽聽聽attchmentPart.setContent(source);
聽聽聽attchmentPart.setContentType(mmsFile.getContentType());
聽聽聽String fileName = mmsFile.getFileName();
聽聽聽String suffix = fileName.substring(fileName.indexOf('.'));
聽聽聽attchmentPart.setFileName(Sequence.getID("") + suffix);
聽聽} catch (FileNotFoundException e) {
聽聽聽e.printStackTrace();
聽聽} catch (IOException e) {
聽聽聽e.printStackTrace();
聽聽}
聽聽return attchmentPart;
聽}

聽public static void main(String[] args) {
聽聽Sag_sms s = new Sag_sms();
聽聽try {
聽聽聽s.sendSmsBySAG("13977770119", "娉曞緥", "1004");
聽聽} catch (Exception ex) {
聽聽聽ex.printStackTrace();
聽聽} finally {
聽聽}

聽}

}



Kimi 2007-07-06 16:53 鍙戣〃璇勮
]]>
鍐嶅涔燗XIS鐨刉EB鏈嶅姟 錛堣漿錛?/title><link>http://m.tkk7.com/kemi/archive/2007/06/11/123364.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Mon, 11 Jun 2007 04:56:00 GMT</pubDate><guid>http://m.tkk7.com/kemi/archive/2007/06/11/123364.html</guid><wfw:comment>http://m.tkk7.com/kemi/comments/123364.html</wfw:comment><comments>http://m.tkk7.com/kemi/archive/2007/06/11/123364.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/kemi/comments/commentRss/123364.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/kemi/services/trackbacks/123364.html</trackback:ping><description><![CDATA[     鎽樿: 涓嬭澆 Apache Axis 鐢ㄦ潵瀹炵幇 SOAP( 綆鍗曞璞¤闂崗璁? ) 銆? http://ws.apache.org/axis/ ...  <a href='http://m.tkk7.com/kemi/archive/2007/06/11/123364.html'>闃呰鍏ㄦ枃</a><img src ="http://m.tkk7.com/kemi/aggbug/123364.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/kemi/" target="_blank">Kimi</a> 2007-06-11 12:56 <a href="http://m.tkk7.com/kemi/archive/2007/06/11/123364.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍊煎緱娣辨濈殑涓涓狫SP鏂囦歡錛?http://m.tkk7.com/kemi/archive/2007/04/24/113199.htmlKimiKimiTue, 24 Apr 2007 07:42:00 GMThttp://m.tkk7.com/kemi/archive/2007/04/24/113199.htmlhttp://m.tkk7.com/kemi/comments/113199.htmlhttp://m.tkk7.com/kemi/archive/2007/04/24/113199.html#Feedback0http://m.tkk7.com/kemi/comments/commentRss/113199.htmlhttp://m.tkk7.com/kemi/services/trackbacks/113199.html1.Struts涓嬮潰Vector灞呯劧涓嶅湪bean 鐨勫睘鎬ц璇嗚寖鐣達紝鑰孲tring[]鍙錛?br />2.欏甸潰鍒鋒柊鐨勬椂鍊欙紝鍙互鍦?lt;HEAD>澶勮緗畁o-cache錛屽畬鎴愪簡欏甸潰鐨勫埛鏂頒換鍔★紝浣嗘槸鑰楄垂璧勬簮浜嗐?br />
<%@ page contentType="text/html; charset=gb2312" language="java"
聽import="java.sql.*" errorPage=""%>
<%@ page import="com.telecom.common.form.DepForm"%>
<%@ page import="java.sql.Connection"%>
<%@ page import="java.sql.ResultSet"%>
<%@ page import="java.sql.Statement"%>
<%@ page import="java.util.Vector"%>
<%@ page import="com.telecom.dao.DBLinker"%>
<%@ page import="com.telecom.common.form.EnterpriseNumForm"%>


<%
聽EnterpriseNumForm enf = new EnterpriseNumForm();
聽Connection conn = null;
聽ResultSet rs = null;
聽ResultSet rs2 = null;
聽Statement sta = null;
聽Statement sta2 = null;
聽try {
聽聽conn = (Connection) DBLinker.linkDB();
聽聽String sql1 = "select distinct(strEnID) eid from tbEnterpriseNum";
聽聽rs = null;
聽聽sta = conn.createStatement();
聽聽rs = sta.executeQuery(sql1);
聽聽if (rs.next()) {
聽聽聽enf.setEnID(rs.getString("eid"));
聽聽}else{
聽聽enf.setEnID("0000");
聽聽}

聽聽String sql2 = "select distinct(strPresentNum) pn from tbEnterpriseNum ";
聽聽rs2 = null;
聽聽sta2 = conn.createStatement();
聽聽rs2 = sta2.executeQuery(sql2);
聽聽Vector v = new Vector();
聽聽
聽聽while (rs2.next()) {
聽聽聽v.add(rs2.getString("PN"));
聽聽}
聽聽String[] s=new String[v.size()];
聽聽for(int i=0;i<v.size();i++){
聽聽s[i]=v.elementAt(i).toString();
聽聽}
聽聽enf.setNums(s);
聽聽System.out.println(v.size());
聽聽//session.setAttribute("enf",enf);
聽} catch (Exception e) {
聽} finally {
聽聽rs2.close();
聽聽rs.close();
聽聽sta.close();
聽聽sta2.close();
聽聽conn.close();
聽}
%>


<html>
聽<head>
聽聽<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
聽聽<link rel="stylesheet" type="text/css" href="../include/style.css">
聽聽<title>璇︾粏淇℃伅</title>
聽聽<script language="javascript">

function checkNum(){
聽聽聽聽selectAllMember(form1.nums);
聽聽聽聽form1.submit();
聽聽聽
聽聽}
function selectAllMember(selection)
聽聽{
聽聽聽var ops=selection.options;
聽聽聽for(var i=0;i<ops.length;i++)
聽聽聽{
聽聽聽聽ops[i].selected=true;
聽聽聽}
聽聽}
function deleteSelectedMember(selection)
聽聽{
聽聽聽var ops=selection.options;
聽聽聽for(var i=0;i<ops.length;i++)
聽聽聽{
聽聽聽聽if(ops[i].selected==true)
聽聽聽聽{
聽聽聽聽聽selection.remove(i);
聽聽聽聽聽i--;
聽聽聽聽}
聽聽聽}
聽聽}
function other_add(){
聽聽聽聽聽聽聽 if(form1.otherNum.value==""){
聽聽alert("涓嶈兘涓虹┖");
聽聽}else{
聽聽additemNoRepeat(form1.otherNum.value,form1.otherNum.value,form1.nums);
聽聽}

}

function additemNoRepeat(Otext,Ovalue,selectElement){//涓嶉噸澶嶇殑娣誨姞
聽for(j=0;j<selectElement.options.length;j++){
聽聽if(selectElement.options[j].value==Ovalue){
聽聽聽var flag=1;
聽聽聽alert(Otext+"宸叉坊鍔?);
聽聽聽break;
聽聽}
聽}
聽if(flag!=1){
聽聽selectElement.options[selectElement.options.length]=new Option(Otext,Ovalue);
聽}
}
聽聽

</script>
聽聽<style type="text/css">
<!--
.style3 {FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #246bad; LINE-HEIGHT: 2 }
body {
聽background-color: #E7F0FA;
}
-->
</style>
<meta http-equiv="pragma" content="no-cache">

<%response.setHeader("Pragma","No-cache");聽
聽聽聽聽聽聽聽 response.setHeader("Cache-Control","no-cache");聽
聽聽聽聽聽聽聽 response.addHeader("Expires","Thu, 01 Jan 1970 00:00:01 GMT");聽
聽聽聽聽聽聽聽 response.flushBuffer();%>

聽</head>

聽<body opener.location.reload()">

聽聽<table width="100%">
聽聽聽<tr>
聽聽聽聽<td bgcolor="#ffffff">
聽聽聽聽聽<table width="530" border="0" cellpadding="0" cellspacing="0"
聽聽聽聽聽聽style="word-break:break-all; ">
聽聽聽聽聽聽<tr>
聽聽聽聽聽聽聽<td width="60" background="../linkman/images/s22.jpg">
聽聽聽聽聽聽聽聽&nbsp;
聽聽聽聽聽聽聽</td>
聽聽聽聽聽聽聽<td width="447" background="../linkman/images/s23.jpg">
聽聽聽聽聽聽聽聽&nbsp;
聽聽聽聽聽聽聽聽<span class="style3">淇敼浼佷笟鍙風爜鍜屼富鍙粦瀹氬彿鐮?lt;/span>
聽聽聽聽聽聽聽</td>
聽聽聽聽聽聽聽<td width="6">
聽聽聽聽聽聽聽聽<img src="../linkman/images/s24.jpg" width="6" height="58">
聽聽聽聽聽聽聽</td>
聽聽聽聽聽聽聽<td width="17"></td>
聽聽聽聽聽聽</tr>

聽聽聽聽聽聽<tr>
聽聽聽聽聽聽聽<td colspan="4">
聽聽聽聽聽聽聽聽<table width="100%" border="0" cellpadding="0" cellspacing="0">
聽聽聽聽聽聽聽聽聽<tr>
聽聽聽聽聽聽聽聽聽聽<td width="17">
聽聽聽聽聽聽聽聽聽聽聽&nbsp;
聽聽聽聽聽聽聽聽聽聽</td>
聽聽聽聽聽聽聽聽聽聽<td bgcolor="#e7f0fa">
聽聽聽聽聽聽聽聽聽聽聽<table width="94%" border="0" align="center" cellpadding="0"
聽聽聽聽聽聽聽聽聽聽聽聽cellspacing="0">
聽聽聽聽聽聽聽聽聽聽聽聽<form name="form1" method="post"
聽聽聽聽聽聽聽聽聽聽聽聽聽action="../companyadmin/EditENF.do?method=SaveENF" >
聽聽聽聽聽聽聽聽聽聽聽聽<tr>
聽聽聽聽聽聽聽聽聽聽聽聽聽<td width="17%" height="25">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽浼佷笟鍙風爜錛?br />聽聽聽聽聽聽聽聽聽聽聽聽聽</td>
聽聽聽聽聽聽聽聽聽聽聽聽聽<td width="100%" height="25">
聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽<input name="enID" type="text" id="enID"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽value="<%=enf.getEnID()%>">
聽聽聽聽聽聽聽聽聽聽聽聽聽</td>
聽聽聽聽聽聽聽聽聽聽聽聽</tr>
聽聽聽聽聽聽聽聽聽聽聽聽<tr>
聽聽聽聽聽聽聽聽聽聽聽聽聽<td width="17%" height="25">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽涓誨彨緇戝畾鍙風爜錛?br />聽聽聽聽聽聽聽聽聽聽聽聽聽</td>
聽聽聽聽聽聽聽聽聽聽聽聽聽<td>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽<select name="nums" size="20" multiple id="nums"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽style="width:64%">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<%
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽String[] v = enf.getNums();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(v.length);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽if (v.length != 0) {

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽for (int k = 0; k < v.length; k++) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽String oldpn = new String();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽oldpn = v[k];
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(oldpn);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽%>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<option value="<%=oldpn%>">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<%=oldpn%>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽</option>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<%
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽%>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽</select>

聽聽聽聽聽聽聽聽聽聽聽聽 聽聽<input type="button" name="Submit" value="鍒犻櫎鍙風爜"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽onClick="deleteSelectedMember(document.all.nums)">

聽聽聽聽聽聽聽聽聽聽聽聽聽</td>
聽聽聽聽聽聽聽聽聽聽聽聽</tr>
聽聽聽聽聽聽聽聽聽聽聽聽<tr>
聽聽聽聽聽聽聽聽聽聽聽聽聽<td height="30" scope="col">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽璇瘋緭鍏ュ彿鐮?
聽聽聽聽聽聽聽聽聽聽聽聽聽</td>
聽聽聽聽聽聽聽聽聽聽聽聽聽<td>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽<input聽 type="text" id="otherNum">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽&nbsp;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽<input type="button" name="Submit" value="娣誨姞"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽onClick="other_add()">

聽聽聽聽聽聽聽聽聽聽聽聽聽</td>
聽聽聽聽聽聽聽聽聽聽聽聽</tr>

聽聽聽聽聽聽聽聽聽聽聽聽</form>
聽聽聽聽聽聽聽聽聽聽聽</table>
聽聽聽聽聽聽聽聽聽聽</td>
聽聽聽聽聽聽聽聽聽聽<td width="17">
聽聽聽聽聽聽聽聽聽聽聽&nbsp;
聽聽聽聽聽聽聽聽聽聽</td>
聽聽聽聽聽聽聽聽聽</tr>
聽聽聽聽聽聽聽聽</table>
聽聽聽聽聽聽聽</td>
聽聽聽聽聽聽</tr>

聽聽聽聽聽聽<tr>
聽聽聽聽聽聽聽<td height="30" colspan="4">
聽聽聽聽聽聽聽聽<div align="center">
聽聽聽聽聽聽聽聽聽<a href="javascript:checkNum();">淇濆瓨璁劇疆</a>

聽聽聽聽聽聽聽聽</div>
聽聽聽聽聽聽聽</td>
聽聽聽聽聽聽</tr>
聽聽聽聽聽</table>
聽聽聽聽</td>
聽聽聽</tr>
聽聽</table>

聽</body>
</html>



Kimi 2007-04-24 15:42 鍙戣〃璇勮
]]>
AXIS 寮鍙?WS 嫻佺▼http://m.tkk7.com/kemi/archive/2007/03/01/101298.htmlKimiKimiThu, 01 Mar 2007 12:08:00 GMThttp://m.tkk7.com/kemi/archive/2007/03/01/101298.htmlhttp://m.tkk7.com/kemi/comments/101298.htmlhttp://m.tkk7.com/kemi/archive/2007/03/01/101298.html#Feedback2http://m.tkk7.com/kemi/comments/commentRss/101298.htmlhttp://m.tkk7.com/kemi/services/trackbacks/101298.html Axis 閮ㄧ講璇存槑

1錛?span style="FONT: 7pt 'Times New Roman'"> 瀹夎 axis 錛氬皢 axis 鍙戝竷鍖咃紙 webapps\axis 錛夊鍒跺埌鏈嶅姟鍣ㄩ儴緗茬殑鐩綍涓?/span> D:\Tomcat 5.0\webapps 錛屽惎鍔?/span> tomcat 錛岃闂?/span> http://192.168.0.51:7070/axis/ 錛?/span> axis 瀹夎瀹屾垚

2 . 娣誨姞蹇呰鐨勭被鍖咃細灝嗙敓鎴?/span> webservice 鎵闇鐨?/span> jar 鍖呮嫹璐濊嚦錛?/span> D:\Tomcat 5.0\webapps\axis\WEB-INF\lib 錛夌洰褰曚笅錛屽茍灝嗙被鍜岄厤緗枃浠剁瓑鎷瘋礉鑷?/span> D:\Tomcat 5.0\webapps\axis\WEB-INF\classes 涓?/span>

3. 璁劇疆閮ㄧ講鐜鍙橀噺 someclasspath 錛?/span> someclasspath 涓緗殑鏄儴緗?/span> webservice 榪囩▼涓墍闇鐢ㄥ埌鐨?/span> jar 鍖咃紝瀹冨寘鍚簡 axis 涓嬫墍鏈夌殑綾誨寘鍜?/span> tomcat 涓嬬殑錛屽叿浣撲負

D:\Tomcat5.0\webapps\axis\WEB-INF\lib\axis.jar;D:\Tomcat 5.0\webapps\axis\WEB-INF\lib\axis-ant.jar;D:\Tomcat 5.0\webapps\axis\WEB-INF\lib\commons-discovery.jar;D:\Tomcat 5.0\webapps\axis\WEB-INF\lib\commons-logging.jar;D:\Tomcat 5.0\webapps\axis\WEB-INF\lib\jaxrpc.jar;D:\Tomcat 5.0\webapps\axis\WEB-INF\lib\log4j-1.2.8.jar;D:\Tomcat 5.0\webapps\axis\WEB-INF\lib\saaj.jar;D:\Tomcat 5.0\webapps\axis\WEB-INF\lib\wsdl4j.jar;

4 錛庤緗儴緗?/span> webservice 鐨勯儴緗叉枃浠?/span> ( deploy.wsdd ) 錛屽叿浣撹緗涓嬨傚皢 deploy.wsdd鏂囦歡鏀懼湪c:\鐩綍涓?/span>

<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

聽聽聽 <service name="SMS" provider="java:RPC">

聽聽聽聽聽聽聽 <!-- 鎸囧嚭瑕佸彂甯冩垚web service鐨勭被 -->

聽聽聽聽聽聽聽 <parameter name="className" value="com.beyondbit.sms.port.SMSPort "/>

聽聽聽聽聽聽聽 <!-- 鍏佽鎵鏈塸ublic鏂規硶鍙璋冪敤 -->

聽聽聽聽聽聽聽 <parameter name="allowedMethods" value="*"/>聽聽聽聽聽

聽聽聽 </service>

聽聽 </deployment>

鍦?span lang="EN-US">dos鐜涓嬭繍琛岄儴緗插懡浠わ紝閮ㄧ講webservice

鍛戒護錛?span lang="EN-US">

java -cp "%someclasspath%" org.apache.axis.client.AdminClient 鈥損 7070 deploy.wsdd

鍙戝竷鎴愬姛錛屾鏃跺彲閫氳繃 http://192.168.0.51:7070/axis/servlet/AxisServlet鍦板潃鐪嬪埌鍚嶅瓧涓簊ms鐨剋ebservice宸查儴緗叉垚鍔?o:p> (鎴栬呬笉鐢ㄩ氳繃wsdd鏂囦歡,鐩存帴鍘誨啓server-config.wsdd.鍦ㄧ浉搴斿尯鍩熸坊鍔犱緥濡備笅闈㈢殑鍐呭:
聽聽聽 <service name="TestWS" provider="java:RPC">
聽 <parameter name="allowedMethods" value="*"/>
聽聽 <parameter name="className" value="com.telecom.notify.DefaultSmsNotify"/>
聽</service>
)

鍙氳繃鐐瑰嚮webservice鍚嶅瓧鏃佺殑鎻忚堪鏂囦歡閾炬帴錛屽療鐪媤ebservice鐨勬弿榪版枃浠?o:p>

5錛庡湪瀹㈡埛绔敓鎴愯皟鐢╳ebservice鐨刯ava鏂囦歡,鍛戒護濡備笅java -cp "%someclasspath%" org.apache.axis.wsdl.WSDL2Java -p <嫻嬭瘯鐢ㄤ緥鍖?gt;-t<url鍦板潃>

鍦?span lang="EN-US">dos鐜涓嬭緭鍏ュ懡浠?o:p>

java -cp "%someclasspath%" org.apache.axis.wsdl.WSDL2Java -p com.smsCase-t http://192.168.0.51:7070/axis/services/sms?wsdl

緋葷粺鎵ц璇ュ懡浠ゅ悗浼氬湪c:\鐩綍涓嬬敓鎴恈om\smsCase鏂囦歡澶癸紝鍏朵腑鍖呭惈鐢熸垚鐨勭被銆傚埄鐢╝nt絳夊伐鍏風紪璇戣繖浜涙枃浠訛紙緙栬瘧榪囩▼涓渶瑕佺敤鍒皊omeclasspath涓殑jar鍖咃級銆傚彲閫氳繃浠ヤ笅渚嬬▼璋冪敤webservice,

public String parseXml()

聽聽聽 {

聽聽聽聽聽聽聽 String xmlString = "";

聽聽聽聽聽聽聽 try

聽聽聽聽聽聽聽 {

聽聽聽聽聽聽聽聽聽聽聽 SMSPortServiceLocator service = new SMSPortServiceLocator();

聽聽聽聽聽聽聽聽聽聽聽 SMSServiceSoapBindingStub binding = (SMSServiceSoapBindingStub)new SMSPortServiceLocator().getSMSService();聽聽聽聽聽聽聽

聽聽聽聽聽聽聽聽聽聽聽 binding = (SMSServiceSoapBindingStub)service.getSMSService();

聽聽聽聽聽聽聽聽聽聽聽 xmlString= binding.toReceiveMsg("000","1234");

聽聽聽聽聽聽聽 }

聽聽聽聽聽聽聽 catch(Exception e)

聽聽聽聽聽聽聽 {

聽聽聽聽聽聽聽聽聽聽聽 e.printStackTrace();

聽聽聽聽聽聽聽 }

聽聽聽聽聽聽聽 return xmlString;

聽聽聽 }

姝や腑璋冪敤webservice涓殑sms涓殑toReceiveMsg鏂規硶銆?o:p>

6錛庡嵏杞絯eservice錛岃緗嵏杞介儴緗叉枃浠?undeploy.wsdd錛?/span> 灝?/span> undeploy.wsdd鏂囦歡鏀懼湪c:\鐩綍涓?/span>

<undeployment xmlns="http://xml.apache.org/axis/wsdd/">

<service name="sms"/>

</undeployment>

鍦?span lang="EN-US">dos鐜涓嬭繍琛屽嵏杞絯ebservice鍛戒護錛屽嵏杞絯ebservice

鍛戒護錛?span lang="EN-US">

java -cp "%someclasspath%" org.apache.axis.client.AdminClient 鈥損 7070 undeploy.wsdd



Kimi 2007-03-01 20:08 鍙戣〃璇勮
]]>
鍏充簬 struts 璧勬簮鏂囦歡http://m.tkk7.com/kemi/archive/2007/02/12/99400.htmlKimiKimiMon, 12 Feb 2007 03:40:00 GMThttp://m.tkk7.com/kemi/archive/2007/02/12/99400.htmlhttp://m.tkk7.com/kemi/comments/99400.htmlhttp://m.tkk7.com/kemi/archive/2007/02/12/99400.html#Feedback0http://m.tkk7.com/kemi/comments/commentRss/99400.htmlhttp://m.tkk7.com/kemi/services/trackbacks/99400.html1錛屽皢a.properties杞寲涓轟簩榪涘埗璧勬簮鏂囦歡錛坰truts鎵胯錛?br />聽聽 native2ascii a.properties b
聽鍐呭涓猴細

All.error.a=\u8f93\u5165\u4e3a\u7a7a

Pass.error.a=\u65e7\u5bc6\u7801\u4e0d\u5bf9
Pass.error.b=\u5bc6\u7801\u4e0d\u5339\u914d




2.灝哹鏀懼埌src涓?鍚庣紑涓簆roperties.鍦╟onfig鏂囦歡閰嶇疆鍏?lt;message-resources parameter="b" null="false"/>

3.浣跨敤
聽聽 if (oldpass.equals("") || newpass.equals("")|| conpass.equals("")) {
聽聽聽errors.add("fail_1", new ActionError("All.error.a"));
聽聽聽saveErrors(request, errors);
聽聽聽return mapping.findForward("fail");

4.鎵撳畬鏀跺伐錛孍asy~



Kimi 2007-02-12 11:40 鍙戣〃璇勮
]]>
綺捐錛氭繁鍏qual() 鏂規硶 錛堣漿杞斤細Axman錛?/title><link>http://m.tkk7.com/kemi/archive/2007/02/02/97582.html</link><dc:creator>Kimi</dc:creator><author>Kimi</author><pubDate>Fri, 02 Feb 2007 09:00:00 GMT</pubDate><guid>http://m.tkk7.com/kemi/archive/2007/02/02/97582.html</guid><wfw:comment>http://m.tkk7.com/kemi/comments/97582.html</wfw:comment><comments>http://m.tkk7.com/kemi/archive/2007/02/02/97582.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.tkk7.com/kemi/comments/commentRss/97582.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/kemi/services/trackbacks/97582.html</trackback:ping><description><![CDATA[ <span id="dfhbf7p" class="h1b">娣卞叆equals鏂規硶</span> <br /> <br /> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td height="64">鏃墮棿錛?006-07-26<br />浣滆咃細<a >axman</a><br />嫻忚嬈℃暟錛? <script language="JavaScript" src="/beabbscount.jsp?d_id=163384" type="text/JavaScript"></script> 2070 <br />鏈枃鍏抽敭瀛楋細<a >java</a>,聽<a >equal</a>,聽<a >鍩虹</a></td> <td> <table class="box_content" cellspacing="0" cellpadding="0" border="0"> <tbody> <tr> <td> <span id="lnpxr1j" class="h2b">鏂囩珷宸ュ叿</span> <br /> <img height="10" alt="鎺ㄨ崘緇欐湅鍙? src="http://dev2dev.bea.com.cn/images/letter001.gif" width="19" align="absMiddle" />聽<a href="javascript:sendmail()">鎺ㄨ崘緇欐湅鍙?/a><br /><img height="18" alt="鎵撳嵃鏂囩珷" src="http://dev2dev.bea.com.cn/images/print001.gif" width="19" align="absMiddle" />聽<a href="javascript:window.print()">鎵撳嵃鏂囩珷</a></td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <!-- 鎻愬彇鎶鏈枃绔?--> <div id="dfnxpr3" class="beas"> <img height="1" alt="" src="http://dev2dev.bea.com.cn/images/dot6B6B6B.gif" width="100%" /> </div> <p>銆銆equals鏂規硶鐨勯噸瑕佹ф瘚欏誨璦,鍙浣犳兂姣旇緝鐨勪袱涓璞′笉鎰挎槸鍚屼竴瀵硅薄,浣犲氨搴旇瀹炵幇equals鏂規硶,璁╁璞$敤浣犺涓虹浉絳夌殑鏉′歡鏉ヨ繘琛屾瘮杈冦?/p> <p>銆銆涓嬮潰鐨勫唴瀹瑰彧鏄疉PI鐨勮鑼?娌℃湁浠涔堝お楂樻繁鐨勬剰涔?浣嗘垜涔嬫墍浠ユ渶鍏堟妸瀹冨垪鍦ㄨ繖鍎?鏄洜涓鴻繖浜涜鑼冨湪浜嬪疄涓茍涓嶆槸鐪熸鑳戒繚璇佸緱鍒板疄鐜般?/p> <ol> <li>瀵逛簬浠諱綍寮曠敤綾誨瀷, o.equals(o) == true鎴愮珛銆? </li> <li>濡傛灉 o.equals(o1) == true 鎴愮珛,閭d箞o1.equals(o)==true涔熶竴瀹氳鎴愮珛銆? </li> <li>濡傛灉 o.equals(o1) == true 鎴愮珛涓斅?o.equals(o2) == true 鎴愮珛,閭d箞o1.equals(o2) == true 涔熸垚绔嬨? </li> <li>濡傛灉絎竴嬈¤皟鐢╫.equals(o1) == true鎴愮珛鍐峯鍜宱1娌℃湁鏀瑰彉鐨勬儏鍐典笅浠ュ悗鐨勪換浣曟璋冪敤閮芥垚绔嬨? </li> <li>o.equals(null) == true 浠諱綍鏃墮棿閮戒笉鎴愮珛銆?</li> </ol> <p>銆銆浠ヤ笂鍑犳潯瑙勫垯騫朵笉鏄渶瀹屾暣鐨勮〃榪?璇︾粏鐨勮鍙傝API鏂囨。銆?/p> <p>銆銆瀵逛簬Object綾?瀹冩彁渚涗簡涓涓渶鏈涓ュ瘑鐨勫疄鐜?閭e氨鏄彧鏈夋槸鍚屼竴瀵硅薄鏄?equals鏂規硶鎵嶈繑鍥瀟rue,涔熷氨鏄漢浠父璇寸殑寮曠敤姣旇緝鑰屼笉鏄兼瘮杈冦傝繖涓疄鐜頒弗瀵嗗緱宸茬粡娌℃湁浠涔堝疄闄呯殑鎰忎箟,鎵浠ュ湪鍏蜂綋瀛愮被(鐩稿浜嶰bject鏉ヨ)涓?濡傛灉鎴戜滑瑕佽繘琛屽璞$殑鍊兼瘮杈?灝卞繀欏誨疄鐜拌嚜宸辯殑equals鏂規硶銆?</p> <p>銆銆鍏堟潵鐪嬩竴涓嬩互涓嬭繖孌電▼搴?</p> <pre class="code"> public boolean equals(Object obj) { if (obj == null) return false; if (!(obj instanceof FieldPosition)) return false; FieldPosition other = (FieldPosition) obj; if (attribute == null) { if (other.attribute != null) { return false; } } else if (!attribute.equals(other.attribute)) { return false; } return (beginIndex == other.beginIndex && endIndex == other.endIndex && field == other.field); } </pre> <p>銆銆榪欐槸JDK涓璲ava.text.FieldPosition鐨勬爣鍑嗗疄鐜?浼間箮娌℃湁浠涔堝彲璇寸殑.聽鎴戠浉淇″ぇ澶氭暟鎴栫粷澶у鏁扮▼搴忓憳璁や負,榪欐槸姝g‘鐨勫悎娉曠殑equals瀹炵幇.姣曠珶瀹冩槸JDK鐨凙PI瀹炵幇鍟?聽榪樻槸璁╂垜浠互浜嬪疄鏉ヨ璇濆惂:</p> <pre class="code">package debug; import java.text.*; public class Test { public static void main(String[] args) { FieldPosition fp = new FieldPosition(10); FieldPosition fp1 = new MyTest(10); System.out.println(fp.equals(fp1)); System.out.println(fp1.equals(fp)); } } class MyTest extends FieldPosition{ int x = 10; public MyTest(int x){ super(x); this.x = x; } public boolean equals(Object o){ if(o==null) return false; if(!(o instanceof MyTest )) return false; return ((MyTest)o).x == this.x; } } </pre> <p>銆銆 榪愯涓涓嬬湅鐪嬩細鎵撳嵃鍑轟粈涔?</p> <pre class="code">System.out.println(fp.equals(fp1));鎵撳嵃true System.out.println(fp1.equals(fp));鎵撳嵃flase</pre> <p>銆銆涓や釜瀵硅薄,鍑虹幇浜嗕笉瀵圭О鐨別quals綆楁硶.闂鍑哄湪鍝噷(鑴戠瓔鎬ヨ漿寮細褰撶劧鍑哄湪JDK瀹炵幇鐨凚UG)?</p> <p>銆銆鎴戠浉淇℃湁澶鐨勭▼搴忓憳(闄や簡閭d簺鏍規湰涓嶇煡閬撳疄鐜癳quals鏂規硶鐨勭▼搴忓憳澶?鍦ㄥ疄鐜癳quals鏂規硶鏃墮兘鐢ㄨ繃instanceof榪愯絎︽潵榪涜鐭礬浼樺寲鐨勶紝瀹炰簨姹傛槸鍦拌寰堥暱涓孌墊椂闂存垜涔熻繖涔堢敤榪囥傚お澶氱殑鏁欑▼錛屾枃妗i兘緇欎簡鎴戜滑榪欐牱鐨勮瀵箋傝屾湁浜涚◢鏈変簡瑙g殑紼嬪簭鍛樺彲鑳界煡閬撹繖鏍風殑浼樺寲鍙兘鏈変簺涓嶅浣嗘壘涓嶅嚭闂鐨勫叧閿傚彟澶栦竴縐嶆瀬绔槸鐭ラ亾榪欎釜鎶鏈己闄風殑楠ㄧ伆綰т笓瀹跺氨鎻愯涓嶈榪欐牱搴旂敤銆?/p> <p>銆銆鎴戜滑鐭ラ亾錛?閫氬父"瑕佸涓や釜瀵硅薄榪涜姣旇緝錛岄偅涔堝畠浠?搴旇"鏄悓涓綾誨瀷銆傛墍浠ラ鍏堝埄鐢╪stanceof榪愯絎﹁繘琛岀煭璺紭鍖栵紝濡傛灉琚瘮杈冪殑瀵硅薄涓嶅拰褰撳墠瀵硅薄鏄悓涓綾誨瀷鍒欎笉鐢ㄦ瘮杈冭繑鍥瀎alse,浣嗕簨瀹炰笂錛?瀛愮被鏄埗綾葷殑涓涓疄渚?錛屾墍浠ュ鏋?瀛愮被 o instanceof 鐖剁被錛屽緇堣繑鍥瀟rue,榪欐椂鑲畾涓嶄細鍙戠敓鐭礬浼樺寲錛屼笅闈㈢殑姣旇緝鏈夊彲鑳藉嚭鐜板縐嶆儏鍐碉紝涓縐嶆槸涓嶈兘閫犲瀷鎴愬瓙綾昏屾姏鍑哄紓甯革紝鍙︿竴縐嶆槸鐖剁被鐨刾rivate 鎴愬憳娌℃湁琚瓙綾葷戶鎵胯屼笉鑳借繘琛屾瘮杈冿紝榪樻湁灝辨槸褰㈡垚涓婇潰榪欑涓嶅縐版瘮杈冦傚彲鑳戒細鍑虹幇澶鐨勬儏鍐點?/p> <p>銆銆閭d箞錛屾槸涓嶆槸灝變笉鑳界敤 instanceof榪愯絎︽潵榪涜浼樺寲錛熺瓟妗堟槸鍚﹀畾鐨勶紝JDK涓粛鐒舵湁寰堝瀹炵幇鏄紜殑錛屽鏋滀竴涓猚lass鏄痜inal鐨勶紝鏄庣煡瀹冧笉鍙兘鏈夊瓙綾伙紝涓轟粈涔堜笉鐢?instanceof鏉ヤ紭鍖栧憿錛?/p> <p>銆銆涓轟簡緇存姢SUN鐨勫紑鍙戝皬緇勭殑澹拌獕錛屾垜涓嶈鏄庡摢涓被涓紝浣嗘湁涓涓皬緇勬垚鍛樺湪鐢ㄨ繖涓柟娉曚紭鍖栨椂鍦ㄥ悗鍔犲姞涓婁簡鍔犱笂浜嗚繖鏍風殑娉ㄩ噴錛?/p> <pre class="code"> if (this == obj) // quick check return true; if (!(obj instanceof XXXXClass)) // (1) same object? return false;</pre> <p>銆銆鍙兘鏄湁浜涚枒闂紝浣嗕笉鐭ラ亾濡備綍鍋氾紙涓嶇煡閬撲負浠涔堟病鏈夋墦鐢佃瘽緇欐垜......錛?/p> <p>銆銆閭d箞瀵逛簬闈瀎inal綾伙紝濡備綍榪涜綾誨瀷鐨剄uick check鍛紵</p> <pe>if(obj.getClass() != XXXClass.class) return false;<pre></pre><p>銆銆鐢ㄨ姣旇緝瀵硅薄鐨刢lass瀵硅薄鍜屽綋鍓嶅璞$殑class姣旇緝錛岀湅璧鋒潵鏄病鏈夐棶棰橈紝浣嗘槸錛屽鏋滆繖涓被鐨勫瓙綾繪病鏈夐噸鏂板疄鐜癳quals鏂規硶錛岄偅涔堝瓙綾誨湪姣旇緝鐨勬椂鍊欙紝obj.getClass() 鑲畾涓嶇瓑浜嶺XXCalss.class,涔熷氨鏄瓙綾葷殑equals灝嗘棤鏁堬紝鎵浠f(obj.getClass() != this.getClass()) return false;鎵嶆槸姝g‘鐨勬瘮杈冦?<br />鍙﹀涓涓猶uick check鏄痠f(this==obj) return true;</p><p>銆銆鏄惁equals鏂規硶涓瀹氭瘮杈冪殑涓や釜瀵硅薄灝變竴瀹氭槸瑕佸悓涓綾誨瀷錛熶笂闈㈡垜鐢ㄤ簡"閫氬父"錛岃繖涔熸槸緇濆ぇ澶氭暟紼嬪簭鍛樼殑鎰挎湜錛屼絾鏄湁浜涚壒孌婄殑鎯呭喌錛屾垜浠彲浠ヨ繘琛屼笉鍚岀被鍨嬬殑姣旇緝錛岃繖騫朵笉榪濆弽瑙勮寖銆備絾榪欑鐗規畩鎯呭喌鏄潪甯哥綍瑙佺殑錛屼竴涓笉鎭板綋鐨勪緥瀛愭槸錛孖nteger綾葷殑equals鍙互鍜孲ort鍋氭瘮杈冿紝姣旇緝瀹冧滑鐨剉alue鏄笉鏄悓涓鏁板鍊箋傦紙浜嬪疄涓奐DK鐨凙PI涓茍娌℃湁榪欐牱鍋氾紝鎵浠ユ垜鎵嶈鏄笉鎭板綋鐨勪緥瀛愶級銆傚湪瀹屾垚quick check浠ュ悗錛屾垜浠氨瑕佺湡姝e疄鐜頒綘璁や負鐨勨滅浉絳夆濄傚浜庡鏋滃疄鐜板璞$浉絳夛紝娌℃湁澶珮鐨勮姹傦紝姣斿浣犺嚜宸卞疄鐜扮殑鈥滀漢鈥濈被錛屼綘鍙互璁や負鍙name鐩稿悓鍗寵涓哄畠浠槸鐩哥瓑鐨勶紝鍏跺畠鐨剆ex,ago閮藉彲浠ヤ笉鑰冭檻銆傝繖鏄笉瀹屽叏瀹炵幇錛屼絾鏄鏋滄槸瀹屽叏瀹炵幇錛屽嵆瑕佹眰鎵鏈夌殑灞炴ч兘鏄浉鍚岀殑錛岄偅涔堝浣曞疄鐜癳quals鏂規硶錛?/p><pre class="code">class Human{ private String name; private int ago; private String sex; .................... public boolean equals(Object obj){ quick check....... Human other = (Human)ojb; return this.name.equals(other.name) && this.ago == ohter.ago && this.sex.equals(other.sex); } } </pre><p>銆銆 榪欐槸涓涓畬鍏ㄥ疄鐜幫紝浣嗘槸錛屾湁鏃秂quals瀹炵幇鏄湪鐖剁被涓疄鐜幫紝鑰岃姹傝瀛愮被緇ф壙鍚巈quals鑳芥紜殑宸ヤ綔錛岃繖鏃朵綘騫朵笉浜嬪疄鐭ラ亾瀛愮被鍒板簳鎵╁睍浜嗗摢浜涘睘鎬э紝鎵浠ョ敤涓婇潰鐨勬柟娉曟棤娉曚嬌equals寰楀埌瀹屽叏瀹炵幇銆?/p><p>銆銆涓涓ソ鐨勬柟娉曟槸鍒╃敤鍙嶅皠鏉ュequals榪涜瀹屽叏瀹炵幇錛?/p><pre class="code"> public boolean equals(Object obj){ quick check....... Class c = this.getClass(); Filed[] fds = c.getDeclaredFields(); for(Filed f:fds){ if(!f.get(this).equals(f.get(obj))) return false; } return true; } </pre><p>銆銆涓轟簡璇存槑鐨勬柟渚匡紝涓婃槑鐨勫疄鐜扮渷鐣ヤ簡寮傚父錛岃繖鏍風殑瀹炵幇鏀懼湪鐖剁被涓紝鍙互淇濊瘉浣犵殑瀛愮被鐨別quals鍙互鎸変綘鐨勬効鏈涙紜湴宸ヤ綔銆?/p><p>銆銆鍏充簬equals鏂規硶鐨勬渶鍚庝竴鐐規槸錛氬鏋滀綘瑕佹槸鑷繁閲嶅啓錛堟紜搴旇鏄飽鐩栵級浜唀quals鏂規硶錛岄偅鍚屾椂灝變竴瀹氳閲嶅啓hashCode().涓烘槸瑙勮寖錛屽惁鍒?............</p><p>銆銆鎴戜滑榪樻槸鐪嬩竴涓嬭繖涓緥瀛愶細</p><pre class="code">public final class PhoneNumber { private final int areaCode; private final int exchange; private final int extension; public PhoneNumber(int areaCode, int exchange, int extension) { rangeCheck(areaCode, 999, "area code"); rangeCheck(exchange, 99999999, "exchange"); rangeCheck(extension, 9999, "extension"); this.areaCode = areaCode; this.exchange = exchange; this.extension = extension; } private static void rangeCheck(int arg, int max, String name) { if(arg < 0 || arg > max) throw new IllegalArgumentException(name + ": " + arg); } public boolean equals(Object o) { if(o == this) return true; if(!(o instanceof PhoneNumber)) return false; PhoneNumber pn = (PhoneNumber)o; return pn.extension == extension && pn.exchange == exchange && pn.areaCode == areaCode; } } </pre><p>銆銆娉ㄦ剰榪欎釜綾繪槸final鐨勶紝鎵浠ヨ繖涓猠quals瀹炵幇娌℃湁浠涔堥棶棰樸?</p><p>銆銆鎴戜滑鏉ユ祴璇曚竴涓?</p><pre class="code"> public static void main(String[] args) { Map hm = new HashMap(); PhoneNumber pn = new PhoneNumber(123, 38942, 230); hm.put(pn, "I love you"); PhoneNumber pn1 = new PhoneNumber(123, 38942, 230); System.out.println(pn); System.out.println("pn.equals(pn1) is " + pn.equals(pn1)); System.out.println(hm.get(pn1)); System.out.println(hm.get(pn)); } </pre><p>銆銆鏃㈢劧pn.equals(pn1),閭d箞鎴憄ut(pn,"I love you");鍚庯紝get(pn1)榪欎粈涔堟槸null鍛紵</p><p>銆銆絳旀鏄洜涓哄畠浠殑hashCode涓嶄竴鏍鳳紝鑰宧ashMap灝辨槸浠ashCode涓轟富閿殑銆?/p><p>銆銆鎵浠ヨ鑼冭姹傦紝濡傛灉涓や釜瀵硅薄榪涜equals姣旇緝鏃跺鏋滆繑鍥瀟rue,閭d箞瀹冧滑鐨刪ashcode瑕佹眰榪斿洖鐩哥瓑鐨勫箋?</p><p>銆銆濂戒簡錛屼紤鎭紝浼戞伅涓涓嬨傘傘傘傘傘傘傘傘傘傘傘傘傘傘傘?</p><p>銆銆<strong>杞澆鑷猟ev2dev緗戝弸axman鐨?a target="_blank">go deep into java涓撴爮</a>銆?/strong></p><h3>涓漢鑷堪</h3><p>涓涓敺浜?<br />涓涓啓紼嬪簭鐨勭敺浜?<br />涓涓啓紼嬪簭騫舵鍦ㄤ粠紼嬪簭涓鎵懼揩涔愮殑鐢蜂漢.<br />涓涓啓紼嬪簭騫舵鍦ㄤ粠紼嬪簭涓鎵懼揩涔愬茍鎶婂揩涔愪紶閫掔粰澶у鐨勭敺浜?</p><p>涓涓功鐢?<br />涓涓瘋瀵炵殑涔︾敓.<br />涓涓瘋瀵炵殑姊呴绔瑰獎涓嬫暡澹板啓闊電殑涔︾敓.<br />涓涓瘋瀵炵殑姊呴绔瑰獎涓嬫暡澹板啓闊墊櫒閽熸毊榧撲腑閫告皵鎵墤鐨勪功鐢?</p><p>閭d釜鐢蜂漢鏄綅涔︾敓銆傛病鏈変漢鐭ラ亾浠栫殑濮撳悕錛屽眳鏃犲畾鎵錛岃鏃犲畾韙紝浜﹁曞彉璇伙紝鎴栨笖鎴栨ǖ銆?br />鎵浠ユ湁浜哄彨浠栨ǖ澶?Axman)錛屾湁浜哄彨浠栨笖閮?fisher)銆?/p><!--鏂囩珷鍏朵粬淇℃伅--></pe> <img src ="http://m.tkk7.com/kemi/aggbug/97582.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/kemi/" target="_blank">Kimi</a> 2007-02-02 17:00 <a href="http://m.tkk7.com/kemi/archive/2007/02/02/97582.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Swing ,AWT,SWT涓夌搴旂敤紼嬪簭妗嗘灦鐨勬ц兘姣旇緝http://m.tkk7.com/kemi/archive/2007/02/02/97480.htmlKimiKimiFri, 02 Feb 2007 04:46:00 GMThttp://m.tkk7.com/kemi/archive/2007/02/02/97480.htmlhttp://m.tkk7.com/kemi/comments/97480.htmlhttp://m.tkk7.com/kemi/archive/2007/02/02/97480.html#Feedback0http://m.tkk7.com/kemi/comments/commentRss/97480.htmlhttp://m.tkk7.com/kemi/services/trackbacks/97480.html 鑷?/font> IBM 鍏徃鎻愪緵鐨勮法騫沖彴 GUI 寮鍙戝寘 SWT 浠ユ潵錛岃秺鏉ヨ秺澶氬彈鍒板箍澶х▼搴忓憳鐨勪翰鐫愶紝宸茬粡鏈変笉灝戠▼搴忓憳鐢ㄥ畠寮鍙戝嚭緹庤銆侀珮鏁堛佸疄鐢ㄧ殑妗岄潰搴旂敤紼嬪簭銆傝繖璁╂垜浠洿鏈夌悊鐢卞幓鎺㈢儲 SWT 緇欐垜浠甫鏉ョ殑鎯婂銆?/span>

聽聽聽聽聽聽聽 SWT 鍦ㄥ瑙傚拰鎬ц兘涓婇兘瓚呰繃浜?/span> awt/swing 錛屼負浠涔堣繖鏍瘋鍛紵涓嬮潰綆鍗曠殑嫻嬭瘯紼嬪簭浼氳浣犱竴鐩簡鐒躲傚簾璇濅篃涓嶅璇達紝璁╂垜浠湅紼嬪簭銆?/span>

聽聽聽 涓嬮潰璁╂垜浠啓涓涓畝鍗曠殑紼嬪簭鏉ユ祴璇曚竴涓嬶紝紼嬪簭鍙仛涓浠朵簨錛屽氨鏄敤 Label 鏄劇ず 鈥滺ello World!鈥?/span> 錛屾垜鐨勬祴璇曠幆澧冩槸 JDK1.5.0+Eclipse3.1 銆傜湅鐪嬪湪 AWT 銆?/span> SWING 鍜?/span> SWT 涓嬪垎鍒疄鐜拌鏁堟灉鎵闇瑕佺殑鏃墮棿鍜屽唴瀛樻秷鑰椼?/span>

AWT_CODE:

import java.awt.Frame;

import java.awt.Label;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

public class awtTest {

聽聽聽聽聽聽 public static void main(String[] args) {

聽聽聽聽聽聽聽聽聽聽聽聽聽 long memory = 0L;

聽聽聽聽聽聽聽聽聽聽聽聽聽 long time = 0L;

聽聽聽聽聽聽聽聽聽聽聽聽聽 memory = Runtime.getRuntime().freeMemory();

聽聽聽聽聽聽聽聽聽聽聽聽聽 time = System.currentTimeMillis();

聽聽聽聽聽聽聽聽聽聽聽聽聽 Frame frame = new Frame();

聽聽聽聽聽聽聽聽聽聽聽聽聽 Label label = new Label();

聽聽聽聽聽聽聽聽聽聽聽聽聽 label.setText("Hello World!");

聽聽聽聽聽聽聽聽聽聽聽聽聽 frame.add(label);

聽聽聽聽聽聽聽聽聽聽聽聽聽 frame.setVisible(true);

聽聽聽聽聽聽聽聽聽聽聽聽聽 frame.addWindowListener(new WindowAdapter() {

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 public void windowClosing(WindowEvent we) {

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 System.exit(0);

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }

聽聽聽聽聽聽聽聽聽聽聽聽聽 });

聽聽聽聽聽聽聽聽聽聽聽聽聽 frame.pack();

聽聽聽聽聽聽聽聽聽聽聽聽聽 System.out.println(System.currentTimeMillis() - time);

聽聽聽聽聽聽聽聽聽聽聽聽聽 System.out.println(memory - Runtime.getRuntime().freeMemory());

聽聽聽聽聽聽 }

}

榪愯鏁堟灉鍙婃墍鐢ㄧ殑鏃墮棿鍜屽唴瀛樺鹼細

SWING_CODE:

import javax.swing.JFrame;

import javax.swing.JLabel;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

public class swingTest {

聽聽聽聽聽聽 public static void main(String[] args) {

聽聽聽聽聽聽聽聽聽聽聽聽聽 long memory = 0L;

聽聽聽聽聽聽聽聽聽聽聽聽聽 long time = 0L;

聽聽聽聽聽聽聽聽聽聽聽聽聽 memory = Runtime.getRuntime().freeMemory();

聽聽聽聽聽聽聽聽聽聽聽聽聽 time = System.currentTimeMillis();

聽聽聽聽聽聽聽聽聽聽聽聽聽 JFrame frame = new JFrame();

聽聽聽聽聽聽聽聽聽聽聽聽聽 JLabel label = new JLabel();

聽聽聽聽聽聽聽聽聽聽聽聽聽 label.setText("Hello World!");

聽聽聽聽聽聽聽聽聽聽聽聽聽 frame.add(label);

聽聽聽聽聽聽聽聽聽聽聽聽聽 frame.setVisible(true);

聽聽聽聽聽聽聽聽聽聽聽聽聽 frame.addWindowListener(new WindowAdapter() {

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 public void windowClosing(WindowEvent we) {

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 System.exit(0);

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }

聽聽聽聽聽聽聽聽聽聽聽聽聽 });

聽聽聽聽聽聽聽聽聽聽聽聽聽 frame.pack();

聽聽聽聽聽聽聽聽聽聽聽聽聽 System.out.print("Time:");

聽聽聽聽聽聽聽聽聽聽聽聽聽 System.out.println(System.currentTimeMillis() - time);

聽聽聽聽聽聽聽聽聽聽聽聽聽 System.out.print("Memory:");

聽聽聽聽聽聽聽聽聽聽聽聽聽 System.out.println(memory - Runtime.getRuntime().freeMemory());

聽聽聽聽聽聽 }

}

榪愯鏁堟灉鍙婃墍鐢ㄧ殑鏃墮棿鍜屽唴瀛樺鹼細

SWT_CODE:

import org.eclipse.swt.widgets.Display;

import org.eclipse.swt.widgets.Shell;

import org.eclipse.swt.widgets.Label;

import org.eclipse.swt.SWT;

public class swtTest {

聽聽聽聽聽聽 public static void main(String[] args) {

聽聽聽聽聽聽聽聽聽聽聽聽聽 long memory = 0L;

聽聽聽聽聽聽聽聽聽聽聽聽聽 long time = 0L;

聽聽聽聽聽聽聽聽聽聽聽聽聽 memory = Runtime.getRuntime().freeMemory();

聽聽聽聽聽聽聽聽聽聽聽聽聽 time = System.currentTimeMillis();

聽聽聽聽聽聽聽聽聽聽聽聽聽 Display display = new Display();

聽聽聽聽聽聽聽聽聽聽聽聽聽 Shell shell = new Shell(display);

聽聽聽聽聽聽聽聽聽聽聽聽聽 Label label = new Label(shell, SWT.NONE);

聽聽聽聽聽聽聽聽聽聽聽聽聽 label.setText("Hello World!");

聽聽聽聽聽聽聽聽聽聽聽聽聽 shell.pack();

聽聽聽聽聽聽聽聽聽聽聽聽聽 label.pack();

聽聽聽聽聽聽聽聽聽聽聽聽聽 shell.open();

聽聽聽聽聽聽聽聽聽聽聽聽聽 System.out.print("Time:");

聽聽聽聽聽聽聽聽聽聽聽聽聽 System.out.println(System.currentTimeMillis() - time);

聽聽聽聽聽聽聽聽聽聽聽聽聽 System.out.print("Memory:");

聽聽聽聽聽聽聽聽聽聽聽聽聽 System.out.println(Runtime.getRuntime().freeMemory() - memory);

聽聽聽聽聽聽聽聽聽聽聽聽聽 while(!shell.isDisposed()) {

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if(!display.readAndDispatch()) {

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 display.sleep();

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }

聽聽聽聽聽聽聽聽聽聽聽聽聽 }

聽聽聽聽聽聽聽聽聽聽聽聽聽 display.dispose();

聽聽聽聽聽聽聽聽聽聽聽聽聽 label.dispose();

聽聽聽聽聽聽 }

}

榪愯鏁堟灉鍙婃墍鐢ㄧ殑鏃墮棿鍜屽唴瀛樺鹼細

濡傛灉浣犱粩緇嗙湅浠g爜錛屼綘浼氬彂鐜板湪 SWT 鐨勪唬鐮佷腑錛屾垜娉ㄨВ涓?/span> 鈥?**鈥?/span> 浠g爜澶勶紝涓庡墠涓よ呮湁鎵涓嶅悓錛岃繖涔熸垜鐤戞儜鐨勫湴鏂癸紝鍦ㄦ暣涓▼搴忚繍琛屼腑錛岃繍琛屽悗鐨勫墿浣欏唴瀛樺眳鐒舵瘮榪愯鍓嶇殑鍓╀綑鍐呭瓨鍊煎ぇ銆傛帴鐫錛屾垜鍦ㄨ皟璇曡紼嬪簭鐨勬椂鍊欙紝鎴戝彂鐜板湪 Shell shell = new Shell(display) 璇彞鎵ц鍚庯紝鍐呭瓨鍊兼湁鏄庢樉鐨勫鍔狅紝濡傛灉浣犵煡閬?/span> SWT 搴曞眰鏄浣曟搷浣滅殑錛岀煡閬撹繖鏄粈涔堝師鍥犲紩璧風殑錛岃浣?/span> 鑱旂郴鎴?/font> 騫跺憡璇夋垜榪欐槸涓轟粈涔堬紝鎴戝ソ鍋氬嚭淇銆?/span>

濡傛灉浣犳槸鍒濆鑰咃紝涓嶇煡閬撴庝箞榪愯 SWT 紼嬪簭錛屽叾瀹炲緢綆鍗曠殑錛屽彧闇瑕佸湪浣犵殑宸ョ▼鐨?/span> Libraries 娣誨姞涓涓悕涓?/span> org.eclipse.swt.win32.win32.x86_3.1.0.jar 鍖咃紝璇ュ寘鐨勪綅緗湪浣犵殑 Eclipse 鐨勫畨瑁呯洰褰曚笅鐨?/span> \plugins\ 鏂囦歡澶歸噷銆?/span>



Kimi 2007-02-02 12:46 鍙戣〃璇勮
]]>
鏁欎綘浣跨敤 AutoJava 錛堝師鍒涳級http://m.tkk7.com/kemi/archive/2007/01/29/96466.htmlKimiKimiMon, 29 Jan 2007 03:44:00 GMThttp://m.tkk7.com/kemi/archive/2007/01/29/96466.htmlhttp://m.tkk7.com/kemi/comments/96466.htmlhttp://m.tkk7.com/kemi/archive/2007/01/29/96466.html#Feedback0http://m.tkk7.com/kemi/comments/commentRss/96466.htmlhttp://m.tkk7.com/kemi/services/trackbacks/96466.htmlhttp://down.11nong.com/weiojsdf/down/@LinkGate@21809172189552x1170039420x21809173718254-9039e952bf06a91424f4d041f8952288@LK@/autoJava.zip
(娉ㄦ剰錛氳蔣浠惰繍琛岀幆澧?JDK1.4浠ヤ笂)

1.涓嬭澆鍚庤В鍘?br />


2.鎵ц鎵瑰鐞嗘枃浠訛紝閰嶇疆鍙傛暟錛屼緥瀛愭槸涓涓猄ql Server鏁版嵁搴?br />



3.鏁版嵁搴撻┍鍔紝蹇呴』鏀懼埌瑙e帇鐩綍鐨刲ib涓?br />


4.緙栬緫錛嶉夊彇琛紝鍙互鐪嬪埌榪炴帴涓婄殑鏁版嵁搴撶殑鐩稿叧琛?



5,閫夋嫨Hb_Admin,鐒跺悗鏂囦歡錛嶇敓鎴愶紝濡傛灉欏哄埄錛屽皢鏄劇ず鍑轟笅闈㈢殑淇℃伅銆?br />


6,鐜板湪鍘誨垰鎵嶉厤緗殑杈撳嚭璺緞"D://temp"涓嬶紝灝嗙湅鍒板凡緇忚嚜鍔ㄧ敓鎴愮殑鏂囦歡緇撴瀯鍜孒b_Admin鐨凪odel浜嗭紝鍝堝搱錛?br />





Kimi 2007-01-29 11:44 鍙戣〃璇勮
]]>
鍚戝啺鍚屽鎸囧鐨勬墦寮搴旂敤紼嬪簭鐨凧AVA浠g爜http://m.tkk7.com/kemi/archive/2006/12/26/90092.htmlKimiKimiTue, 26 Dec 2006 05:44:00 GMThttp://m.tkk7.com/kemi/archive/2006/12/26/90092.htmlhttp://m.tkk7.com/kemi/comments/90092.htmlhttp://m.tkk7.com/kemi/archive/2006/12/26/90092.html#Feedback0http://m.tkk7.com/kemi/comments/commentRss/90092.htmlhttp://m.tkk7.com/kemi/services/trackbacks/90092.htmlpublic class TestFile {
聽public static void main(String args[]) {
聽聽try {
聽聽聽Process process = Runtime
聽聽聽聽聽.getRuntime()
聽聽聽聽聽.exec(
聽聽聽聽聽// "cmd.exe /c start

聽聽聽聽聽聽聽"D:\\Program Files\\Microsoft Office\\Office10\\powerpnt.exe /s 1.pps");
聽聽聽// "C:\\WINDOWS\\system32\\rundll32.exe jpg.jpg");

聽聽} catch (Exception e) {
聽聽聽e.printStackTrace();
聽聽}

聽}
}



Kimi 2006-12-26 13:44 鍙戣〃璇勮
]]>
灝咼developer欏圭洰鎴愬姛縐繪鍒皌omcat5.Xhttp://m.tkk7.com/kemi/archive/2006/11/27/83723.htmlKimiKimiMon, 27 Nov 2006 02:32:00 GMThttp://m.tkk7.com/kemi/archive/2006/11/27/83723.htmlhttp://m.tkk7.com/kemi/comments/83723.htmlhttp://m.tkk7.com/kemi/archive/2006/11/27/83723.html#Feedback0http://m.tkk7.com/kemi/comments/commentRss/83723.htmlhttp://m.tkk7.com/kemi/services/trackbacks/83723.html 鐢變簬 Tomcat 娌℃湁 EJB 瀹瑰櫒錛屽洜姝ゆ偍鍙兘閮ㄧ講璇ョず渚嬪簲鐢ㄧ▼搴忕殑涓ゅ眰鐗堟湰銆?/span>

絎?1 姝ワ紝瀹夎 ADF 榪愯鏃跺簱

姝ゆ楠や笌灝嗚繍琛屾椂搴撳畨瑁呭埌 OC4J 鐨勬楠ょ被浼箋傚湪榪愯瀹夎紼嬪簭鏃惰紜繚鏈嶅姟鍣ㄥ浜庡仠姝㈢姸鎬併?/span>

絎?2 姝ワ紝鍒涘緩涓庡簲鐢ㄦ湇鍔″櫒鐨勮繛鎺?/span>

鎸夌収鍓嶉潰鎵榪板垱寤轟竴涓柊榪炴帴銆傛偍鏃犳硶嫻嬭瘯姝よ繛鎺ャ?/span>

絎?3 姝ワ紝鍒涘緩閮ㄧ講鎻忚堪鏂囦歡

鎮ㄥ敮涓闇瑕佺殑鎻忚堪鏂囦歡灝辨槸 web.xml錛屽畠鐢?JDeveloper10g 鍦ㄥ垱寤?web 欏甸潰鏃剁敓鎴愩?/span>

絎?4 姝ワ紝涓烘瘡涓灞傚垱寤洪儴緗查厤緗枃浠?/span>

緙栬緫 web 瀹㈡埛绔殑閮ㄧ講閰嶇疆鏂囦歡銆傜‘淇濆皢鐩爣榪炴帴璁劇疆涓烘偍鍦ㄧ 2 姝ヤ腑鍒涘緩鐨?tomcat 榪炴帴銆傝緭鍏ユ紜殑 war 鏂囦歡鍚嶃傚湪 Tomcat 涓紝涓婁笅鏂囨牴鍩轟簬 web 搴旂敤紼嬪簭鐨勬枃浠跺す鍚嶇О銆?/span>

絎?5 姝ワ紝鍒涘緩涓涓叏灞閮ㄧ講閰嶇疆鏂囦歡錛堜粎闄愪笁灞傚簲鐢ㄧ▼搴忥級

璺寵繃姝ゆ楠ゃ?/span>

絎?6 姝ワ紝閮ㄧ講搴旂敤紼嬪簭

鍙抽敭鍗曞嚮鈥渨ebapp.deploy鈥?/span>銆?

閫夋嫨鈥渄eploy to tomcat鈥?/span>

絎?7 姝ワ紝嫻嬭瘯搴旂敤紼嬪簭

閫氳繃鍦ㄦ祻瑙堝櫒涓敭鍏?http://localhost:8080/[warfilename]/departments.jsp錛屾祴璇曞簲鐢ㄧ▼搴忕殑閮ㄧ講銆?/span>



Kimi 2006-11-27 10:32 鍙戣〃璇勮
]]>
Eclipse 鎻掍歡浠嬬粛http://m.tkk7.com/kemi/archive/2006/10/13/74942.htmlKimiKimiFri, 13 Oct 2006 03:16:00 GMThttp://m.tkk7.com/kemi/archive/2006/10/13/74942.htmlhttp://m.tkk7.com/kemi/comments/74942.htmlhttp://m.tkk7.com/kemi/archive/2006/10/13/74942.html#Feedback0http://m.tkk7.com/kemi/comments/commentRss/74942.htmlhttp://m.tkk7.com/kemi/services/trackbacks/74942.html eclipse聽鎻掍歡闆嗛敠

XML聽Schema聽Infoset聽Model聽(XSD)
鍔熻兘錛歑ML聽Schema聽Infoset聽Model聽鏄釜鍙傝冨簱鎻愪緵鐢ㄤ簬嫻嬭瘯錛屽垱寤烘垨鑰呬慨鏀孤燱3C聽XML聽Schema聽鐨劼燗PI銆?br />涓婚〉錛?/font> http://www.eclipse.org/xsd/

Graphical聽Editing聽Framework
鍔熻兘錛氳繖涓彃浠跺厑璁稿紑鍙戣呭揩閫熷紑鍙戝浘褰㈢紪杈戝櫒銆?br />涓婚〉錛?/font> http://www.eclipse.org/gef/

Eclipse聽Modeling聽Framework聽(EMF)聽
鍔熻兘錛欵MF鏄竴涓緩妯℃鏋跺拰鍩轟簬緇撴瀯鍖栨暟鎹ā鍨嬬殑浠g爜鐢熸垚宸ュ叿銆傚畠鑳藉灝嗘寜鐓х害瀹氭墍榪涜鎻忚堪鐨刋ML鍜屽叾瀹僂MF

宸ュ叿浜х敓鎴栬繍琛屾椂鏀寔涓濂桱AVA綾繪ā鍨嬨佷竴濂楃敤浜庢煡鐪嬪拰澶勭悊妯″瀷鎿嶄綔鐨勬帴鍙g被銆傝繖濂楁ā鍨嬪彲浠ョ敤鍖呭惈娉ㄩ噴鐨?br />
JAVA浠g爜銆乆ML鏂囨。鎴栬呯敤ROSE涔嬬被鐨勫緩妯″伐鍏鋒墍鍒朵綔鐨勬ā鍨嬪鎴怑MF銆傛渶閲嶈鐨勬槸錛孍MF鎻愪緵鍏跺畠鍩轟簬EMF鐨勫伐鍏?br />
鍙婂簲鐢ㄧ▼搴忕殑鍩虹鍗忎綔騫沖彴銆?br />涓婚〉錛?/font> http://www.eclipse.org/emf/

Eclipse聽Web聽Tools聽Platform聽(WTP)
鐗堟湰錛?.0
鏀寔鐨劼燛clipse聽鐗堟湰錛毬?.1聽&聽3.0
浣跨敤璇佷功錛毬燜ree
寮鍙戠姸鍐碉細聽Beta
鍏徃錛毬爀clipse.org
鍔熻兘錛氬寘鍚簡聽HTML聽,聽javascript聽,聽CSS聽,聽JSP聽,聽SQL聽,聽DTD聽,聽XSD聽&聽WSDL聽緙栬緫鍣紝鎻愪緵鍥懼艦鍖栫殑聽XSD聽&聽WSDL聽

緙栬緫鍣紝J2EE聽宸ョ▼鏋勫緩錛屽緩妯★紝鍙戝竷銆俉eb聽service聽鍚戝鏁版嵁搴撹闂拰鏌ヨ宸ュ叿錛屼簲鏄熺駭鎻掍歡錛佸己鐑堟帹鑽愩?br />涓婚〉錛?/font> http://www.eclipse.org/webtools/index.html

Lomboz
鐗堟湰錛欱uild-20050526
寮鍙戠姸鍐碉細聽5聽-聽Production/Stable
浣跨敤鍗忚錛欸NU聽Lesser聽General聽Public聽License聽(LGPL)
鍔熻兘錛歀omaz聽鏄憲鍚嶇殑聽eclipse聽鐨劼燡2EE聽寮鍙戞彃浠訛紝瀹冧嬌鐢ㄤ簡浠ヤ笅寮婧愭妧鏈細Jasper錛孹doclet錛孉xis聽鍜屄燗nt錛?br />
瀹屽叏鏀寔緙栫爜錛屽彂甯冿紝嫻嬭瘯鍜岃皟璇曠殑寮鍙戠幆鑺傘?br />涓婚〉錛?/font> http://forge.objectweb.org/projects/lomboz

Myeclipse
鐗堟湰錛?.8.4
鏀寔鐨劼燛clipse聽鐗堟湰錛毬?.1聽&聽3.0
浣跨敤璇佷功錛歝ommerce
寮鍙戠姸鍐碉細stable
鍏徃錛毬燝enuitec,聽LLC
鍔熻兘錛?br />

瑕侀挶鐨勪笢瑗匡紝涓嶈繃鏄渶寮烘倣鐨劼燡2EE聽寮鍙戞彃浠躲?br />鍙鍖栫殑聽JSF聽鍜屄燬truts聽寮鍙戯紝XML聽緙栬緫鍣紝Hibernate聽鏀寔錛孶ML寤烘ā錛屽簲鐢ㄦ湇鍔″櫒榪炴帴錛屾敮鎸伮燛JB聽寮鍙戯紝鍚?br />
姝ュ彂甯兟燡SP聽錛堜笉蹇呭彂甯冩暣涓簲鐢ㄧ▼搴忥級鈥︹?br />闈炲父寮哄ぇ鐨勫伐鍏鳳紝浣跨敤涓涓嬪氨鑳戒綋浼氬埌浜喡?聽)聽

Sysdeo聽Eclipse聽Tomcat聽Launcher聽plugin
鐗堟湰錛?.1聽Beta
鏀寔鐨劼燛clipse聽鐗堟湰錛毬?.1聽&聽3.0
浣跨敤璇佷功錛毬燜ree
寮鍙戠姸鍐碉細聽Beta
鍏徃錛毬燬ysdeo
鍔熻兘錛?br />

鍦‥lipse涓惎鍔ㄥ仠姝㈤噸鍚疶omcat
娉ㄥ唽聽Tomcat聽榪涚▼鍒奧燛clipse聽璋冭瘯鍣?br />鍒涘緩聽WAR聽鏂囦歡
鎶娐燡ava聽宸ョ▼娣誨姞鍒奧燭omcat聽Classpath聽涓?br />璁劇疆聽Tomcat聽JVM聽鍙傛暟錛孋lasspath聽鍜屄燽ootclasspath
鎶娐燭omcat聽宸ョ▼瀵煎嚭涓郝燱AR聽鏂囦歡
閫夋嫨聽Tomcat聽閰嶇疆鏂囦歡聽

鎻掍歡涓婚〉錛?/font> http://www.eclipse-plugins.info/eclipse/index.jsp


JavaScript聽Editor
鐗堟湰錛?.0.9b
鏀寔鐨劼燛clipse聽鐗堟湰錛毬?.1聽&聽3.0
浣跨敤璇佷功錛毬燜ree聽CPL
寮鍙戠姸鍐碉細聽Beta
鍏徃錛毬燦/A
鍔熻兘錛欽avascript聽緙栬緫錛屾彁渚涗簡浠g爜楂樹寒錛岃嚜鍔ㄥ畬鎴愬拰鍐呭綰茶鐨勫姛鑳姐?br />鎻掍歡涓婚〉錛?/font> http://jseditor.sourceforge.net/

CSSEditor
鐗堟湰錛?.0.4
鏀寔鐨劼燛clipse聽鐗堟湰錛毬?.1聽&聽3.0
浣跨敤璇佷功錛毬燜ree聽CPL
寮鍙戠姸鍐碉細聽Beta
鍏徃錛毬燦/A
鍔熻兘錛氫唬鐮侀珮浜紝鍐呭鎻愮ず錛岀翰瑕佹爮鏄劇ず聽CSS聽瑙勫垯錛岃緭鍏ユ椂鏄劇ず閿欒銆?br />涓婚〉錛?/font> http://csseditor.sourceforge.net/

Exadel聽Studio
鐗堟湰錛?.5
鏀寔鐨劼燛clipse聽鐗堟湰錛毬?.0
浣跨敤璇佷功錛毬燜ree聽CPL
寮鍙戠姸鍐碉細聽Beta
鍏徃錛毬燦/A
鍔熻兘錛氭敮鎸伮燡SF錛孲truts錛孞SP聽緙栬緫錛堟敮鎸?.0錛夛紝Spring聽Framework錛孒ibernate錛屾暟鎹簱嫻忚錛屽浘褰㈠寲鐨勫睘鎬?br />
緙栬緫鍣紝CSS聽緙栬緫鍣紝JavaScript聽緙栬緫鍣紝鍥懼儚嫻忚錛孹SD聽緙栬緫錛屾敮鎸伮燲ML聽Schema錛屾敮鎸佽秴榪嚶?0聽縐嶅簲鐢ㄦ湇鍔?br />
鍣ㄧ殑鍙戝竷鈥︹﹀姛鑳介潪甯稿己澶с偮?br />
Struts聽Console
鐗堟湰錛?.8
鏀寔鐨劼燛clipse聽鐗堟湰錛毬燗LL
浣跨敤璇佷功錛毬燜ree
寮鍙戠姸鍐碉細聽stable
鍏徃錛毬燦/A
鍔熻兘錛氭敮鎸伮?.tld鏂囦歡錛孲truts聽1.0聽錛嵚?.2聽閰嶇疆鏂囦歡錛屄燭iles閰嶇疆鏂囦歡錛屄燰alidator聽1.0聽鍜屄?.1閰嶇疆鏂囦歡錛屾敮

鎸佷富嫻佺殑聽Java聽IDEs銆?br />涓婚〉錛?/font> http://www.jamesholmes.com/struts/console/

Faces聽Console
鐗堟湰錛?.7
鏀寔鐨劼燛clipse聽鐗堟湰錛毬燗LL
浣跨敤璇佷功錛毬燜ree
寮鍙戠姸鍐碉細聽stable
鍏徃錛毬燦/A
鍔熻兘錛氬畬鍏ㄦ敮鎸伮燡SF聽閰嶇疆鏂囦歡錛屾敮鎸伮燡SP聽Tag聽Library聽鏂囦歡錛屾敮鎸佷富嫻佺殑聽Java聽IDEs銆?br />涓婚〉錛?/font> http://www.jamesholmes.com/JavaServerFaces/console/


HTML聽Tidy聽Eclipse聽Plug-in
鐗堟湰錛?.2.1
鏀寔鐨劼燛clipse聽鐗堟湰錛毬?.1聽&聽3.0
浣跨敤璇佷功錛毬燜ree聽CPL
寮鍙戠姸鍐碉細聽Beta
鍏徃錛毬燦/A
鍔熻兘錛氭牸寮忓寲鍜屾牎楠屄?X)HTML聽鍜屄燲ML聽浠g爜銆傛湰韜茍涓嶆彁渚涚紪杈戝櫒銆?br />涓婚〉錛?/font> http://eclipsetidy.sourceforge.net/

Eclipse聽HTML聽Editor聽Plugin
鐗堟湰錛歂/A
鏀寔鐨劼燛clipse聽鐗堟湰錛毬?.1聽&聽3.0
浣跨敤璇佷功錛毬燜ree聽CPL
寮鍙戠姸鍐碉細聽Beta
鍏徃錛毬燦/A
鍔熻兘錛?br />

Eclipse聽HTML聽Editor聽鏄燞TML/JSP/XML聽緙栬緫鎻掍歡銆?br />HTML/JSP/XML/CSS聽楂樹寒銆?br />HTML/JSP聽棰勮
JSP/XML聽鏍¢獙
Contents聽甯姪(HTML聽Tags/Attributes,聽XML聽based聽on聽DTD聽and聽JSP聽taglib聽and聽more)
鍒涘緩聽HTML/JSP/XML聽鏂囦歡鍚戝
浠g爜鎶樺彔
鍥劇墖嫻忚
CSS聽浠g爜瀹屾垚聽

涓婚〉錛?/font> http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=EclipseHTMLEditor

PHPeclipse錛圥HP聽Development聽Toolkit聽錛?/font>
鐗堟湰錛歂/A
鏀寔鐨劼燛clipse聽鐗堟湰錛毬?.0
浣跨敤璇佷功錛毬燜ree聽CPL
寮鍙戠姸鍐碉細聽Beta
鍏徃錛毬燦/A
鍔熻兘錛歟clipse聽鐨劼燩HP聽寮鍙戠幆澧冿紝鏀寔浠g爜楂樹寒鍜屼唬鐮佽嚜鍔ㄥ畬鎴愶紝棰勮聽PHP聽欏甸潰銆傚彲浠ュ湪eclipse涓帶鍒堵?br />
apache錛宮ysql聽鐨勫惎鍔紝鍋滄鍜岄噸鍚傚姛鑳藉己澶э紒
涓婚〉錛?/font> http://www.phpeclipse.de/tiki-view_articles.php

XMLBuddy
鐗堟湰錛歂/A
鏀寔鐨劼燛clipse聽鐗堟湰錛毬?.0
浣跨敤璇佷功錛毬燜ree聽&聽commerce
寮鍙戠姸鍐碉細聽stable
鍏徃錛毬燦/A
鍔熻兘錛氳繖鏄釜鍏嶈垂鐗堟湰錛屽緢濂界敤錛岃瘯璇曞氨鐭ラ亾浜嗐?br />涓婚〉錛?/font> http://www.xmlbuddy.com/

Doclipse
鐗堟湰錛歂/A
鏀寔鐨劼燛clipse聽鐗堟湰錛毬?.0
浣跨敤璇佷功錛毬燜ree
寮鍙戠姸鍐碉細聽stable
鍏徃錛毬燦/A
鍔熻兘錛氱湅鍚嶅瓧灝辯煡閬撲簡錛屽湪聽eclipse聽涓嬌鐢爅avadoc聽鏍囩鐨勮緟鍔╁伐鍏楓?br />涓婚〉錛?/font> http://www.beust.com/doclipse/

jadclipse
鐗堟湰錛?.06
鏀寔鐨劼燛clipse聽鐗堟湰錛毬犳墍鏈?br />浣跨敤璇佷功錛毬燜ree
寮鍙戠姸鍐碉細聽stable
鍏徃錛毬燦/A
鍔熻兘錛氬緢媯掔殑宸ュ叿錛屽彲浠ュ湪聽eclipse聽涓洿鎺ュ弽緙栬瘧聽class聽鏂囦歡錛?


Kimi 2006-10-13 11:16 鍙戣〃璇勮
]]>
AXIS For Web Service Step by Step (杞?http://m.tkk7.com/kemi/archive/2006/10/13/74922.htmlKimiKimiFri, 13 Oct 2006 01:54:00 GMThttp://m.tkk7.com/kemi/archive/2006/10/13/74922.htmlhttp://m.tkk7.com/kemi/comments/74922.htmlhttp://m.tkk7.com/kemi/archive/2006/10/13/74922.html#Feedback0http://m.tkk7.com/kemi/comments/commentRss/74922.htmlhttp://m.tkk7.com/kemi/services/trackbacks/74922.html(CSdn涓婇潰鐨勪竴涓緥紼嬶細http://topic.csdn.net/t/20050422/17/3959160.html)

AXIS瀹炵幇web鏈嶅姟閰嶇疆閮ㄧ講綆瑕佹祦紼?br />1錛氱紪鍐欐湇鍔″櫒绔帴鍙o紝騫跺湪<webapp>/WEB-INF/classes涓嬬紪璇戙?/p>

聽聽聽聽聽聽 javac 鈥揹 . *.java

2錛氬湪%APP_HOME%/webapp/WEB-INF鐩綍涓嬪垱寤簊erver-config.wsdd錛圓XIS閰嶇疆鏂囦歡錛屾墍鏈墂eb鏈嶅姟閮借鍦ㄨ鏂囦歡涓敞鍐岋級鏂囦歡銆傚艦濡傦細

<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <parameter name="sendXsiTypes" value="true"/>聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <parameter name="sendMultiRefs" value="true"/>聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <parameter name="sendXMLDeclaration" value="true"/>聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <parameter name="axis.sendMinimizedElements" value="true"/>聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <requestFlow>聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <handler type="java:org.apache.axis.handlers.JWSHandler">聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <parameter name="scope" value="session"/>聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </handler>聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <handler type="java:org.apache.axis.handlers.JWSHandler">聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <parameter name="scope" value="request"/>聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <parameter name="extension" value=".jwr"/>聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </handler>聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </requestFlow>
聽聽聽聽聽聽聽聽聽 </globalConfiguration>
聽聽聽聽聽聽聽聽聽 <handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
聽聽聽聽聽聽聽聽聽 <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
聽聽聽聽聽聽聽聽聽 <handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>聽聽

聽聽聽聽聽聽聽聽聽 <service name="login" provider="java:RPC">聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <!-- 鏈嶅姟綾誨悕 -->聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <parameter name="className" value="com.test.service.loginService"/>聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <!-- 鍏佽璁塊棶鎵鏈夋柟娉?-->聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <parameter name="allowedMethods" value="*"/>
聽聽聽聽聽聽聽聽聽 </service>聽
聽聽聽聽聽聽聽聽聽 <transport name="http">聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <requestFlow>聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <handler type="URLMapper"/>聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </requestFlow>
聽聽聽聽聽聽聽聽聽 </transport>
聽聽聽聽聽聽聽聽聽 <transport name="local">聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <responseFlow>聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <handler type="LocalResponder"/>聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </responseFlow>
聽聽聽聽聽聽聽聽聽 </transport>
</deployment>



娉細server-config.wsdd鏂囦歡涔熷彲浠ラ氳繃緙栧啓deploy.wsdd鏂囦歡鐢熸垚錛屽叿浣撴柟娉曚負錛屽湪%APP_HOME%/webapp/WEB-INF鐩綍涓嬪垱寤篸eploy.wsdd鏂囦歡錛圫OAP鍙戝竷鎻忚堪鏂囦歡錛夛紝褰㈠錛?/p>

<deployment xmlns="聽聽聽聽聽聽聽 <parameter name="className" value="LoginService"/>
聽聽聽聽聽聽聽 <parameter name="allowedMethods" value="*"/>
聽聽聽 </service>
</deployment>
鐒跺悗灝嗙浉搴旀湇鍔″櫒绔痗lass緙栬瘧鍚庡湪鍛戒護琛岃緭鍏ワ細

java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd
灝嗗湪褰撳墠鐩綍涓嬬敓鎴恠erver-config.wsdd鏂囦歡銆?/p>


瀹屾垚浠ヤ笂鎿嶄綔鍚庯紝鍙湪嫻忚鍣ㄤ腑閫氳繃
http://localhost:8080/axis/services/login?wsdl 璁塊棶璇ユ湇鍔°?br />聽


3錛欽AVA瀹㈡埛绔疄鐜幫細

鍙互閫氳繃AXIS涓殑org.apache.axis.wsdl.WSDL2Java綾誨皢宸插彂甯冪殑web鏈嶅姟榪涜瀹㈡埛绔疄渚嬪寲錛屽叿浣撳懡浠や負錛氬湪%APP_HOME%/webapp/WEB-INF鐩綍涓嬪懡浠よ杈撳叆錛?/p>

Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java url[YiWang1]

鍛戒護鎵ц鍚庝細鍦ㄦ湰鍦板綋鍓嶇洰褰曚笅鐢熸垚浠rl涓烘ā鐗堢殑package鐩綍灞傛緇撴瀯(濡傦細local.axis.service.*),璇ョ洰褰曚腑閽堝姣忎釜鏈嶅姟鍣ㄧ鎺ュ彛浼氳嚜鍔ㄧ敓鎴?涓湰鍦扮被銆?/p>

鍏朵腑錛?/p>

聽聽聽聽聽聽 inferface LoginService鍦ㄥ鎴風鏈湴瀹氫箟鏈嶅姟鍣ㄦ帴鍙g殑鏄犲皠銆?/p>

聽聽聽聽聽聽 interface LoginServiceService瀹氫箟浜嗙敤浜庤幏寰梬eb鏈嶅姟鐨刧etter鏂規硶銆?/p>

聽聽聽聽聽聽 class LoginServiceServiceLocator鍏蜂綋瀹炵幇LoginServiceService鎺ュ彛錛屼繚瀛樹簡鏈嶅姟鍣ㄧ殑url絳夌浉鍏充俊鎭?/p>

聽聽聽聽聽聽 class LoginSoapBindingStub 鍏蜂綋瀹炵幇LoginService錛岃礋璐f湇鍔″櫒浜や簰銆?/p>


錛堥儴緗蹭簡web鏈嶅姟涔嬪悗錛屽鏋滄帴鍙d笉鍙樿寀rl鍙戠敓鏀瑰彉錛屽彲浠ョ洿鎺ュ湪瀹㈡埛绔洿鏂癓oginServiceServiceLocator涓湁鍏蟲湇鍔″櫒鍦板潃鐨勭浉鍏充俊鎭紝鎴栬呯敤閰嶇疆鏂囦歡鐨勫艦寮忎慨鏀癸級

緙栬瘧浠ヤ笂鍑犱釜綾繪椂闇瑕乤xis.jar錛宩axrpc.jar涓や釜鍖咃紝鍛戒護涓猴細

聽 javac -classpath lib\axis.jar;lib\jaxrpc.jar 鈥揹 . *.java
緙栬瘧鎴恈lass鍚庡彲浠ラ氳繃jar鍛戒護鎵撳寘浣滀負鎺ュ彛閮ㄧ講鍦ㄥ鎴風銆?/p>


瀹㈡埛绔祴璇曚緥紼嬶細

聽聽聽聽聽聽 濡傛灉閫氳繃java搴旂敤紼嬪簭褰㈠紡榪涜嫻嬭瘯錛屽懡浠や負錛?/p>

聽聽聽聽聽聽聽 java -Djava.ext.dirs=lib -cp . package.class


--------------------------------------------------------------------------------

聽[YiWang1]鏈嶅姟鍣ㄩ氳繃Wsdl褰㈠紡鍙戝竷鐨剋eb鏈嶅姟鐨勫畬鏁磚rl鍦板潃銆?br />



Kimi 2006-10-13 09:54 鍙戣〃璇勮
]]>
閫氳繃AXIS宸ュ叿鐩存帴浠嶹SDL鐢熸垚.CLASShttp://m.tkk7.com/kemi/archive/2006/10/12/74764.htmlKimiKimiThu, 12 Oct 2006 04:44:00 GMThttp://m.tkk7.com/kemi/archive/2006/10/12/74764.htmlhttp://m.tkk7.com/kemi/comments/74764.htmlhttp://m.tkk7.com/kemi/archive/2006/10/12/74764.html#Feedback0http://m.tkk7.com/kemi/comments/commentRss/74764.htmlhttp://m.tkk7.com/kemi/services/trackbacks/74764.html鍛戒護錛歟xecute java org.apache.axis.wsdl.WSDL2Java 涓枃path\綆浣揂ddressBook涓枃.wsdl
娉ㄦ剰鍦╡xecute涔嬪墠鍦ㄧ郴緇熺幆澧冨彉閲廲lasspaht閲岄潰閰嶅ソAxis璺緞銆?br />榪欐牱鐢熸垚.class鍚庡氨鐩存帴鍙互鍦↗AVA BEAN閲岄潰璋冪敤浜嗭紝鍛靛懙錛岃繖鏍鋒槸涓嶆槸鏇存柟渚縹~~
鍏蜂綋瑕佸仛鐨勶紝涔熷氨鏄畬鎴恠tub鐨勭紪鍐欙紝娉ㄦ剰SOAP澶寸殑鍐呭銆傚叾浠栨病浠涔堛?br />



Kimi 2006-10-12 12:44 鍙戣〃璇勮
]]>
Eclipse濡備綍鍜孧yEclipse鏁村悎錛?閫氱敤鎻掍歡鏂規硶)http://m.tkk7.com/kemi/archive/2006/09/30/72965.htmlKimiKimiSat, 30 Sep 2006 02:34:00 GMThttp://m.tkk7.com/kemi/archive/2006/09/30/72965.htmlhttp://m.tkk7.com/kemi/comments/72965.htmlhttp://m.tkk7.com/kemi/archive/2006/09/30/72965.html#Feedback0http://m.tkk7.com/kemi/comments/commentRss/72965.htmlhttp://m.tkk7.com/kemi/services/trackbacks/72965.html1.涓嬭澆EC,鎴戣繕鏄竴鐩寸敤鐨勮佺増鏈?.1;榪欎釜鍘?/font> http://www.eclipse.org/downloads/index.php 鑳戒笅鍒幫紝瑙e帇鍚庨噴鏀懼埌G錛歕eclipse錛?br />2.涓嬭澆MyEC錛屾垜褰撶劧鐢ㄧ殑鏄拡瀵?.1鍑虹殑Version:030801.鐒跺悗鎵懼埌EC錛屽畨瑁呭埌鏌愬錛屽G:\MyEC;榪欐椂鍊欏皢涓や釜鏂囦歡澶筽lugins,feathers鎷峰埌鍙﹀銆傜劧鍚嶶nitall MyEC.鏈鍚庡皢鍒氭墠杞Щ鐨勪袱涓枃浠跺す澶嶅埗浼欸:\eclipse銆傝繘鍏C鍚庯紝浣犺兘鍦╳indow-perference閲岄潰娓呮鐪嬪埌MyEclipse.鍓╀笅鐨勫氨鏄牬瑙d簡銆傚湪Subscription閲岄潰杈撳叆KEY錛岃繖閲屾彁渚涗竴涓棤闄愭湡鐨凨EY錛?br />聽聽聽 IceCraft聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 VAR7ZL-819-56-54678656108018950
3.璁劇疆JDK浣嶇疆錛屽湪MyEC涓緗瓵pplication Server灞炴с侽K錛佸噯澶囧伐浣滃綆鍗曞惂錛屼笅闈㈢殑寮鍙戝氨鐪嬭兘鍔涗簡


Kimi 2006-09-30 10:34 鍙戣〃璇勮
]]>
eclipseME:寮濮嬪湪鎻掍歡嫻鋒磱閲屾帰瀵籎2MEhttp://m.tkk7.com/kemi/archive/2006/09/30/72962.htmlKimiKimiSat, 30 Sep 2006 02:23:00 GMThttp://m.tkk7.com/kemi/archive/2006/09/30/72962.htmlhttp://m.tkk7.com/kemi/comments/72962.htmlhttp://m.tkk7.com/kemi/archive/2006/09/30/72962.html#Feedback0http://m.tkk7.com/kemi/comments/commentRss/72962.htmlhttp://m.tkk7.com/kemi/services/trackbacks/72962.html鏈潵涓鐩存墦綆楀緇堝潥鎸丣developer鐨勪嬌鐢紝涓嶈繃瀵筼racle涓滆タ渚濊禆鎬уお寮猴紝鍙堝洜涓篔2ME鐨勫ぇ鐜鑰冭檻鍒癳clipseMe鐨勪究鍒╋紝浜庢槸鍙堝皢鎷捐搗鍦╠aphne寮鍙戠敤榪囩殑EC錛屽叧娉ㄥ畠鏇劇粡璁╂垜鏅曢椃鐨勮姼鑺告彃浠躲傛垨璁歌繖鏄釜濂戞満錛屽洜涓簊pring絳夋鏋跺湪eclipse涓婄殑鑹ソ闆嗘垚鏄叕璁ょ殑銆?br />璁″垝鐭湡鍐呮秹瓚矹2ME鐨勫紑鍙戯綖锝炴暚璇峰叧娉紒鍚煎惣



Kimi 2006-09-30 10:23 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 亚洲人成电影网站久久| 亚洲福利中文字幕在线网址| 免费在线观看视频网站| 在线观看特色大片免费网站| 中文字幕av免费专区| 五月天国产成人AV免费观看| 在线播放国产不卡免费视频| 全部在线播放免费毛片| 猫咪www免费人成网站| 美女扒开尿口给男人爽免费视频| 色吊丝免费观看网站| 九九久久国产精品免费热6| 国产精品免费一区二区三区| 久久精品成人免费观看97| 最新亚洲成av人免费看| 在线看片免费人成视频福利| 久久久久久毛片免费播放| 美女内射毛片在线看免费人动物| 在线永久看片免费的视频| 久久久久国色AV免费看图片| 免费无码又爽又刺激高潮| 四虎免费久久影院| 亚洲一级片免费看| 亚洲AV无码第一区二区三区 | 69视频免费观看l| 1000部无遮挡拍拍拍免费视频观看| 久视频精品免费观看99| 最近中文字幕无吗免费高清 | 中文成人久久久久影院免费观看| 久久国产精品免费看| 手机看黄av免费网址| 色播在线永久免费视频| 亚洲片国产一区一级在线观看| 亚洲人成网站在线播放vr| 亚洲成aⅴ人在线观看| 久久精品国产亚洲AV电影网| xvideos永久免费入口| 2020因为爱你带字幕免费观看全集| 大地资源免费更新在线播放| 亚洲无线一二三四区手机| 1区1区3区4区产品亚洲|