Java8 + Servlet + JSP + MySQL8.0.17 + C3P0 + Dbutils + Xadmin تنفيذ نظام إدارة المكتبة
إصدار Boot Spring: https://github.com/ifwlzs/library_springboot
يتم تخزين SQL في src/main/resources/ Directory
سياق تطبيق Tomcat المنشور هو /

رمز مشروع الفكرة هذا هو UTF8 ، يرجى تغيير التكوين ذي الصلة بنفسك
تكوين الفكرة: ملف-> الإعدادات-> ترميزات الملفات-> ترميز المشروع
الافتراضي هو واجهة تكوين GBK و Tomcat: إضافة معلمات بدء تشغيل الجهاز الظاهري: -dfile.encoding = UTF -8
رمز مشجعة وحدة التحكم لتعديل معلمات VM في IDEA لإضافة معلومات التكوين: -dfile.encoding = UTF -8
تم تعيين Tomcat على UTF8
يحتاج النظام إلى تنفيذ وظائف الإدارة الأساسية التالية:
(1) ينقسم المستخدمون إلى فئتين: المسؤولون والمستخدمون العامون.
(2) توفير وظائف تسجيل المستخدم وتسجيل الدخول إلى المستخدم ؛ إحدى معلومات مستخدمي تسجيل الدخول هي: تسجيل الدخول اسم المستخدم وكلمة مرور تسجيل الدخول.
(3) يمكن للمسؤولين تنفيذ إدارة المستخدمين المسجلين (الاستعلام ، الحذف ، تعديل كلمة المرور) ، تحديد وإعادة تطبيقات قروض دفتر المستخدمين ، وتنفيذ العمليات المتعلقة بإنشاء الكتب والاستعلام وتعديل وحذف الكتب ، إلخ.
(4) عمومًا ، يمكن للمستخدمين فقط الاستعلام عن الكتب واستعارة الكتب (تقدم بطلب للحصول على كتب الاقتراض). يمكن لكل مستخدم استعارة ما يصل إلى 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 | /قارئ/TOBOOKSHELFServlet | قفز المستخدم لعرض الكتاب ، يجد المستخدم تفاصيل كتاب | /reader/index.jsp | /reader/borrowlist.jsp | قارئ | |
| 9 | /reader/toreaderborrowservlet | قفزة سجلات استعارة المستخدم | /reader/index.jsp | قارئ | ||
| 10 | /admin/toaddreaderservlet | المسؤول يضيف المستخدمين | /admin/ReaderList.jsp | مسؤل | ||
| 11 | /admin/toBorrowlistservlet | استعلام المسؤول معلومات الاقتراض | /admin/ReaderList.jsp | /admin/index.jsp | /admin/booklist.jsp | مسؤل |
| 12 | /admin/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/toaddborrowservlet | المسؤول لإضافة معلومات الاقتراض | /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/addborrow.jsp | مسؤل | ||
| 27 | /المسؤول/الوظائف padbookservlet | يضيف المسؤول الكتب | /admin/addbook.jsp | مسؤل | ||
| 28 | /admin/registerAdMinservlet | مسؤول تسجيل المسؤول | /admin/addadmin.jsp | مسؤل |
وحدة النظام كما يلي:
وحدة قفزة صفحة الخطأ: عندما يصل المستخدم إلى صفحة غير موجودة ، فإنها ستقفز إلى صفحة 404 الافتراضية من هذا النظام. عندما تتسبب عملية الخطأ في خطأ الخادم 500 ، فإنها ستقفز أيضًا إلى صفحة 500 التي يتم توفيرها بواسطة هذا النظام.
إدارة الإذن: استخدم Interceptor لتحقيق الغرض من عدم تمكن المستخدمين من الوصول إلى الصفحات وإرسال الطلبات.
وحدة التحقق من تسجيل الدخول: تطابق المستخدم الموجود في قاعدة البيانات ، وإذا لم يكن موجودًا ، فسيتم إرجاع رسالة خطأ. بعد تسجيل الدخول بنجاح ، سوف تقفز إلى الصفحة الرئيسية المقابلة
وحدة المسؤول: تعديل المعلومات الشخصية ؛ إضافات القراء ، الحذف ، التعديل والبحث ؛ إضافات الكتب ، الحذف ، التعديل والبحث ؛ إضافات المسؤول ، حذف ، تعديل وبحث ، وكذلك الكتب عمليات الاقتراض وإعادة الكتب.
وحدة القارئ: تعديل المعلومات الشخصية ، استعلام جرد المكتبة ، استعلام سجل الاقتراض الشخصي.
يظهر نموذج ER في الشكل:
يظهر تصميم قاعدة البيانات في الشكل:
يشمل تسجيل الدخول أقسام التسجيل وتسجيل الدخول. عند عدم إدخال المستخدم ، يمكنه فقط النقر للتسجيل. سيؤدي النقر فوق تسجيل الدخول إلى ظهور نافذة و "العناصر المطلوبة التي لم يتم إدخالها ولم يتم إكمال مصادقة التمرير".

انقر للتسجيل. يمكنك رؤية صفحة التسجيل. في واجهة إعادة التسجيل ، يتم إضافة حكم القيم الرئيسية مثل القيم الفارغة ومعرف المستخدم والبريد الإلكتروني والهاتف. تأكد من أن الأحرف التي أدخلها المستخدم تلبي متطلبات التسجيل وإرسال طلب تسجيل إلى الواجهة الخلفية.
بعد تسجيل الدخول ، سيقوم النظام تلقائيًا بتحديد فئة المستخدم بناءً على معرف المستخدم. إذا بدأت بـ R ، فسيقوم بتسجيل الدخول للقراء ، وإذا بدأ بـ M ، فسيكون مسؤولًا. في حالة حدوث خطأ في تسجيل الدخول ، سيتم إرجاع رسالة خطأ
تنقسم وحدة القارئ إلى ثلاث قطع صغيرة. يتضمن شريط التنقل على اليمين وظيفتين ، وهما الاستعلام عن مجموعة الكتب المكتبة والاستعلام عن سجلات الاقتراض الخاصة بك. على اليمين هي وظيفة المنعشة وتسجيل الخروج وتحرير المعلومات الشخصية.
تحتوي هذه الصفحة على وظيفة التحقق من كلمة المرور ، ولا يمكن تعديلها إذا تم إدخال كلمة المرور بشكل غير صحيح.
تعرض هذه الصفحة معلومات أساسية حول الكتاب. يمكنك أيضًا الاستعلام الغامض بناءً على عنوان الكتاب. ولكن يتم معاملة خاصة. إذا كانت شروط الاقتراض لا تفي بظروف الاقتراض ، فلن يتم عرض زر "عدم الاقتراض".
إذا كان المستخدم الحالي يقترض 8 كتبًا ، فسيطلب منه "كل مستخدم يمكن أن يقترض ما يصل إلى 8 كتب ، فيرجى الانتقال إلى المكتبة في أقرب وقت ممكن لإعادته!"
في الاستعلام ، يمكنك الاستعلام بناءً على جميع السجلات والسجلات التي لم تُعاد كظروف.
يمكنك أيضًا التحقق من تفاصيل دفتر بناءً على معرف الكتاب في النموذج.
سيؤدي النقر فوق الزر "إرجاع" إلى دفع وقت فتح المكتبة.
هناك العديد من وظائف خلفية المسؤول. بالإضافة إلى التغييرات في المعلومات الشخصية ، فإنه يتضمن أيضًا ثلاث وحدات رئيسية: إدارة المستخدمين ، وإدارة الكتب ، وإدارة الاقتراض.
تنقسم إدارة المستخدم إلى وحدات المسؤول والقارئ. يتضمن المسؤولون عمليات الإضافة والحذف والتعديل والاستعلام الغامض.
تتضمن إدارة القارئ استعلامات غامضة بما في ذلك إضافة وحذف وتعديل الاستعلامات الغامضة والاستعلام عن جميع السجلات. ما يلي يوضح الاستعلام السجلات غير المنقولة.
تتضمن إدارة الكتب عمومًا إضافة الكتب وحذفها وتعديلها ، بالإضافة إلى الاستعلام عن سجلات الاقتراض وغير المراد للكتاب.
في واجهة التحرير ، يتم الحكم على إجمالي المخزون بأمان ، بحيث يكون المخزون دائمًا أكبر من أو يساوي الكمية المعار. وتم تعيين مبلغ القرض ، بحيث تم تنفيذ عودة الكتاب في إدارة الاقتراض.
في سجل الاقتراض ، يمكنك الاستعلام عن المقترض ، وتفاصيل الكتاب ، والكتب غير الموقرة ؛ يمكن إجراء عمليات الإرجاع الكتب ومعلومات الاقتراض. أثناء عملية الإرجاع ، يمكن أن يكون العائد ناجحًا إذا كان مخزون الكتب أكبر من أو يساوي مبلغ القرض ولم يكن مبلغ القرض 0.
عند إضافة معلومات الاقتراض. إذا وصل القارئ المحدد إلى الحد الأقصى لعدد الكتب ، فسيتم مطالبته بأن استعارة الكتاب غير ناجحة.
من حيث الأمان ، يتم تقييد الوصول إلى أدوار مختلفة بشكل أساسي.
لا يمكن للمستخدمين الذين لم يتم تسجيل الدخول إلى الوصول إلى صفحات تسجيل الدخول والتسجيل إلا. إذا قمت بزيارة صفحات الأدوار الأخرى ، فسيتم إعادة توجيهها إلى الصفحة الرئيسية لتسجيل الدخول.
لا يمكن للمسؤولين الوصول إلى الأساليب والصفحات في دليل القارئ. بعد الوصول إليه ، سيتم إعادة توجيهه تلقائيًا إلى الصفحة الرئيسية للمسؤول.
لا يمكن للقراء الوصول إلى الأساليب والصفحات تحت دليل المسؤول. بعد الوصول ، سيتم إعادة توجيهها تلقائيًا إلى الصفحة الرئيسية للقارئ.
عند إدخال صفحة غير موجودة ، وعندما يحدث خطأ على الخادم ، ستقفز الصفحة إلى صفحة الخطأ المقابلة.
على الرغم من الانتهاء من الوظائف الأساسية في هذا التصميم ، مقارنة بالنظام الناضج وتجربة الاقتراض الشخصية ، لا يزال هناك نقص في التصميم الإنساني. على سبيل المثال ، يجب أن تكون هناك قائمة ثانوية في إدارة الكتب. يجب ترقيم كل كتاب له نفس العنوان في هذه القائمة. يجب أن تشمل إدارة الكتب حقولًا مثل رف الكتب وعدد الطبقات وما إلى ذلك حيث توجد الكتب. في عملية استعارة الكتاب ، يجب عليك استخدام الأجهزة الطرفية لإدخال معرف الكتاب ومعرف المستخدم. بالإضافة إلى الأسباب الزمنية ، لم تتم إضافة عمليات الحذف والحذف الدُفعات إلى هذا المشروع.
هناك عدد كبير من الطرق للقفز صفحات JSP في Servlets. لأن البعض ينطوي على عمليات الاستعلام والحكم الخاص. غير قادر على رسم طريقة مجردة موحدة.
لم يتم استخدام نظام Springboot+SSM+MVC+VUE ، مما يجعل ملفات المشروع تبدو فوضوية نسبيًا