1. 程式人生 > >使用JSP技術搭建實驗儀器預約系統

使用JSP技術搭建實驗儀器預約系統

中新 gets src 比較 項目 images 新用戶 要求 tab

學院裏面做實驗需要預約實驗儀器,但學院裏面並沒有一個管理系統,預約工作由學生擔任。管理比較混亂,溝通成本也比較高,因此設計一個簡單的實驗儀器預約系統,以期解決此問題。

使用的技術為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技術搭建實驗儀器預約系統