員工管理系統
因為學業要求,需要完成一個過關檢測,但是因為檢測之前沒有做好准備,且想到之前用mysql+jdbc+Struts2+bootstrap做成了一個ATM系統(主要有對數據的增刪改查操作),應對這次的檢測應該不成問題,但是萬萬沒想到,過關檢測重在“檢測”,需要在規定的時間內完成一個系統,且無關前端的好看與否,只需功能的實現,而我還在套用之前的ATM系統,因為ATM系統時隔久遠,我已大半年沒有接觸web相關的知識了,套用起來很生疏,甚至連jdbc的使用都是很費力,所以最后理所當然的沒有通過檢測,因此想着要重新完成這個檢測,且要使用最簡單的前端和后端等技術。
系統介紹
整個系統其實很簡單,這里主要參考了一篇博客:JSP + Servlet + JDBC + Mysql 實現增刪改查其中類的設計(實體)很有參考意義。整個系統設計的目標人群是管理者,系統的主要功能是對員工進行各種信息的操作。主要是完成對數據庫的增刪改查的功能。
1. 項目整體目錄結構
界面層(WebContent)主要使用jsp來動態展現數據庫中的數據,業務邏輯層(servlets)使用的servlet,數據訪問層(dao)主要是連接各個Servlet與數據庫之前的通信,從而實現對數據庫的各種操作。其中的entity包參考了上面提到的博客,主要是封裝了兩個實體:管理員和員工,方便且規范對數據的操作和代碼的書寫。
2. 界面效果展示:
login.jsp:
mainPage.jsp:
add.jsp:
modify.jsp:
數據庫設計
user表(管理員的賬號和密碼)
employee表(員工信息表)
核心代碼展示:(完整代碼參見文章末尾)
1. Admin.java(管理員屬性的實體層,這里有管理員的登錄賬號和密碼的定義)
2. Employee.java(和Admin.java差不多主要是實體屬性的get和set方法)
3. DbHelper.java(使用靜態方法,通過JDBC獲得與數據庫的Connection)
4. AdminDao.java(管理員對員工數據的各種操作方法,在各種Servlet中得到應用,且這里通過DbHelper得到與數據庫的連接)
(1)loginAdmin(管理員的登錄,對賬號和密碼的比對)
(2)getAllEmployees(獲得數據庫中所有的員工信息,用於前台展示所有員工信息)
(3) deleteEmpolyeeByName(數據庫中以Name為主鍵,所以通過Name刪除員工信息)
(4)addEmployee(向數據庫中增加員工信息)
(5)getEmployeeByName(工具方法,通過Name獲得單個員工信息)
(6) updateEmployee(更新單個員工信息)
loginServlet.java(處理login.jsp請求的servlet)
ShowServlet.java(將數據庫中的所有員工信息展現到mainPage.jsp頁面中)
modifyServlet.java(當用戶在mainPage頁面點擊修改按鈕,會調用此servlet的doGet方法,再跳轉到modify.jsp頁面。當在modify.jsp頁面點擊提交之后會調用此servlet的doPost方法,提交修改到數據庫中)
deleteServlet.java(處理刪除單個員工信息的Servlet)
addServlet.java(處理添加單個員工信息的Servlet)
login.jsp(注冊頁面)
mainPage.jsp(主頁面,展示所有員工信息)
add.jsp(添加員工信息的頁面)
modify.jsp(修改員工信息的頁面)
源代碼在github倉庫:[
https://github.com/Haoocker/MyProjectsInNjtech/tree/master/JSJMProject](
https://github.com/Haoocker/MyProjectsInNjtech/tree/master/JSJMProject)