天天看點

JBuilder2005實戰JSP之登入頁面

閫氳繃File-锛濶ew...-锛濿eb-锛炲弻鍑籎SP鍥炬爣锛屽脊鍑哄垱寤篔SP鍚戝鐨勫璇濇锛屽涓嬪浘鎵€绀猴細

JBuilder2005實戰JSP之登入頁面
鍥?3 閫氳繃鍚戝鍒涘緩login.jsp

銆€銆€路Web module锛氬鏋滀竴涓伐绋嬩笅鏈夊涓猈eb妯″潡锛屼綘鍙互閫氳繃杩欏効鎸囧畾JSP鎵€瑕佸姞鍏ュ埌鐨刉eb妯″潡锛屽洜涓烘垜浠殑宸ョ▼涓彧鏈変竴涓獁ebModule锛屾墍浠ユ槸鍚戝灏嗛粯璁よ缃負webModule銆?

銆€銆€路Name 锛氶敭鍏SP鏂囦歡鍚嶏紝浣犲彲浠ラ敭鍏?jsp鍚庣紑锛屼篃鍙互涓嶅啓鍚庣紑锛岀洿鎺ラ敭鍏ogin灏卞彲浠ヤ簡銆?

銆€銆€Generate sample bean閫夐」鍕鵑€夊悗JBuilder灏嗙敓鎴愪竴涓ず渚嬬殑Bean骞跺湪JSP涓紩鍏ヨ繖涓狟ean銆傚浜庡垵瀛﹁€呮潵璇達紝鍙互閫氳繃璇ラ€夐」鏌ョ湅JSP濡備綍寮曠敤涓€涓狟ean锛岃€孏enerate error page閫夐」灏嗚嚜鍔ㄤ負JSP鍒涘緩涓€涓厤濂楃殑閿欒澶勭悊JSP鏂囦歡锛岃繖閲岋紝鎴戜滑涓嶅嬀閫夊畠浠€?

銆€銆€鐩存帴鐐瑰嚮Finish鍒涘緩login.jsp锛宭ogin.jsp鏂囦歡鍑虹幇鍦ㄥ唴瀹圭獥鏍肩殑缂栬瘧鍣ㄤ腑锛屽涓嬪浘鎵€绀猴細

JBuilder2005實戰JSP之登入頁面
鍥?4 鍚戝鍒涘緩鐨凧SP鏂囦歡

銆€銆€JSP缂栬瘧绐楀彛鐨勫乏鍙充袱杈歸兘鏈変竴涓彲浠ラ€氳繃

JBuilder2005實戰JSP之登入頁面

鍜?

JBuilder2005實戰JSP之登入頁面

鎸夐挳鎺у埗鐨勭珫鏍忥紝宸﹁竟鏍忎負鏀劇疆JSP鏍囩鍜孒TML鏍囩鐨勯潰鏉匡紝鍙互鍍忓彲瑙嗗寲UI璁捐鍣ㄤ腑涓€鏍風敤鎷栨嫿鏂瑰紡寰€JSP鏂囦歡涓斁缃悇绉嶆爣绛撅紝濡備笂鍥句腑锛屾垜浠粠闈㈡澘涓€夋嫨琛ㄥ崟鐨凥TML鏍囩鏀劇疆鍒發ogin.jsp鏂囦歡涓€?

銆€銆€鑰屽彸杈圭珫鏍忎腑鏄疛SP鏂囦歡涓綋鍓嶅厜鏍囨墍鍦ㄦ爣绛劇殑灞炴€х紪璇戝櫒锛屽涓嬪浘鎵€绀猴細

JBuilder2005實戰JSP之登入頁面
鍥?5 璁劇疆JSP鏍囩灞炴€х紪杈戝櫒

銆€銆€灞炴€х紪杈戝櫒鏄姩鎬佺殑锛屽厜鏍囩Щ鍒頒笉鍚岀殑鏍囩涓婏紝灞炴€х紪杈戝櫒灏辨樉绀鴻繖涓爣绛炬墍鏈夊彲璁劇疆鐨勫睘鎬с€傚涓婂浘涓搴旂殑鏄疕TML 琛ㄥ崟鏍囩鐨勫睘鎬х紪杈戝櫒锛屾垜浠皢鍏禷ction灞炴€ц缃負switch.jsp锛屾寚瀹氱敤POST鏂瑰紡鍙戦€佽姹傛暟鎹€?

銆€銆€鎴戜滑鍦╨ogin.jsp涓彁渚涗竴涓敤鎴峰悕涓嬫媺妗嗐€佷竴涓瘑鐮佽緭鍏ユ浠ュ強涓€涓櫥褰曟彁浜ゆ寜閽紝鍏朵唬鐮佸涓嬶細

銆€銆€浠g爜娓呭崟 4 login.jsp

1. 锛?@page contentType="text/html; charset=GBK" %锛?2. 锛渉tml锛?3. 锛渉ead锛?4. 锛渢itle锛瀕ogin锛?title锛?5. 锛?head锛?6. 锛渂ody bgcolor="#ffffff"锛?7. 锛滆〃鍗?name="琛ㄥ崟1" method="post" action="switch.jsp"锛?8. 鐢ㄦ埛鍚嶏細 锛渟elect name="userId"锛?9. 锛渙ption value="" selected锛?-鐧誨綍鐢ㄦ埛--锛?option锛?10. 锛渙ption value="100000"锛炲瀛愮墮锛?option锛?11. 锛渙ption value="100001"锛為矋鍙旂墮锛?option锛?12. 锛渙ption value="100002"锛炵珫鐗欙紲/option锛?13. 锛?select锛?14. 瀵?鐮侊細锛渋nput name="password" type="password"锛?15. 锛渋nput type="submit" name="Submit" value="鐧誨綍"锛?16. 锛?琛ㄥ崟锛?17. 锛?body锛?18. 锛?html锛?/td>

銆€銆€琛ㄥ崟鏍囩浠h〃缃戦〉涓殑涓€涓〃鍗曪紝琛ㄥ崟鍙互鍖呭惈澶氫釜缁勪歡锛岃繖浜涚粍浠剁殑鏁版嵁鍦ㄧ綉椤佃〃鍗曟彁浜ゅ悗锛屼互HTTP鍗忚鍙戦€佺粰action灞炴€ф墍鎸囧畾鐨凧SP鏂囦歡澶勭悊銆傝〃鍗曠殑鏁版嵁涓€鑸互POST鍙戦€侊紝POST鍙戦€佹柟寮忓鏁版嵁閲忕殑澶у皬娌℃湁闄愬埗锛屼笖淇濆瘑鎬ф洿寮恒€?

銆€銆€login.jsp鐨勬晥鏋滈〉闈㈠涓嬪浘鎵€绀猴細

JBuilder2005實戰JSP之登入頁面
鍥?6 login.jsp褰曞叆椤甸潰

銆€銆€瀹炴垬缁忛獙锛?

銆€銆€JSP鏂囦歡浠g爜鍖呭惈闈欐€佸拰鍔ㄦ€佷袱閮ㄥ垎锛屽嵆涓€閮ㄥ垎鏄疕TML浠g爜锛岃€屽彟涓€閮ㄥ垎涓篔SP鏍囩鍜孲criptlet浠g爜銆侸SP涓€鑸槸鍔ㄦ€侀€昏緫鐨勭綉椤碉紝JBuilder瀵笿SP鏍囩鍙奡criptlet杩欎簺鍔ㄦ€佷唬鐮侀儴鍒嗘敮鎸佸緱闈炲父濂斤紝浣犲彲浠ヤ嬌鐢–odeInsight鍜孴agInsight绛夊伐鍏峰揩閫熻€屾纭湴瀹屾垚缂栫爜锛屽悓鏃惰繕鍙互瀵笿SP杩涜缂栬瘧璋冭瘯銆傚湪JSP闈欐€丠TML浠g爜缂栧啓鍙婂彲瑙嗗寲璁捐鏂歸潰锛孞Builder鍗存樉寰楀姏涓嶄粠蹇冿紝Dreamweaver鍦ㄩ潤鎬佷唬鐮佸拰鍙鍖栬璁℃柟闈㈡槑鏄句紭浜嶫Builder銆?/td>

銆€銆€浜嬫儏鐨勫鏉備績杩涗簡鍒嗗伐锛屽垎宸ョ殑绮劇粏淇冭繘浜嗕笓涓氱殑鍙戝睍锛屽湪缂栧啓JSP鏃訛紝骞朵笉鏄竴鏃︽嫢鏈塉Builder灏卞埆鏃犳墍姹備簡銆傞煩淇″杽鍏點€佽惂浣曞杽璋嬶紝濡傛灉鑳藉灏咲reamweaver鍜孞Builder缁撳悎璧鋒潵锛岀敤Dreamweaver寮€鍙慗SP鐨勫彲瑙嗗寲閮ㄥ垎锛岀敤JBuilder寮€鍙慗SP鐨勫姩鎬佷唬鐮侀儴鍒嗭紝涓よ€呬簰琛ユ湁鏃狅紝鐩稿緱鐩婂槳锛孞SP寮€鍙戝伐浣滃皢鍙樺緱鏇村姞琛屼簯娴佹按銆?

銆€銆€ 灏嗙敤鎴峰垪琛ㄦ敼涓哄姩鎬?

銆€銆€鐩墠鍒涘緩鐨刲ogin.jsp鏈変竴涓己闄鳳紝鍋囪鍦?鏁版嵁搴撳悗鍙癟_USER琛ㄤ腑娣誨姞鍏朵粬鐨勭敤鎴鋒椂锛屽洜涓虹敤鎴峰悕涓嬫媺妗嗘槸闈欐€佺殑浠g爜锛屾柊鍒涘緩鐨勭敤鎴峰苟涓嶄細鍑虹幇鍦ㄩ〉闈腑锛屽洜姝ゆ湁蹇呰灏嗙敤鎴峰悕鍒楄〃鏀逛負鍔ㄦ€佺殑浠g爜锛岀敤 鏁版嵁搴撹〃T_USER鐨勮褰曞姩鎬佷駭鐢熶笅鎷夋鐨勬暟鎹€?

銆€銆€鎴戜滑閫氳繃UserList.ava绫繪潵瀹屾垚杩欎釜宸ヤ綔锛屽湪宸ョ▼涓垱寤篣serList.java锛屽叾浠g爜濡備笅锛?

銆€銆€浠g爜娓呭崟 5 UserList.java

1. package bookstore;

2. import java.sql.*;

3.

4. public class UserList

5. {

6. 銆€//鑾峰彇HTML涓嬫媺妗嗙殑鐢ㄦ埛鍒楄〃浠g爜

7. 銆€public static String getUserListHTML() {

8. 銆€銆€Connection conn = null;

9. 銆€銆€StringBuffer sBuf = new StringBuffer();

10.銆€銆€try {

11.銆€銆€銆€conn = DBConnection.getConnection();

12.銆€銆€銆€PreparedStatement pStat = conn.prepareStatement(

13.銆€銆€銆€銆€ "select USER_ID,USER_NAME from T_USER");

14.銆€銆€銆€ResultSet rs = pStat.executeQuery();

15.銆€銆€銆€while (rs.next()) {

16.銆€銆€銆€銆€sBuf.append("锛渙ption value='" + rs.getString("USER_ID") + "'锛? +

17.銆€銆€銆€銆€rs.getString("USER_NAME") + "锛?option锛?n");

18.銆€銆€銆€}

19.銆€銆€銆€return sBuf.toString();

20.銆€銆€} catch (SQLException ex) {

21.銆€銆€銆€ex.printStackTrace();

22.銆€銆€銆€return "";

23.銆€銆€} finally {

24.銆€銆€銆€try {

25.銆€銆€銆€銆€if (conn != null) {

26.銆€銆€銆€銆€銆€conn.close();

27.銆€銆€銆€銆€銆€conn = null;

28.銆€銆€銆€銆€}

29.銆€銆€銆€} catch (SQLException ex1) {

30.銆€銆€}

31.銆€}

32. }

33. }

銆€銆€UserList.java鍙彁渚涗簡涓€涓潤鎬佺殑getUserListHTML()鏂規硶锛岃繖涓柟娉曚粠鍚庡彴 鏁版嵁搴撶殑T_USER琛ㄤ腑鑾峰彇鐢ㄦ埛璁闆綍锛屽苟鐢熸垚HTML鐨剆elect缁勪歡鐨勯€夐」浠g爜锛屽绗?6~17琛屾墍绀恒€?

銆€銆€鍦ㄥ垱寤鴻繖涓被鍚庯紝鎴戜滑寮曠敤璇ョ被璋冩暣login.jsp鐨勪唬鐮侊紝棣栧厛鍦╬age鎸囦護鏍囩涓€氳繃import灞炴€у紩鐢║serList绫夥紝鐒跺悗灏唖elect閫夐」涓殑鍐呭璋冩暣涓篻etUserListHTML()鏂規硶杩斿洖鐨勫€鹼紝濡備笅鍥炬墍绀猴細

JBuilder2005實戰JSP之登入頁面
鍥?7 閫氳繃CodeInsight缂栧啓浠g爜

銆€銆€閫氳繃琛ㄨ揪寮忔爣绛炬浛鎹㈠師闈欐€佺殑HTML浠g爜锛屽€煎緱鎻愯搗鐨勬槸锛屽湪JSP涓篃鍙互璞″湪缂栧啓涓€鑸殑Java绫諱腑涓€鏍蜂嬌鐢–odeInsight杈撳叆浠g爜銆傝皟鏁村悗鐨刲ogin.jsp鐨勪唬鐮佸涓嬫墍绀猴紝鐢ㄧ矖浣撹〃绀猴細

銆€銆€浠g爜娓呭崟 6 璋冩暣鍚庣殑login.jsp浠g爜

1. 锛?@page contentType="text/html; charset=GBK" import="bookstore.UserList"%锛?2. 锛渉tml锛?3. 锛渉ead锛?4. 锛渢itle锛瀕ogin锛?title锛?5. 锛?head锛?6. 锛渂ody bgcolor="#ffffff"锛?7. 銆€锛滆〃鍗?name="琛ㄥ崟1" method="post" action="switch.jsp"锛炵敤鎴峰悕锛?8. 銆€銆€锛渟elect name="userId"锛?9. 銆€銆€銆€锛渙ption value="" selected锛?-鐧誨綍鐢ㄦ埛--锛?option锛?10. 銆€銆€銆€锛?=UserList.getUserListHTML()%锛?11. 銆€銆€锛?select锛?12. 銆€銆€瀵?鐮侊細锛渋nput name="password" type="password"锛?13. 銆€銆€锛渋nput type="submit" name="Submit" value="鐧誨綍"锛?14. 锛?琛ㄥ崟锛?15. 锛?body锛?16. 锛?html锛?/td>

銆€銆€淇濆瓨login.jsp鍚庯紝鍦ㄥ唴瀹圭獥鏍糽ogin.jsp鏂囦歡鏍囩涓偣鍑誨彸閿紝閫夋嫨Web Run using Defaults锛孞Builder 灏嗗惎鍔═omcat 5.0搴旂敤鏈嶅姟鍣紝杩愯浜?080绔彛涓婏紝缂栬瘧骞惰繍琛宭ogin.jsp鏂囦歡锛屽涓嬪浘鎵€绀猴細

JBuilder2005實戰JSP之登入頁面
鍥?8 鍦↗Builder涓繍琛宭ogin.jsp

銆€銆€JBuilder鑷姩鍒囨崲鍒癢eb View瑙嗗浘椤典腑锛屾樉绀洪〉闈㈢殑杩愯鏁堟灉銆備絾JBuilder鐨勬祻瑙堝櫒瀵圭綉椤電殑鏀寔鏁堟灉寰堝急锛屼篃涓嶆敮鎸丣avaScript鑴氭湰銆傛墍浠ュ湪杩愯login.jsp鍚庯紝鏈€濂介€氳繃IE鏉ユ煡鐪嬬綉椤電殑鏁堟灉锛屼綘鍙渶瑕佹墦寮€IE锛屽苟灏咼Builder涓殑璁塊棶login.jsp鐨勫湴鍧€鎷瘋礉鍒癐E鐨勫湴鍧€鏍忎腑灏卞彲浠ヤ簡锛屽涓嬪浘鎵€绀猴細

JBuilder2005實戰JSP之登入頁面
鍥?9 鐢↖E璁塊棶JBuilder涓繍琛岀殑login.jsp

銆€銆€姝ゆ椂鐢ㄦ埛鍚嶇殑涓嬫媺妗嗕腑鐨勭敤鎴峰凡缁忔槸鍔ㄦ€佺殑鐢ㄦ埛鍒楄〃涓紝褰揟_USER琛ㄤ腑娣誨姞銆佸垹闄ょ敤鎴鋒椂涓嬫媺妗嗙殑鐢ㄦ埛涔熶細鐩稿簲鍦版敼鍙樸€?

銆€銆€鍦ㄨ繍琛孞SP鍓嶆渶濂藉厛鍗曠嫭缂栬瘧涓€涓繖涓狫SP鏂囦歡锛氬湪鍐呭绐楁牸鐨凧SP鏂囦歡鏍囩涓婄偣鍑誨彸閿紝鍦ㄥ脊鍑虹殑鑿滃崟涓€夋嫨make "xxx.jsp"锛屽嵆鍙畬鎴愬JSP鏂囦歡鐨勭紪璇戯紝鍙婃椂鍙戠幇閿欒銆侸SP鏂囦歡鍜孞ava鏂囦歡鍦ㄧ紪杈戞椂锛屾渶澶х殑鍖哄埆鏄疛ava绋嬪簭鏂囦歡涓€鏈夐敊璇氨浼氬湪缂栬緫鍣ㄥ拰缁撴瀯绐楁牸涓垪鍑猴紝浣咼SP鏂囦歡鐨勬湁浜涢敊璇渶瑕侀€氳繃缂栬瘧鎵嶈兘鍙戠幇銆?

銆€銆€鎻愮ず锛?

銆€銆€鐢變簬缂栬瘧JSP鏂囦歡闇€瑕佸厛灏嗗叾杞崲涓篠ervlet鏂囦歡锛岀劧鍚庡啀缂栬瘧杩欎釜涓棿Servlet鏂囦歡锛屽彂鐢熼敊璇悗杞畾鍚戝埌JSP鏂囦歡涓紝鎵€浠ョ紪璇戜竴涓狫SP鏂囦歡鏄瘮杈冭€楁椂鐨勶紝寰€寰€姣旂紪璇戜竴涓狫ava鏂囦歡瑕佽姳濂藉嚑鍊嶇殑鏃堕棿銆傚湪榛樿鐨勬儏鍐典笅锛岀紪璇戜竴涓伐绋嬫椂锛屼細缂栬瘧鏁翠釜宸ョ▼涓墍鏈夌殑JSP锛岄渶瑕佹秷鑰楀ぇ閲忕殑鏃堕棿銆傛墍浠ユ渶濂藉彇娑堝湪缂栬瘧宸ョ▼杩炲甫缂栬瘧JSP鏂囦歡鐨勮缃細閫氳繃Project-锛濸roject Properties...-锛濨uild-锛?鍦˙uild璁劇疆椤典腑鍙栨秷Check JSPs for errors at build-time閫夐」銆傚湪纭疄闇€瑕佺殑鏃跺€欏啀鍕鵑€夎繖涓€夐」锛屽苟鍦ㄧ紪璇戝悗鍙婃椂鍙栨秷杩欎釜閫夐」銆傞€氳繃杩欐牱鐨勮缃皢鍙互涓轟綘鐨勫紑鍙戣耽寰椾笉灏戝疂璐電殑鏃堕棿銆?/td>