java8 + servlet + jsp + mysql8.0.17 + c3p0 + dbutils + xadmin ใช้ระบบการจัดการห้องสมุด
สปริงบูตเวอร์ชัน: https://github.com/ifwlzs/library_springboot
SQL ถูกเก็บไว้ใน src/main/resources/ Directory
บริบทแอปพลิเคชัน Tomcat ที่ปรับใช้คือ /

รหัสของโครงการแนวคิดนี้คือ UTF8 โปรดเปลี่ยนการกำหนดค่าที่เกี่ยวข้องด้วยตัวเอง
การกำหนดค่าแนวคิด: ไฟล์-> การตั้งค่า-> การเข้ารหัสไฟล์-> การเข้ารหัสโครงการ
ค่าเริ่มต้นคืออินเทอร์เฟซการกำหนดค่า GBK และ TOMCAT: เพิ่มพารามิเตอร์การเริ่มต้นเครื่องเสมือน: -dfile.encoding = UTF -8
รหัสคอนโซลที่อ่านไม่ออกเพื่อแก้ไขพารามิเตอร์ VM ในแนวคิดที่จะเพิ่มข้อมูลการกำหนดค่า: -dfile.encoding = UTF -8
Tomcat ถูกตั้งค่าเป็น UTF8
ระบบจำเป็นต้องใช้ฟังก์ชั่นการจัดการพื้นฐานต่อไปนี้:
(1) ผู้ใช้แบ่งออกเป็นสองประเภท: ผู้ดูแลระบบและผู้ใช้ทั่วไป
(2) ให้ฟังก์ชั่นการตรวจสอบการลงชื่อเข้าใช้การเข้าสู่ระบบของผู้ใช้ หนึ่งในข้อมูลของผู้ใช้ที่เข้าสู่ระบบคือ: ชื่อผู้ใช้เข้าสู่ระบบและรหัสผ่านเข้าสู่ระบบ
(3) ผู้ดูแลระบบสามารถใช้การจัดการของผู้ใช้ที่ลงทะเบียน (แบบสอบถามการลบการปรับเปลี่ยนรหัสผ่าน) การกำหนดและการส่งคืนแอปพลิเคชันสินเชื่อหนังสือของผู้ใช้และใช้การดำเนินงานที่เกี่ยวข้องกับการสร้างหนังสือการสืบค้นการดัดแปลงและการลบหนังสือ ฯลฯ
(4) โดยทั่วไปผู้ใช้สามารถสอบถามหนังสือและยืมหนังสือได้เท่านั้น (สมัครหนังสือยืม) ผู้ใช้แต่ละคนสามารถยืมหนังสือได้ถึง 8 เล่ม นั่นคือเมื่อมีการยืมหนังสือ 8 เล่มแล้วพวกเขาไม่สามารถยืมหนังสือได้อีกต่อไป หลังจากคืนหนังสือพวกเขาสามารถยืมอีกครั้ง
ไม่สามารถใช้เฟรมได้
สาธารณะสำหรับทุกคน: 1-4
ผู้อ่านผู้ดูแล: 5-7
ผู้อ่านเท่านั้น: 8-9
ผู้ดูแลระบบเท่านั้น: 10-28
| หมายเลขซีเรียล | เส้นทาง | อธิบาย | หน้า 1 | หน้า 2 | หน้า 3 | เข้าถึงได้ |
|---|---|---|---|---|---|---|
| 1 | /toindexservlet | เข้าสู่ระบบอัตโนมัติไม่มีการเข้าสู่ระบบเพื่อข้ามไปที่โฮมเพจ | /index.jsp | ทั้งหมด | ||
| 2 | /registerReaderservlet | ข้ามไปลงทะเบียน | /register.jsp | ทั้งหมด | ||
| 3 | /loginServlet | เข้าสู่ระบบ | /login.jsp | ทั้งหมด | ||
| 4 | /toerRorServlet | ข้ามหน้าข้อผิดพลาด | - | ทั้งหมด | ||
| 5 | /updateReaderservlet | การปรับเปลี่ยนข้อมูลผู้ใช้และการใช้งานผู้ดูแลระบบแก้ไขข้อมูลผู้ใช้ | /reader/edit.jsp | /admin/editreader.jsp | ผู้ดูแลระบบผู้อ่าน | |
| 6 | /toeditReaderservlet | ข้ามหน้าการปรับเปลี่ยนผู้ใช้ผู้ดูแลระบบแก้ไขผู้ใช้ | /ผู้อ่าน/แก้ไข | /admin/readerlist.jsp | ผู้ดูแลระบบผู้อ่าน | |
| 7 | /logoutservlet | ออกจากระบบ | /reader/index.jsp | /admin/index.jsp | ผู้ดูแลระบบผู้อ่าน | |
| 8 | /Reader/ToBookShelfServlet | ข้ามผู้ใช้เพื่อแสดงหนังสือผู้ใช้ค้นหารายละเอียดของหนังสือเล่มหนึ่ง | /reader/index.jsp | /reader/borrowlist.jsp | ผู้อ่าน | |
| 9 | /Reader/ToreaderBorrowrowservlet | กระโดดบันทึกการกู้ยืมเงินของผู้ใช้ | /reader/index.jsp | ผู้อ่าน | ||
| 10 | /admin/toaddreaderservlet | ผู้ดูแลระบบเพิ่มผู้ใช้ | /admin/readerlist.jsp | ผู้ดูแลระบบ | ||
| 11 | /admin/tobrowlistservlet | ข้อมูลการกู้ยืมแบบสอบถามผู้ดูแลระบบ | /admin/readerlist.jsp | /admin/index.jsp | /admin/booklist.jsp | ผู้ดูแลระบบ |
| 12 | /ผู้ดูแลระบบ/deletereaderservlet | ลบผู้ใช้ | /admin/readerlist.jsp | ผู้ดูแลระบบ | ||
| 13 | /admin/toeditadminservlet | ข้ามไปที่หน้าแก้ไขผู้ดูแลระบบแก้ไขข้อมูลส่วนบุคคลของผู้ดูแลระบบ | /admin/index.jsp | /admin/adminlist.jsp | ผู้ดูแลระบบ | |
| 14 | /admin/toadminlistservlet | แสดงรายการผู้ดูแลระบบ | /admin/index.jsp | ผู้ดูแลระบบ | ||
| 15 | /admin/toreaderlistservlet | แสดงรายการผู้ใช้และแสดงข้อมูลผู้กู้ | /admin/index.jsp | /admin/borrowlist.jsp | ผู้ดูแลระบบ | |
| 16 | /admin/tobooklistservlet | ไปแสดงรายการหนังสือ | /admin/index.jsp | /admin/borrowlist.jsp | ผู้ดูแลระบบ | |
| 17 | /admin/updateBookServlet | ผู้ดูแลระบบแก้ไขข้อมูลหนังสือ | /admin/editbook.jsp | ผู้ดูแลระบบ | ||
| 18 | /admin/updateAdMinServlet | ผู้ดูแลระบบแก้ไขข้อมูลผู้ดูแลระบบ | /admin/editadmin.jsp | ผู้ดูแลระบบ | ||
| 19 | /ผู้ดูแลระบบ | ผู้ดูแลระบบเพื่อเพิ่มข้อมูลการกู้ยืม | /admin/borrowlist.jsp | ผู้ดูแลระบบ | ||
| 20 | /admin/toreturnbookservlet | ข้ามเพื่อส่งคืนใบสมัครหนังสือ | /admin/borrowlist.jsp | ผู้ดูแลระบบ | ||
| ยี่สิบเอ็ด | /admin/toaddbookservlet | ผู้ดูแลระบบเพื่อเพิ่มหนังสือ | /admin/booklist.jsp | ผู้ดูแลระบบ | ||
| ยี่สิบสอง | /admin/toEditBookServlet | ผู้ดูแลระบบแก้ไขหนังสือ | /admin/booklist.jsp | ผู้ดูแลระบบ | ||
| ยี่สิบสาม | /admin/deletebookservlet | ลบหนังสือ | /admin/booklist.jsp | ผู้ดูแลระบบ | ||
| ยี่สิบสี่ | /admin/toaddadminservlet | ข้ามเพื่อเพิ่มหน้าผู้ดูแลระบบ | /admin/adminlist.jsp | ผู้ดูแลระบบ | ||
| 25 | /admin/deleteadminservlet | ลบข้อมูลผู้ดูแลระบบ | /admin/adminlist.jsp | ผู้ดูแลระบบ | ||
| 26 | /admin/addBorrowservlet | ผู้ดูแลยืมหนังสือ | /admin/addborw.jsp | ผู้ดูแลระบบ | ||
| 27 | /admin/addbookservlet | ผู้ดูแลระบบเพิ่มหนังสือ | /admin/addbook.jsp | ผู้ดูแลระบบ | ||
| 28 | /admin/registeradminservlet | ผู้ดูแลระบบผู้ดูแลระบบ | /admin/addadmin.jsp | ผู้ดูแลระบบ |
โมดูลระบบมีดังนี้:
โมดูลกระโดดหน้าข้อผิดพลาด: เมื่อผู้ใช้เข้าถึงหน้าเว็บที่ไม่มีอยู่มันจะข้ามไปยังหน้า 404 เริ่มต้นของระบบนี้ เมื่อการดำเนินการข้อผิดพลาดทำให้เกิดข้อผิดพลาดเซิร์ฟเวอร์ 500 มันจะข้ามไปยังหน้า 500 ที่ระบบนี้จัดทำขึ้น
การจัดการการอนุญาต: ใช้ interceptor เพื่อให้ผู้ใช้ไม่สามารถเข้าถึงหน้าและส่งคำขอได้
โมดูลการตรวจสอบเข้าสู่ระบบ: ตรงกับผู้ใช้ที่มีอยู่ในฐานข้อมูลและหากไม่มีอยู่ข้อความแสดงข้อผิดพลาดจะถูกส่งกลับ หลังจากเข้าสู่ระบบสำเร็จคุณจะข้ามไปที่หน้าแรกที่เกี่ยวข้อง
โมดูลผู้ดูแลระบบ: การปรับเปลี่ยนข้อมูลส่วนบุคคล; การเพิ่มการลบการดัดแปลงและการค้นหาของผู้อ่าน การเพิ่มการลบการดัดแปลงและการค้นหาของหนังสือ การเพิ่มการลบการดัดแปลงและการค้นหาของผู้ดูแลระบบรวมถึงการกู้ยืมหนังสือและการดำเนินการส่งคืนหนังสือ
โมดูลผู้อ่าน: การปรับเปลี่ยนข้อมูลส่วนบุคคล, การสืบค้นสินค้าคงคลังของห้องสมุด, แบบสอบถามบันทึกการกู้ยืมส่วนบุคคล
โมเดล ER แสดงในรูป:
การออกแบบฐานข้อมูลจะแสดงในรูป:
เข้าสู่ระบบรวมถึงส่วนการลงทะเบียนและการเข้าสู่ระบบ เมื่อผู้ใช้ไม่ได้ป้อนเขาสามารถคลิกเพื่อลงทะเบียนเท่านั้น การคลิกที่การเข้าสู่ระบบจะปรากฏขึ้นที่หน้าต่างและ "รายการที่จำเป็นไม่ได้ป้อนและการตรวจสอบตัวเลื่อนไม่เสร็จสมบูรณ์"

คลิกเพื่อลงทะเบียน คุณสามารถดูหน้าการลงทะเบียน ในอินเทอร์เฟซการลงทะเบียนใหม่จะมีการเพิ่มการตัดสินของค่าคีย์เช่นค่าว่าง ID ผู้ใช้อีเมลและโทรศัพท์ ตรวจสอบให้แน่ใจว่าอักขระที่ป้อนโดยผู้ใช้เป็นไปตามข้อกำหนดการลงทะเบียนและส่งคำขอลงทะเบียนไปยังแบ็กเอนด์
หลังจากเข้าสู่ระบบระบบจะกำหนดหมวดหมู่ผู้ใช้โดยอัตโนมัติตามรหัสผู้ใช้ หากเริ่มต้นด้วย R มันจะเข้าสู่ระบบสำหรับผู้อ่านและถ้ามันเริ่มต้นด้วย M มันจะเป็นผู้ดูแลระบบ หากเกิดข้อผิดพลาดในการเข้าสู่ระบบข้อความแสดงข้อผิดพลาดจะถูกส่งคืน
โมดูลผู้อ่านแบ่งออกเป็นสามชิ้นเล็ก ๆ แถบการนำทางทางด้านขวามีสองฟังก์ชั่นคือการสอบถามคอลเลกชันหนังสือของห้องสมุดและสอบถามบันทึกการกู้ยืมของคุณเอง ด้านขวาเป็นฟังก์ชั่นของการรีเฟรชการเข้าสู่ระบบและแก้ไขข้อมูลส่วนบุคคล
หน้านี้มีฟังก์ชั่นการตรวจสอบรหัสผ่านและไม่สามารถแก้ไขได้หากป้อนรหัสผ่านไม่ถูกต้อง
หน้านี้แสดงข้อมูลพื้นฐานเกี่ยวกับหนังสือ นอกจากนี้คุณยังสามารถสืบค้นที่คลุมเครือตามชื่อเรื่องของหนังสือ แต่การรักษาพิเศษจะดำเนินการ หากเงื่อนไขการกู้ยืมไม่เป็นไปตามเงื่อนไขการกู้ยืมปุ่ม "ไม่ยืม" จะไม่ปรากฏขึ้น
หากผู้ใช้ปัจจุบันยืมหนังสือ 8 เล่มมันจะแจ้งให้ "ผู้ใช้แต่ละคนสามารถยืมหนังสือได้สูงสุด 8 เล่มโปรดไปที่ห้องสมุดโดยเร็วที่สุดเพื่อส่งคืน!"
ในการสืบค้นคุณสามารถสืบค้นตามบันทึกทั้งหมดและบันทึกที่ไม่ได้รับการแก้ไขเป็นเงื่อนไข
คุณยังสามารถตรวจสอบรายละเอียดหนังสือตามรหัสหนังสือในแบบฟอร์ม
การคลิกปุ่ม "return" จะแจ้งเวลาเปิดไลบรารี
มีฟังก์ชั่นมากมายของพื้นหลังของผู้ดูแลระบบ นอกเหนือจากการเปลี่ยนแปลงข้อมูลส่วนบุคคลแล้วยังมีสามโมดูลหลัก: การจัดการผู้ใช้การจัดการหนังสือและการจัดการการกู้ยืม
การจัดการผู้ใช้แบ่งออกเป็นโมดูลผู้ดูแลระบบและผู้อ่าน ผู้ดูแลระบบรวมถึงการเพิ่มการลบการแก้ไขและการดำเนินการสืบค้นที่คลุมเครือ
การจัดการผู้อ่านรวมถึงการสืบค้นที่คลุมเครือรวมถึงการเพิ่มการลบและการปรับเปลี่ยนการสืบค้นฟัซซี่และสอบถามบันทึกทั้งหมด ต่อไปนี้แสดงบันทึกการสอบถามที่ไม่ได้รับการตอบกลับ
โดยทั่วไปการจัดการหนังสือรวมถึงการเพิ่มการลบและการปรับเปลี่ยนหนังสือรวมถึงการสอบถามการกู้ยืมและบันทึกที่ไม่ได้ผลของหนังสือ
ในอินเทอร์เฟซการแก้ไขสินค้าคงคลังทั้งหมดจะถูกตัดสินอย่างปลอดภัยเพื่อให้สินค้าคงคลังมีค่ามากกว่าหรือเท่ากับปริมาณที่ยืม และจำนวนเงินกู้ถูกกำหนดไว้เพื่อให้การกลับมาของหนังสือเล่มนี้ดำเนินการในการจัดการการกู้ยืม
ในบันทึกการกู้ยืมคุณสามารถตรวจสอบผู้กู้รายละเอียดหนังสือและหนังสือที่ไม่ได้รับการชำระเงิน การดำเนินการส่งคืนหนังสือและข้อมูลการกู้ยืมสามารถทำได้ ในระหว่างการดำเนินการส่งคืนผลตอบแทนสามารถประสบความสำเร็จได้หากสินค้าคงคลังหนังสือมากกว่าหรือเท่ากับจำนวนเงินกู้และจำนวนเงินกู้ไม่ใช่ 0
เมื่อเพิ่มข้อมูลการกู้ยืม หากผู้อ่านที่เลือกถึงจำนวนหนังสือสูงสุดจะได้รับแจ้งว่าหนังสือยืมหนังสือไม่ประสบความสำเร็จ
ในแง่ของความปลอดภัยการเข้าถึงบทบาทที่แตกต่างกันส่วนใหญ่จะถูก จำกัด
ผู้ใช้ที่ไม่ได้ลงชื่อเข้าใช้สามารถเข้าถึงหน้าเข้าสู่ระบบและหน้าลงทะเบียนเท่านั้น หากคุณเยี่ยมชมหน้าของบทบาทอื่น ๆ พวกเขาจะถูกเปลี่ยนเส้นทางไปยังหน้าแรกเข้าสู่ระบบ
ผู้ดูแลระบบไม่สามารถเข้าถึงวิธีการและหน้าเว็บในไดเรกทอรีผู้อ่าน หลังจากเข้าถึงแล้วมันจะถูกเปลี่ยนเส้นทางไปยังหน้าแรกของผู้ดูแลระบบโดยอัตโนมัติ
ผู้อ่านไม่สามารถเข้าถึงวิธีการและหน้าเว็บภายใต้ไดเรกทอรีผู้ดูแลระบบ หลังจากเข้าถึงแล้วมันจะถูกเปลี่ยนเส้นทางไปยังหน้าแรกของผู้อ่านโดยอัตโนมัติ
เมื่อเข้าสู่หน้าเว็บที่ไม่มีอยู่และเมื่อเกิดข้อผิดพลาดบนเซิร์ฟเวอร์หน้าจะข้ามไปยังหน้าข้อผิดพลาดที่เกี่ยวข้อง
แม้ว่าฟังก์ชั่นพื้นฐานจะเสร็จสมบูรณ์ในการออกแบบนี้เมื่อเทียบกับระบบที่เป็นผู้ใหญ่และประสบการณ์การกู้ยืมส่วนบุคคล แต่ก็ยังขาดการออกแบบที่เป็นมนุษย์ ตัวอย่างเช่นควรมีรายการรองในการจัดการหนังสือ หนังสือแต่ละเล่มที่มีชื่อเรื่องเดียวกันในรายการนี้ควรมีหมายเลข การจัดการหนังสือควรรวมถึงสาขาต่าง ๆ เช่นชั้นวางหนังสือจำนวนเลเยอร์ ฯลฯ ที่หนังสือตั้งอยู่ ในการดำเนินการกู้ยืมหนังสือคุณควรใช้อุปกรณ์ต่อพ่วงเพื่อป้อน ID หนังสือและรหัสผู้ใช้ นอกเหนือจากเหตุผลด้านเวลาการดำเนินการลบและการลบแบทช์ไม่ได้ถูกเพิ่มเข้าไปในโครงการนี้
มีหลายวิธีในการกระโดดหน้า JSP ใน Servlets เพราะบางคนเกี่ยวข้องกับการสืบค้นและการดำเนินการตัดสินพิเศษ ไม่สามารถวาดวิธีนามธรรมแบบครบวงจรได้
ไม่ได้ใช้โครงการ Springboot+SSM+MVC+Vue ทำให้ไฟล์โครงการดูค่อนข้างยุ่ง