![]() 圖 3 通過向導創建login.jsp |
![]() 圖 4 向導創建的jsp文件 |
![]() 圖 5 設置jsp標簽屬性編輯器 |
1. <%@page contenttype="text/html; charset=gbk" %> 2. <html> 3. <head> 4. <title>login</title> 5. </head> 6. <body bgcolor="#ffffff"> 7. <表單 name="表單1" method="post" action="switch.jsp"> 8. 用戶名: <select name="userid"> 9. <option value="" selected>--登錄用戶--</option> 10. <option value="100000">姜子牙</option> 11. <option value="100001">鮑叔牙</option> 12. <option value="100002">豎牙</option> 13. </select> 14. 密 碼:<input name="password" type="password"> 15. <input type="submit" name="submit" value="登錄"> 16. </表單> 17. </body> 18. </html> |
![]() 圖 6 login.jsp錄入頁面 |
實戰經驗: jsp文件代碼包含靜態和動態兩部分,即一部分是html代碼,而另一部分為jsp標簽和scriptlet代碼。jsp一般是動態邏輯的網頁,jbuilder對jsp標簽及scriptlet這些動態代碼部分支持得非常好,你可以使用codeinsight和taginsight等工具快速而正確地完成編碼,同時還可以對jsp進行編譯調試。在jsp靜態html代碼編寫及可視化設計方面,jbuilder卻顯得力不從心,dreamweaver在靜態代碼和可視化設計方面明顯優于jbuilder。 |
1. package bookstore; 2. import java.sql.*; 3. 4. public class userlist 5. { 6. //獲取html下拉框的用戶列表代碼 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("<option 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. } |
![]() 圖 7 通過codeinsight編寫代碼 |
1. <%@page contenttype="text/html; charset=gbk" import="bookstore.userlist"%> 2. <html> 3. <head> 4. <title>login</title> 5. </head> 6. <body bgcolor="#ffffff"> 7. ?。急韱?name="表單1" method="post" action="switch.jsp">用戶名: 8. ?。約elect name="userid"> 9. <option value="" selected>--登錄用戶--</option> 10. ?。?=userlist.getuserlisthtml()%> 11. ?。?select> 12. 密 碼:<input name="password" type="password"> 13. <input type="submit" name="submit" value="登錄"> 14. </表單> 15. </body> 16. </html> |
![]() 圖 8 在jbuilder中運行login.jsp |
![]() 圖 9 用ie訪問jbuilder中運行的login.jsp |
提示: 由于編譯jsp文件需要先將其轉換為servlet文件,然后再編譯這個中間servlet文件,發生錯誤后轉定向到jsp文件中,所以編譯一個jsp文件是比較耗時的,往往比編譯一個java文件要花好幾倍的時間。在默認的情況下,編譯一個工程時,會編譯整個工程中所有的jsp,需要消耗大量的時間。所以最好取消在編譯工程連帶編譯jsp文件的設置:通過project->project properties...->build-> 在build設置頁中取消check jsps for errors at build-time選項。在確實需要的時候再勾選這個選項,并在編譯后及時取消這個選項。通過這樣的設置將可以為你的開發贏得不少寶貴的時間。 |
新聞熱點
疑難解答