锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
銆銆J2EE鍙互璇存寚Java鍦ㄦ暟鎹簱淇℃伅緋葷粺涓婂疄鐜幫紝鏁版嵁搴撲俊鎭郴緇熶粠鏃╂湡鐨刣Base銆佸埌Delphi/VB絳塁/S緇撴瀯錛屽彂灞曞埌B/S錛圔rowser嫻忚鍣?Server鏈嶅姟鍣級緇撴瀯錛岃孞2EE涓昏鏄寚B/S緇撴瀯鐨勫疄鐜般?BR>
銆銆J2EE鍙堟槸涓縐嶆鏋跺拰鏍囧噯錛屾鏋剁被浼糀PI銆佸簱鐨勬蹇碉紝浣嗘槸瑕佽秴鍑哄畠浠傚鏋滈渶瑕佽緇嗕簡瑙f鏋訛紝鍙厛浠庤璁℃ā寮忓紑濮嬪涔犮?BR>
銆銆J2EE鏄竴涓櫄鐨勫ぇ鐨勬蹇碉紝J2EE鏍囧噯涓昏鏈変笁縐嶅瓙鎶鏈爣鍑嗭細WEB鎶鏈丒JB鎶鏈拰JMS錛岃皥鍒癑2EE搴旇璇存渶緇堣钀藉疄鍒拌繖涓変釜瀛愭蹇典笂銆?BR>
銆銆榪欎笁縐嶆妧鏈殑姣忎釜鎶鏈湪搴旂敤鏃墮兘娑夊強涓や釜閮ㄥ垎錛氬鍣ㄩ儴鍒嗗拰搴旂敤閮ㄥ垎錛學eb瀹瑰櫒涔熸槸鎸嘕sp/Servlet瀹瑰櫒錛屼綘濡傛灉瑕佸紑鍙戜竴涓猈eb搴旂敤錛屾棤璁烘槸緙栬瘧鎴栬繍琛岋紝閮藉繀欏昏鏈塉sp/Servlet搴撴垨API鏀寔錛堥櫎浜咼DK/J2SE浠ュ錛夈?BR>
銆銆Web鎶鏈腑闄や簡Jsp/Servlet鎶鏈錛岃繕闇瑕丣avaBeans鎴朖ava Class瀹炵幇涓浜涘姛鑳芥垨鑰呭寘瑁呮惡甯︽暟鎹紝鎵浠eb鎶鏈渶鍒濊8浣撶畝縐頒負Jsp/Servlet+JavaBeans緋葷粺銆?BR>璋堝埌JavaBeans鎶鏈紝灝辨秹鍙婂埌緇勪歡鏋勪歡鎶鏈紙component錛夛紝榪欐槸Java鐨勬牳蹇冨熀紜閮ㄥ垎錛屽緢澶氳蔣浠惰璁℃蹇碉紙璁捐妯″紡錛夐兘鏄氳繃JavaBeans瀹炵幇鐨勩?BR>
銆銆JavaBeans涓嶅睘浜嶫2EE姒傚康鑼冪暣涓紝濡傛灉涓涓狫avaBeans瀵硅薄琚玏eb鎶鏈紙涔熷氨鏄疛sp/Servlet錛夎皟鐢紝閭d箞JavaBeans灝辮繍琛屽湪J2EE鐨刉eb瀹瑰櫒涓紱濡傛灉瀹冭EJB璋冪敤錛屽畠灝辮繍琛屽湪EJB瀹瑰櫒涓?BR>
銆銆EJB錛堜紒涓欽avaBeans錛夋槸鏅欽avaBeans鐨勪竴縐嶆彁鍗囧拰瑙勮寖錛屽洜涓轟紒涓氫俊鎭郴緇熷紑鍙戜腑闇瑕佷竴涓彲浼哥緝鐨勬ц兘鍜屼簨鍔°佸畨鍏ㄦ満鍒訛紝榪欐牱鑳戒繚璇佷紒涓氱郴緇熷鉤婊戝彂灞曪紝鑰屼笉鏄彂灞曞埌涓縐嶈妯¢噸鏂版洿鎹竴濂楄蔣浠剁郴緇熴?BR>
銆銆鑷蟲錛孞avaBeans緇勪歡鍙戝睍鍒癊JB鍚庯紝騫朵笉鏄浠ュ墠鐨勯偅縐岼avaBeans褰㈠紡灝辨秷澶變簡錛岃繖灝辮嚜鐒跺艦鎴愪簡涓ょJavaBeans鎶鏈細EJB鍜孭OJO錛孭OJO瀹屽叏涓嶅悓浜嶦JB姒傚康錛屾寚鐨勬槸鏅欽avaBeans錛岃屼笖榪欎釜JavaBeans涓嶄緷闄勬煇縐嶆鏋訛紝鎴栬呭共鑴嗗彲浠ヨ錛氳繖涓狫avaBeans鏄綘涓鴻繖涓簲鐢ㄧ▼搴忓崟鐙紑鍙戝垱寤虹殑銆?BR>
銆銆J2EE搴旂敤緋葷粺寮鍙戝伐鍏鋒湁寰堝錛氬JBuilder銆丒clipse絳夛紝榪欎簺IDE棣栧厛鏄疛ava寮鍙戝伐鍏鳳紝涔熷氨鏄錛屽畠浠瑕佸熀鏈姛鑳芥槸鍙互寮鍙戝嚭JavaBeans鎴朖ava class錛屼絾鏄鏋滆寮鍙戝嚭J2EE緋葷粺錛屽氨瑕佽惤瀹炲埌瑕佷箞鏄疻eb鎶鏈垨EJB鎶鏈紝閭d箞灝辨湁鍙兘瑕佷竴浜涗笓闂ㄦā鍧楀姛鑳?濡俥clipse闇瑕乴omboz鎻掍歡)錛屾渶閲嶈鐨勬槸錛屽洜涓篔2EE緋葷粺鍖哄垎涓哄鍣ㄥ拰搴旂敤涓や釜閮ㄥ垎錛屾墍浠ワ紝鍦ㄤ換浣曞紑鍙戝伐鍏蜂腑寮鍙慗2EE閮介渶瑕佹寚瀹欽2EE瀹瑰櫒銆?BR>
銆銆J2EE瀹瑰櫒鍒嗕負WEB瀹瑰櫒鍜孍JB瀹瑰櫒錛孴omcat/Resin鏄疻eb瀹瑰櫒錛汮Boss鏄疎JB瀹瑰櫒+Web瀹瑰櫒絳夛紝鍏朵腑Web瀹瑰櫒鐩存帴浣跨敤Tomcat瀹炵幇鐨勩傛墍浠ヤ綘寮鍙戠殑Web搴旂敤紼嬪簭鍙互鍦ㄤ笂闈袱縐嶅鍣ㄨ繍琛岋紝鑰屼綘寮鍙戠殑Web+EJB搴旂敤鍒欏彧鍙互鍦↗Boss鏈嶅姟鍣ㄤ笂榪愯錛屽晢涓氫駭鍝乄ebsphere/Weblogic絳夊拰JBoss灞炰簬鍚屼竴縐嶆ц川銆?BR>
銆銆J2EE瀹瑰櫒涔熺О涓篔2EE鏈嶅姟鍣紝澶ч儴鍒嗘椂瀹冧滑姒傚康鏄竴鑷寸殑銆?BR>濡傛灉浣犵殑J2EE搴旂敤緋葷粺鐨勬暟鎹簱榪炴帴鏄氳繃JNDI鑾峰緱錛屼篃灝辨槸璇存槸浠庡鍣ㄤ腑鑾峰緱錛岄偅涔堜綘鐨凧2EE搴旂敤緋葷粺鍩烘湰涓庢暟鎹簱鏃犲叧錛屽鏋滀綘鍦ㄤ綘鐨凧2EE搴旂敤緋葷粺鑰﹀悎浜嗘暟鎹簱JDBC椹卞姩鐨勯厤緗紝閭d箞浣犵殑J2EE搴旂敤緋葷粺灝辨湁鏁版嵁搴撴蹇佃壊褰╋紝浣滀負涓涓垚鐔熼渶瑕佹帹騫跨殑J2EE搴旂敤緋葷粺錛屼笉鎺ㄨ崘鍜屽叿浣撴暟鎹簱鑰﹀悎錛屽綋鐒惰繖鍏朵腑濡備綍淇濊瘉J2EE搴旂敤緋葷粺榪愯鎬ц兘鍙堟槸浣撶幇浣犵殑璁捐姘村鉤浜嗐?BR>
銆銆琛¢噺J2EE搴旂敤緋葷粺璁捐寮鍙戞按騫抽珮浣庣殑鏍囧噯灝辨槸錛氳В鑰︽э紱浣犵殑搴旂敤緋葷粺鍚勪釜鍔熻兘鏄惁鑳藉褰誨簳鑴辯錛熸槸鍚︿笉鐩鎬簰渚濊禆錛屼篃鍙湁榪欐牱錛屾墠鑳戒綋鐜板彲緇存姢鎬с佸彲鎷撳睍鎬х殑杞歡璁捐鐩爣銆?BR>
銆銆涓轟簡杈懼埌榪欎釜鐩殑錛岃癁鐢熷悇縐嶆鏋舵蹇碉紝J2EE妗嗘灦鏍囧噯灝嗕竴涓郴緇熷垝鍒嗕負WEB鍜孍JB涓昏閮ㄥ垎錛屽綋鐒舵垜浠湁鏃朵笉鏄互榪欎釜鍏蜂綋鎶鏈尯鍒嗭紝鑰屾槸浠庤璁′笂鎶借薄涓鴻〃鐜板眰銆佹湇鍔″眰鍜屾寔涔呭眰錛岃繖涓変釜灞傛浠庝竴涓珮搴﹀皢J2EE鍒嗙寮鏉ワ紝瀹炵幇瑙h︾洰鐨勩?BR>
銆銆鍥犳錛屾垜浠疄闄呯紪紼嬩腑錛屼篃瑕佸皢鑷繁鐨勫姛鑳藉悜榪欎笁涓眰嬈′笂闈狅紝鍋氬埌澶ф柟鍚戞竻妤氾紝娉炬腑鍒嗘槑錛屼絾鏄病鏈夋妧鏈笂綰︽潫闄愬埗瑕佸仛鍒拌繖鐐規槸寰堜笉瀹規槗鐨勶紝鍥犳鎴戜滑榪樻槸蹇呴』鍊熷姪J2EE鍏蜂綋鎶鏈潵瀹炵幇錛岃繖鏃訛紝浣犲彲浠ヤ嬌鐢‥JB瑙勮寖瀹炵幇鏈嶅姟灞傚拰鎸佷箙灞傦紝Web鎶鏈疄鐜拌〃鐜板眰錛?BR>
銆銆EJB涓轟粈涔堣兘灝嗘湇鍔″眰浠嶫sp/Servlet鎵嬩腑鍒嗙鍑烘潵錛屽洜涓哄畠瀵笿avaBeans緙栫爜鏈夊己鍒剁殑綰︽潫錛岀幇鍦ㄦ湁涓縐嶅JavaBeans寮辯害鏉燂紝浣跨敤Ioc妯″紡瀹炵幇鐨勶紙褰撶劧EJB 3.0涔熼噰鍙栬繖縐嶆柟寮忥級錛屽湪Ioc妯″紡璇炵敓鍓嶏紝涓鑸兘鏄氳繃宸ュ巶妯″紡鏉ュJavaBeans綰︽潫錛屽艦鎴愪竴涓湇鍔″眰錛岃繖涔熸槸鏄疛ive榪欐牱寮婧愯鍧涜璁″師鐞嗕箣涓銆?BR>
銆銆鐢辨錛屽皢鏈嶅姟灞備粠琛ㄧ幇灞備腑鍒嗙鍑烘潵鐩墠鏈変袱縐嶅彲閫夋灦鏋勯夋嫨錛氱鐞嗘櫘閫欽avaBeans錛圥OJO錛夋鏋?濡係pring銆丣donFramework)浠ュ強綆$悊EJB鐨凟JB妗嗘灦錛屽洜涓篍JB涓嶅彧鏄鏋訛紝榪樻槸鏍囧噯錛岃屾爣鍑嗗彲浠ユ墿灞曞彂灞曪紝鎵浠ワ紝榪欎袱縐嶅尯鍒皢鏉ユ槸鍙兘妯$硦錛岃綰沖叆鍚屼竴涓爣鍑嗕簡銆傘浣嗘槸錛屼釜浜鴻涓猴細鏍囧噯鍒跺畾鏄負鏌愪釜鐩殑鏈嶅姟鐨勶紝鎬昏鐗虹壊涓浜涙崲鍙栧彟澶栦竴浜涳紝鎵浠ワ紝榪欎袱縐嶆灦鏋勪細闀挎椂闂村茍瀛樸?BR>
銆銆榪欎袱縐嶆灦鏋勫垎姝т篃鏇劇粡璇炵敓涓涓柊鍚嶈瘝錛氬畬鍏≒OJO鐨勭郴緇熶篃縐頒負杞婚噺綰х郴緇?lightweight)錛屽叾瀹炶繖涓悕璇嶆湰韜氨娌℃湁涓涓弗鏍煎畾涔夛紝鏇村鏄竴涓惛寮曚漢鐨勬嫑鐗岋紝杞婚噺鏄寚瀹規槗瀛︿範瀹規槗浣跨敤鍚楋紵鎸夌収榪欎釜瀹氫箟錛屽叾瀹炶交閲廠pring絳夌郴緇熷茍涓嶅鏄撳涔狅紱鑰屼笖EJB 3.0錛堜緷鐒跺彨EJB錛変互鍚庣殑緋葷粺鏄惁鍙О涓鴻交閲忕駭浜嗗憿錛?BR>鍓嶉潰璋堜簡鏈嶅姟灞傛鏋訛紝浣跨敤鏈嶅姟灞傛鏋跺彲浠ュ皢JavaBeans浠嶫sp/Servlet涓垎紱誨嚭鏉ワ紝鑰屼嬌鐢ㄨ〃鐜板眰妗嗘灦鍒欏彲浠ュ皢Jsp涓墿浣欑殑JavaBeans瀹屽叏鍒嗙錛岃繖閮ㄥ垎JavaBeans涓昏璐熻矗鏄劇ず鐩稿叧錛屼竴鑸槸閫氳繃鏍囩搴擄紙taglib錛夊疄鐜幫紝涓嶅悓妗嗘灦鏈変笉鍚岃嚜宸辯殑鏍囩搴擄紝Struts鏄簲鐢ㄦ瘮杈冨箍娉涚殑涓縐嶈〃鐜板眰妗嗘灦銆?BR>
銆銆榪欐牱錛岃〃鐜板眰鍜屾湇鍔″眰鐨勫垎紱繪槸閫氳繃涓ょ妗嗘灦杈懼埌鐩殑錛屽墿浣欑殑灝辨槸鎸佷箙灞傛鏋朵簡錛岄氳繃鎸佷箙灞傜殑妗嗘灦灝嗘暟鎹簱瀛樺偍浠庢湇鍔″眰涓垎紱誨嚭鏉ユ槸鍏剁洰鐨勶紝鎸佷箙灞傛鏋舵湁涓ょ鏂瑰悜錛氱洿鎺ヨ嚜宸辯紪鍐橨DBC絳塖QL璇彞錛堝iBatis錛夛紱浣跨敤O/R Mapping鎶鏈疄鐜扮殑Hibernate鍜孞DO鎶鏈紱褰撶劧榪樻湁EJB涓殑瀹炰綋Bean鎶鏈?BR>
銆銆鎸佷箙灞傛鏋剁洰鍓嶅憟鐜扮櫨鑺遍綈鏀撅紝鍚勬湁浼樼己鐐圭殑鐜扮姸錛屾墍浠ユ濡傝〃鐜板眰妗嗘灦涓鏍鳳紝鐩墠娌℃湁涓涓鏋惰鎸囧畾涓烘爣鍑嗘鏋訛紝褰撶劧錛岃〃鐜板眰妗嗘灦鐜板湪鍙堝嚭鏉ヤ簡涓涓狫SF錛屽畠浠h〃鐨勯〉闈㈢粍浠舵蹇墊槸涓涓柊鐨勫彂灞曟柟鍚戯紝浣嗘槸澶嶆潅鐨勫疄鐜拌浜烘湁浜涘繕鑰屽嵈姝ャ?BR>
銆銆鍦ㄦ墍鏈夎繖浜汮2EE鎶鏈腑錛岃櫧鐒禨UN鍏徃鍙戞尌浜嗗緢澶х殑浣滅敤錛屼笉榪囨諱綋鏉ヨ錛氱綉緇滀笂鏈夎繖鏍蜂竴涓瘎浠鳳細SUN鐨勭悊璁哄ぉ涓嬫棤鏁岋紱SUN鐨勪駭鍝佺敤璧鋒潵鎾炲錛涘浜庡垵瀛﹁咃紝鐗瑰埆鏄偅浜涜瘯鍥鵑氳繃鎴栧凡緇忛氳繃SUN璁よ瘉鐨勫垵瀛﹁咃紝璧跺揩鎽嗚劚SUN鐨勯槾褰憋紝绔嬪嵆寮婧滐紝浣跨敤寮婧愰鍩熺殑浜у搧鏉ュ疄鐜拌嚜宸辯殑搴旂敤緋葷粺銆?BR>
銆銆鏈鍚庯紝浣犵殑J2EE搴旂敤緋葷粺濡傛灉閲囧彇涓婇潰鎻愬埌鐨勮〃鐜板眰銆佹湇鍔″眰鍜屾寔涔呭眰鐨勬鏋跺疄鐜幫紝鍩烘湰浣犱篃鍙互鍦ㄦ棤闇娣卞埢鎺屾彙璁捐妯″紡鐨勬儏鍐典笅寮鍙戝嚭涓涓珮璐ㄩ噺鐨勫簲鐢ㄧ郴緇熶簡銆?BR>
銆銆榪樿娉ㄦ剰鐨勬槸: 寮鍙戝嚭涓涓珮璐ㄩ噺鐨凧2EE緋葷粺榪橀渶瑕佹紜殑涓氬姟闇姹傜悊瑙o紝閭d箞鍩熷緩妯℃彁渚涗簡涓縐嶆瘮杈冨垏瀹炲彲琛岀殑姝g‘鐞嗚В涓氬姟闇姹傜殑鏂規硶錛岀浉鍏寵緇嗙煡璇嗗彲浠嶶ML瑙掑害緇撳悎鐞嗚В銆?BR>
銆銆褰撶劧錛屽鏋滀綘鎯寵璁¤嚜宸辯殑琛屼笟妗嗘灦錛岄偅涔堢涓姝ヤ粠璁捐妯″紡寮濮嬪惂錛屽洜涓鴻璁℃ā寮忔彁渚涗綘涓涓疄鐜癑avaBeans鎴栫被涔嬮棿瑙h﹀弬鑰冨疄鐜版柟娉曪紝褰撲綘瀛︿細浜嗙郴緇熷熀鏈崟鍏僇avaBean鎴栫被涔嬮棿瑙h︽椂錛岄偅涔堢郴緇熸ā鍧椾箣闂寸殑瑙h︿綘灝卞彲鑳芥帉鎻★紝榪涜屼綘灝卞彲浠ュ疄鐜拌涓氭鏋剁殑鎻愮偧浜嗭紝榪欏張鏄彟澶栦竴涓彂灞曟柟鍚戜簡銆?BR>
銆銆浠ヤ笂鐞嗗康鍙互鎬葷粨涓轟竴鍙ヨ瘽錛?BR>銆銆J2EE寮鍙戜笁浠跺疂: Domain Model錛堝煙寤烘ā錛夈乸atterns錛堟ā寮忥級鍜宖ramework錛堟鏋訛級銆?BR>
]]>
1錛孲QL璇彞鍒嗕負涓ょ被錛欴DL(Data Definition Language)鍜孌ML(Dat Manipulation Languge,鏁版嵁鎿嶄綔璇█)銆傚墠鑰呬富瑕佹槸瀹氫箟鏁版嵁閫昏緫緇撴瀯錛屽寘鎷畾涔夎〃銆佽鍥懼拰绱㈠紩;DML涓昏鏄鏁版嵁搴撹繘琛屾煡璇㈠拰鏇存柊鎿嶄綔銆?BR> 2錛孋reate Table(DDL):
Create Table tabName(
colName1 colType1 [else],
colName2 colType2 [else],
...,
colNamen colTypen [else]
);
渚嬪錛欳teate Table pJoiner(
pno char(6) not null,
eno char(6) nut null
);
char int varchar絳夌瓑閮芥槸鐢ㄦ潵瀹氫箟鍒楁暟鎹被鍨嬬殑淇濈暀瀛楋紝鍏朵腑varchar琛ㄧず鍙彉瀛楃綾誨瀷銆?BR> 3錛孲elect <col1>,<col2>,...,<coln>
From <tab1>,<tab2>,...,<tabm>
[Where<鏉′歡>]
鏉′歡涓殑瀛愭煡璇細
Where Not Exists(
Select * From tab2 Where col1=col2
)//褰撴煡璇㈢粨鏋滀負絀烘椂錛屾潯浠朵負鐪熴?BR>
4錛孖NSERT INTO <tab1> VALUES(<col1>, ...<coln>)
5錛孌ELETE FROM <tab1> [WHERE<鏉′歡>]
6錛孶PDATE <tab1>
SET <tab1>=<vlu1>
...
<tabn>=<vlun>
[WHERE<鏉′歡>]
渚嬪錛?BR> Update exployee
Set age=27
Where name='璧典竴'
浜岋紝JDBC 涓昏鎺ュ彛錛?BR> java.sql.DriverManager綾葷敤浜庡鐞嗛┍鍔ㄧ▼搴忕殑璋冨叆騫朵笖瀵規柊鐨勬暟鎹簱榪炴帴鎻愪緵鏀寔銆?BR> java.sql.Connection錛屾寚搴旂敤紼嬪簭涓庣壒瀹氭暟鎹簱鐨勮繛鎺ャ?BR> java.sql.Statement錛岀敤浜庝竴鑸瑂ql璇彞鐨勬墽琛岋紙鍙互鏄煡璇€佹洿鏂扮敋鑷沖彲浠ュ垱寤烘暟鎹簱鐨勬墽琛岃繃紼嬶級
java.sql.ResultSet,鏌ヨ鎵榪斿洖鐨勭粨鏋滀繚瀛樺湪姝ゅ璞′腑錛岀敤瀹冨彲浠ユ祻瑙堝拰瀛樺彇鏁版嵁搴撳唴鐨勮褰曘?BR>
1錛岄氳繃jdbc-odbc妗ヤ嬌鐢╫dbc鏁版嵁搴擄紙騫朵笉闇瑕乯dbc Drivers錛?BR>
鍏堝湪odbc DSN(Data Source Name)璁劇疆澶勮緗畃ubs sysDSN,sa涓簎sername,瀵嗙爜涓虹┖
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//鍔犺澆椹卞姩紼嬪簭
con=DriverManager.getConnection("jdbc:odbc:pubs","sa","");//jdbc:odbc:pubs
con.close();
//搴斿綋catch ClassNotFoundException鍜孲QLException
Connection鐨刧etWarning鏂規硶榪斿洖涓涓猄QLWarning瀵硅薄錛屽湪榪炴帴涔嬪墠搴斿綋鍏堟鏌ャ?BR> 浣跨敤jdbc-odbc鐨勬渶澶уソ澶勬槸錛氬厤璐圭殑銆備絾鏄ц兘鍙梠dbc鐨勯檺鍒訛紝鑰屼笖涓鑸琽dbc椹卞姩姣旇緝鏄傝吹銆?BR> 2錛屼嬌鐢ㄤ笓闂ㄧ殑jdbc椹卞姩紼嬪簭銆?/姝ゅ鏄痬m jdbc Driver
鍏堝皢jar鏂囦歡鏀懼湪ClassPath閲岄潰銆?BR> Class.forName("org.gjt.mm.mysql.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname","root","");
con.close();
鍙浣跨敤浣曠鏂瑰紡榪炴帴浣曠鏁版嵁搴撲笌鏁版嵁搴撶殑鎿嶄綔鍜岃繛鎺ユ暟鎹簱鏄棤鍏崇殑銆?BR>涓夛紝鏌ヨ鏁版嵁搴?BR> Statement stmt=con.createStatement();
stmt.setMaxRows()鍙互鎺у埗杈撳嚭璁板綍鏈澶ф暟閲?
ResultSet rs=stmt.executeQuery("select .....");
ResultSet鎸囧悜褰撳墠璁板綍:
int userId=rs.getInt("userid");
String userName=rs.getString("username");
...鎴栬呯敤搴忓彿錛堜粠1寮濮嬬殑錛?BR> int userId=rs.getInt(1);
Stirng userName=rs.getString(2);
ClassNotFoundException鏄敱浜嶤lass.forName()鏃犳硶杞藉叆jdbc椹卞姩紼嬪簭瑙﹀彂鐨?BR> SQLException鏄痡dbc鍦ㄦ墽琛岃繃紼嬩腑鍙戠敓闂鏃朵駭鐢熴傛湁涓涓澶栫殑鏂規硶getNextException()
catch(SQLException e){
out.println(e.getMessage());
while(e=e.getNextException()){
out.println(e.getMessage());
}
}
涓鑸潵璇村茍涓嶅緩璁湪jsp涓紪鍐欐暟鎹簱鐨勮闂▼搴忥紝鍙互灝嗘暟鎹簱鐨勮闂皝瑁呭湪涓涓猨avabean涓?BR>鍥涳紝ResultSet娣卞叆
1錛孯esultSetMetaData
ResultSet rs=stmt.executeQuery("select....");
ResultSetMetaData rsmd=rs.getMetaData(); //鑾峰彇ResultSetMateData瀵硅薄
int numberOfColumns=rsmd.getColumnCount();//榪斿洖鍒楁暟
boolean b=rsmd.isSearchable(int i);//榪斿洖絎琲鍒楁槸鍚﹀彲浠ョ敤浜巜here瀛愬彞
String c=rsmd.getColumnLabel(int i);//鑾峰彇絎琲鍒楃殑鍒楁爣
Objcet obj=rs.getObject();
if(obj!=null)out.println(obj.toString());
else println("");
2錛孲QL綾誨瀷涓嶳esultSet鐨刧etObject榪斿洖綾誨瀷鍙婂搴旂殑XXX getXXX()鏂規硶
SQL綾誨瀷 JSP綾誨瀷 瀵瑰簲鐨刧etXXX()鏂規硶
????????????????????????????????????????????
CHAR String String getString()
VARCHAR String String getString()
LONGVARCHAR String InputStream getAsciiStream()/getUnicodeStream()
NUMERIC java.math.BigDecimal java.math.BigDecimal getBigDecimal()
DECIMAL 鍚屼笂
BIT Boolean boolean getBoolean()
TINYINT Integer byte getByte()
SMALLINT Integer short getShort()
INTEGER Integer int getInt()
BIGINT Long long getLong()
REAL Float float getFloat()
FLOAT Double double getDouble()
DOUBLE Double double getDouble()
BINARY byte[] byte[] getBytes()
VARBINARY byte[] byte[] getBytes()
LONGVARBINARY byte[] InputStream getBinaryStream()
DATE java.sql.Date java.sql.Date getDate()
TIME java.sql.Time java.sql.Time getTime()
TIMESTAMP java.sql.Timestamp java.sql.Timestamp getTimestamp()
3錛宯ull
int i=rs.getInt("age");
if(!rs.wasNull())....//RecordSet::wasNull()鐢ㄦ潵媯鏌ull
4,瀛樺彇澶у瓧絎︿覆鍜屼簩榪涘埗鏂囨湰
瀵逛簬鏁版嵁搴撲腑longvarchar鍜宭angvarbinary榪涜嫻佹搷浣?BR> ResultSet rs=stmt.executeQueryString("select ...");
BufferedReader br=new BufferedReader(new InputStream(rs.getAsciiStream("vol1")));//闀挎枃鏈覆
BufferedReader br=new BufferedReader(new InputStream(rs.getUnicodeStream("vol1")));
BufferedReader br=new BufferedReader(new InputStream(rs.getBinaryStream("vol2")));//闀夸簩榪涘埗鏂囨湰
//鍙栨暟鎹繀欏誨湪rs.getAsciiStream(), rs.getUnicodeStream(), rs.getBinaryStream()絳変箣鍚庨┈涓婅繘琛?/SPAN>
]]>
1- 鏃?/SPAN>EJB涓嶅彨J2EE
EJB涓鐩村彂灞曞埌浠婂ぉ鐨?/SPAN>2.1浠嶇劧琚箍涓鴻療鐥咃紝瀹冩彁渚涗簡寰堝鏃跺欐垜浠茍涓嶉渶瑕佺殑涓滆タ錛岃屼笖鎴戜滑鍦ㄥ緢澶氭儏鍐典笅涓鏃﹂夌敤EJB灝辨病鏈夊叾浠栫殑鏂瑰紡涓嶅幓浣跨敤閭d簺絎ㄩ噸鐨勫姛鑳姐備絾鏄緢澶氭墍璋撹寖渚嬭鎴戜滑鏈変竴縐嶉敊瑙夛紝濂藉儚涓嶇敤EJB灝變笉鏄?/SPAN>J2EE搴旂敤銆傛湁涓浜涙姌涓殑鏂規鏄嬌鐢?/SPAN>Session Fa?ade妯″紡錛?/SPAN>Entity Bean閲囩敤BMP + 鏈湴鎺ュ彛錛岀劧鍚庢彁渚涗竴灞傛棤鐘舵佺殑Session Bean錛岄噰鐢ㄨ繙紼嬪拰鏈湴鎺ュ彛錛岃繖鏍風殑璁捐妯″紡錛屾垜鎯籌紝澶氬崐鏄嚭浜庢棤濂堛傚浠婏紝鐢氳嚦鎴戜滑緇忓父閮借兘鐪嬪埌涓嶄嬌鐢?/SPAN>EJB鐨勮█璁猴紝鐐掑緱寰堢伀鐨?/SPAN>Spring鍒欎負榪欑瀹屽叏涓嶇敤EJB寮鍙?/SPAN>J2EE欏圭洰鎻愪緵浜嗗疄闄呯殑銆佸己鏈夊姏鐨勪綈璇併?/SPAN>
2- 榪囧害鍒嗗眰
J2EE榪欎釜瑙勮寖鑲ゆ祬鐨勬潵鐪嬶紝灝辨槸涓烘垜浠畾涔変簡寰堝鈥滃眰鈥濓紝鐒跺悗榪樻湁寰堝鍒嗗伐鏄庣‘鐨勨滆鑹測濓紝鍔犱笂J2EE鐨勮摑鏈簲鐢ㄧ▼搴忓氨鍒嗕簡寰堝鈥滃眰鈥濓紝浠ヨ嚦浜庡ぇ瀹墮兘瑙夊緱J2EE鐨勫簲鐢ㄥ氨搴旇鏄緢澶氬眰鐨勶紝鍏跺疄涓嶇劧錛岄渶瑕佸叿浣撴儏鍐靛叿浣撳垎鏋愩?/SPAN>
3- 棰戠箒鐨勫線榪旇皟鐢?/SPAN>
EJB鐨勭湅浼肩畝鍗曢犳垚鎴戜滑緇忓父蹇界暐鍙兘鍦ㄤ嬌鐢ㄨ繃紼嬩腑鍑虹幇鐨勮繙紼嬭皟鐢紝姣斿鏈夋椂鍊欎負浜嗘洿鏂頒竴鏉¤褰曪紝姣忎釜瀛楁閮芥槸榪滅▼鐨勫幓set錛屽ぇ澶у鍔犱簡涓嶅繀瑕佺殑寮閿錛屼簬鏄垜浠剰璇嗗埌鍦ㄨ皟鐢ㄤ腑浣跨敤DTO鏄竴涓緩璁伒寰殑鏂規銆?/SPAN>
4- 榪囧害浣跨敤鏈夌姸鎬佺殑Session Bean
涓鑸潵璁詫紝涓涓?/SPAN>Session Bean瀹炰緥錛屽鏋滃畠鏄湁鐘舵佺殑錛岄偅涔堝畠鍙鏌愪釜鍥哄畾鐨勭敤鎴鋒湇鍔★紝濡傛灉鏄棤鐘舵佺殑錛屽垯鍙互婊¤凍涓嶅悓鐢ㄦ埛鐨勮皟鐢ㄣ傝繖鏈夌偣綾諱技錛堝彧鏄湁鐐圭被浼鹼級涓涓被鐨勯潤鎬佹柟娉曞拰闈為潤鎬佹柟娉曠殑鍖哄埆銆傛垜浠湪瀹為檯搴旂敤涓紝搴旇灝介噺閬垮厤浣跨敤鏈夌姸鎬佺殑Session Bean錛岄櫎闈炵壒鍒繀瑕併傛垜浠彲浠ユ妸鐘舵佷繚鐣欏湪Session Bean涔嬪錛屽Web瀹瑰櫒鐨?/SPAN>session瀵硅薄鎴栬呮垜浠嚜瀹氫箟鐨勭被涓紝鑰屼笉鏄畬鍏ㄤ緷璧栨湁鐘舵佺殑Session Bean鍘誨府鎴戜滑鍋氥?/SPAN>
5- 榪囧害浼氳瘽
Web瀹瑰櫒鐨?/SPAN>session瀵硅薄鏄釜濂戒笢瑗匡紝鐢ㄨ搗鏉ヤ篃寰堟柟渚垮拰鐩存埅浜嗗綋錛岃繖閫犳垚浜嗘垜浠緢澶氫漢瀵瑰畠鐨勬互鐢紝浠涔堜笢瑗塊兘寰閲岄潰鏀俱傝繖鏈変袱涓獊鍑虹殑闂錛屼竴涓槸璧勬簮嫻垂錛涘彟涓涓紝涓囦竴Web鏈嶅姟鍣ㄥ穿婧冿紝閭d簺鏈潵闇瑕佹寔涔呭寲鐨勬暟鎹氨涓㈠け浜嗐傛垜浠渶瑕佽冭檻濂斤紝鍝簺鏁版嵁鏈彲浠ョ敤request鐨勶紝鍝簺鏁版嵁鍙堟槸闇瑕佹寔涔呭寲鍒版暟鎹簱鐨勶紝絳夌瓑錛屼笉鑳戒竴鍛充緷璧?/SPAN>session銆?/SPAN>
6- 涓囪兘Servlet鎴栬呬竾鑳?/SPAN>JSP
J2EE涓烘垜浠彁渚涗簡Web灞備赴瀵岀殑鎶鏈夋嫨錛?/SPAN>Servlet鎴栬?/SPAN>JSP閮藉彧鏄叾涓竴縐嶏紝铏界劧瀹冨緢寮哄ぇ錛屼絾鏄篃涓嶅簲璇ョ敱瀹冧竴涓潵鎵挎媴鎵鏈?/SPAN>MVC涓変釜閮ㄥ垎鐨勫姛鑳姐傜幇瀹炰腑鎴戜滑鐨?/SPAN>Struts寰堝ソ鐨勮鑼冧簡榪欎釜闂錛?/SPAN>Servlet璐熻矗璋冨害錛屼笓闂ㄧ殑Action璐熻矗澶勭悊閫昏緫錛岃?/SPAN>JSP鐢ㄤ簬鐢ㄦ埛鐣岄潰鏄劇ず銆?/SPAN>JSP鍜?/SPAN>Servlet鏈川涓婃槸鍚屼竴涓笢瑗匡紝鍙槸浠庝笉鍚岀殑瑙掑害鏉ュ鐞嗛棶棰橈紝瀹冧滑鍚勬湁鎵闀匡紝浜掍負琛ュ厖銆?/SPAN>