1 設計思路
1.1 起因
介於剛學JSP,老師要求制作一個簡易的登陸界面,在網上查找資料后發現,網上大多數資源或是太深奧難懂,或是運行錯雜無章,自己摸索之后,寫下這篇文章,可供萌新參考。(大神請繞道)(請勿轉載)
注:本登錄界面無任何美工(CSS),僅使用最簡單的HTML、JDBC、JAVA寫成。
1.2 或許...你需要先看這些東西
本文所使用的環境:
- MyEclipse10(其實Eclipse J2ee更好用)
- MySQL
- Tomcat
或許你需要知道以下幾點才能看懂本文:
- JSP腳本(<% /%>)和JSP表達式(<%= %>)
- JDBC的使用(增、改、查)
- JSP的request對象方法(獲取用戶輸入的表單值)和session對象方法(“全局變量”)
可能遇到的問題:
- JSP中使用數據庫,不但需要在項目中導入MySQL庫,還需要將MySQL庫放在Tomcat的lib目錄下,否則會報“java.lang.ClassNotFoundException: com.mysql.jdbc.Driver”錯誤。
- JSP中的session定義的“全局變量”只需定義一次,便可在多個頁面使用。
- 盡量理解請求轉發和請求重定向。
- 使用JDBC時,盡可能的使用“···WHERE···”語句處理數據,若不然,一是比較數據太多,二是可能會出現“java.lang.IllegalStateException: Cannot forward after response has been committed”錯誤,這個錯誤是因為服務器請求了多條轉發語句而引起的,解決方法:在轉發語句后添加“break”或“return”。打個比方,如果你的數據庫中有五條數據,而你需要的那條數據是第三條,可是使用“while(rs.next)”循環,雖然數據確實在里面,但是他最后比較的數據是第五條的,因為第五條不匹配,所以不會正確的轉發頁面,還會因為有多條轉發而造成錯誤。若還不理解,請QQ956466471咨詢我。
1.3 設計思路
以下流程圖(可能不叫流程圖,暫且這樣叫吧)所示的九個框框中,分別對應九個JSP文件,所有JSP頁面按照以下流程運轉,圖示紅色虛線框中是使用到JDBC的部分。(若你不需要這么多功能,你只取走你需要的幾個文件即可)
2 具體代碼實現
見https://pan.baidu.com/s/1dHlOveh。
3 結果輸出