使用JSP技術搭建實驗儀器預約系統
學院裏面做實驗需要預約實驗儀器,但學院裏面並沒有一個管理系統,預約工作由學生擔任。管理比較混亂,溝通成本也比較高,因此設計一個簡單的實驗儀器預約系統,以期解決此問題。
使用的技術為JSP,MySQL和Java基礎。
開發條件:Windows 10 + jdk1.8.0_181 + eclipse_for_JavaEE + Tomcat 9.0.14 + MySQL 8.0
1,需求分析
系統首先應該展示可以預約的儀器,學生註冊賬號,再使用自己的賬號登錄,選擇相應時間預約儀器,同一時間只能有一個用戶使用儀器。
2,建立項目
在Eclipse中新建一個Dynamic Web Project,項目名稱為YuYue,Target Runtime選擇Apache Tomcat v9.0。項目結構如下圖,這裏是已經做完的。
文件資源:https://github.com/JosephJoster/YuYue
src文件夾用於存放我們編寫的java文件,WebContent是項目的根目錄,images文件夾裏面存放了本項目需要用到的一些圖片。
在Window->Preferences->Web->JSP Files中更改Encoding為UTF-8,以避免後續修改頁面字符集
3,頁面設計
設計首頁index.jsp,效果如下
這裏在session中檢測了用戶是否存在,若存在則顯示用戶名
點擊任意一個儀器標題可查看詳情
這裏的數據都是從數據庫提取的,需要預先在數據庫建立相應的表。
連接數據庫的時候需要註意,MySQL8.0的連接驅動名稱和路徑與老版本稍微有些不一樣
private static final String driver = "com.mysql.cj.jdbc.Driver";//數據庫驅動,註意中間有個cj //連接數據庫的URL地址,必須要加時區 private static final String url = "jdbc:mysql://localhost:3306/my_database?" + "&useSSL=true&serverTimezone=GMT"; //my_database是我schema的名字 private static final String username = "root";//數據庫用戶名 private static final String password = "1234";//數據庫密碼 private static Connection conn = null; //靜態代碼塊加載驅動 static { try { Class.forName(driver); } catch (Exception e) { e.printStackTrace(); } }
4,用戶註冊與登錄
首頁和詳情頁都可以跳轉到登錄頁面login.jsp。
新用戶註冊要求輸入合法的用戶名和密碼,並且已經註冊的用戶名不得再次註冊,由checkRegister.jsp執行檢查。
註冊成功後可以登錄,登錄成功後session中會建立一個名為“myUser”的Attribute
User myUser = new User(); myUser.setUsername(username); myUser.setPassword(password); request.getSession().setAttribute("myUser", myUser);
5,預約儀器
登錄成功後即可進行預約。
預約時間暫時限定在用戶操作時間之後的三天內,時間段為上午,下午,晚上。
選擇好時間預約儀器後,系統會檢查該時間段是否存在預約記錄,若存在則預約失敗。
預約成功後,用戶可以在“我的預約”中查看記錄。
具體的頁面編寫見 https://github.com/JosephJoster/YuYue
使用JSP技術搭建實驗儀器預約系統