基于web的图书管理系统设计与实现(可作为 毕业设计、课程设计 附演示地址)

基于web的图书管理系统设计与实现(可作为 毕业设计、课程设计 附演示地址)

码农世界 2024-05-26 前端 83 次浏览 0个评论

读者管理:根据账号、姓名查询读者基本信息,添加、修改、删除读者信息。

我的:查看个人资料,修改账户密码,退出系统。

04 工程结构及其说明


项目名称:manage_books

Package包说明:

05 主要功能详细设计与实现


5.1 用户端–图书查询模块

用户访问图书查询模块时显示当前可以借阅图书,有按图书名称查询图书信息的功能,可以进行借书操作。

其中查询功能的Servlet代码如下:

package com.cya.controller;

import java.io.IOException;

import java.util.ArrayList;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.cya.dao.BookDao;

import com.cya.pojo.Book;

/**

  • Servlet implementation class selectServlet

    */

    @WebServlet(“/selectServlet”)

    public class selectServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    /**

    • @see HttpServlet#HttpServlet()

      */

      public selectServlet() {

      super();

      // TODO Auto-generated constructor stub

      }

      /**

      • @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

        */

        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        // TODO Auto-generated method stub

        //response.getWriter().append("Served at: ").append(request.getContextPath());

        }

        /**

        • @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

          */

          protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

          // TODO Auto-generated method stub

          //doGet(request, response);

          request.setCharacterEncoding(“UTF-8”);

          response.setContentType(“text/html;charset=UTF-8”);

          //因为在管理员界面和读者界面都有查找功能,为了将查找的结果返回正确的页面,设置了tip,tip=1表示管理员界面

          int tip = Integer.parseInt(request.getParameter(“tip”));

          String name = request.getParameter(“name”);

          BookDao bookdao = new BookDao();

          ArrayList data = bookdao.getLikeList(name);

          //将获取的结果存入请求中

          request.setAttribute(“data”, data);

          String url = “”;

          //转发不同的界面

          if (tip == 1) {

          url = response.encodeURL(“/books/admin/admin_books.jsp”);

          } else {

          url = response.encodeURL(“/books/user/select.jsp”);

          }

          //将请求转发

          request.getRequestDispatcher(url).forward(request, response);

          }

          }

          5.2 用户端–借阅信息模块

          当普通用户借阅完图书,会在该模块自动生成借阅信息,如借阅日期,归还日期,也可在该模块进行还书,如下图所示。

          其中,还书功能的Servlet代码如下:

          package com.cya.controller;

          import java.io.IOException;

          import java.io.PrintWriter;

          import javax.servlet.ServletException;

          import javax.servlet.annotation.WebServlet;

          import javax.servlet.http.HttpServlet;

          import javax.servlet.http.HttpServletRequest;

          import javax.servlet.http.HttpServletResponse;

          import javax.servlet.http.HttpSession;

          import com.cya.pojo.Admin;

          import com.cya.dao.AdminDao;

          import com.cya.dao.BookDao;

          /**

          • Servlet implementation class borrowServlet

            */

            @WebServlet(“/borrowServlet”)

            public class borrowServlet extends HttpServlet {

            private static final long serialVersionUID = 1L;

            /**

            • @see HttpServlet#HttpServlet()

              */

              public borrowServlet() {

              super();

              // TODO Auto-generated constructor stub

              }

              /**

              • @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

                */

                protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

                // TODO Auto-generated method stub

                //response.getWriter().append("Served at: ").append(request.getContextPath());

                //设置编码类型

                request.setCharacterEncoding(“UTF-8”);

                response.setContentType(“text/html;charset=UTF-8”);

                BookDao bookdao = new BookDao();

                //为了区分借书和还书的功能,设置tip,tip为1,表示借书

                int tip = Integer.parseInt(request.getParameter(“tip”));

                if (tip == 1) {

                //获取图书id

                int bid = Integer.parseInt(request.getParameter(“bid”));

                HttpSession session = request.getSession();

                Admin admin = new Admin();

                String status=request.getParameter(“status”);

                String id=“”;

                if(status.equals(“user”)) {

                //获取到存入session的读者id

                id = (String) session.getAttribute(“uid”);

                }

                else {

                //获取到存入session的aid读者id

                id = (String) session.getAttribute(“aid”);

                }

                AdminDao admindao = new AdminDao();

                //通过aid获取到读者的信息

                admin = admindao.get_AidInfo2(id);

                //将借阅记录存入数据表

                bookdao.borrowBook(bid, admin);

                response.sendRedirect(“/manage_books/books/user/select.jsp”);

                } else {

                //还书功能,获取借阅记录的hid

                int hid = Integer.parseInt(request.getParameter(“hid”));

                /**

                • 还书在管理员和读者界面都有,为了区分,设置了show字段,show为1表示读者界面

                  */

                  int show = Integer.parseInt(request.getParameter(“show”));

                  //调用还书函数,改变status字段

                  bookdao.borrowBook2(hid);

                  if (show == 1) {

                  response.sendRedirect(“/manage_books/books/user/borrow.jsp”);

                  } else {

                  response.sendRedirect(“/manage_books/books/admin/admin_borrows.jsp”);

                  }

                  }

                  }

                  /**

                  • @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

                    */

                    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

                    // TODO Auto-generated method stub

                    doGet(request, response);

                    }

                    }

                    5.3 管理员端–图书管理模块

                    管理员可以通过根据图书号 、图书名称,作者名称,出版社等查询图书信息。

                    管理员登录系统以后,可以进行图书添加操作,这是管理员主要的输入信息部分,填写好各项信息后,单击保存按钮,系统将对这些信息进行处理。界面见下图所示:

                    除此以外,管理员对已经添加好的图书信息有修改权限。

                    其中,添加图书功能的代码如下:

                    package com.cya.controller;

                    import java.io.IOException;

                    import javax.servlet.ServletException;

                    import javax.servlet.annotation.WebServlet;

                    import javax.servlet.http.HttpServlet;

                    import javax.servlet.http.HttpServletRequest;

                    import javax.servlet.http.HttpServletResponse;

                    import com.cya.dao.BookDao;

                    /**

                    • Servlet implementation class AddBookServlet

                      */

                      @WebServlet(“/AddBookServlet”)

                      public class AddBookServlet extends HttpServlet {

                      private static final long serialVersionUID = 1L;

                      /**

                      • @see HttpServlet#HttpServlet()

                        */

                        public AddBookServlet() {

                        super();

                        // TODO Auto-generated constructor stub

                        }

                        /**

                        • @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

                          */

                          protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

                          // TODO Auto-generated method stub

                          // response.getWriter().append("Served at: ").append(request.getContextPath());

                          }

                          /**

                          • @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

                            */

                            protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

                            // TODO Auto-generated method stub

                            // doGet(request, response);

                            //设置编码类型

                            request.setCharacterEncoding(“UTF-8”);

                            response.setContentType(“text/html;charset=UTF-8”);

                            //获取要添加图书的信息

                            String card = request.getParameter(“card”);

                            String name = request.getParameter(“name”);

                            String type = request.getParameter(“type”);

                            String autho = request.getParameter(“autho”);

                            String press = request.getParameter(“press”);

                            int num = Integer.parseInt(request.getParameter(“num”));

                            BookDao bookdao = new BookDao();

                            //调用函数,存入图书

                            bookdao.addBook(card, name, type, autho, press, num);

                            response.sendRedirect(“/manage_books/books/admin/admin_books.jsp”);

                            }

                            }

                            5.4 管理员端–图书分类模块

                            管理员在该界面可以增加、删除、修改图书分类信息,操作效果如图。

                            修改图书分类功能的代码如下:

                            package com.cya.controller;

                            import java.io.IOException;

                            import javax.servlet.ServletException;

                            import javax.servlet.annotation.WebServlet;

                            import javax.servlet.http.HttpServlet;

                            import javax.servlet.http.HttpServletRequest;

                            import javax.servlet.http.HttpServletResponse;

                            自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

                            深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

                            因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

                            既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

                            由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

                            如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

                            最后

                            基础知识是前端一面必问的,如果你在基础知识这一块翻车了,就算你框架玩的再6,webpack、git、node学习的再好也无济于事,因为对方就不会再给你展示的机会,千万不要因为基础错过了自己心怡的公司。前端的基础知识杂且多,并不是理解就ok了,有些是真的要去记。当然了我们是牛x的前端工程师,每天像背英语单词一样去背知识点就没必要了,只要平时工作中多注意总结,面试前端刷下题目就可以了。

                            什么?你问面试题资料在哪里,这不是就在你眼前吗(滑稽

                            图片转存中…(img-Jdmsbr6L-1712671849439)]

                            既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

                            [外链图片转存中…(img-m33mUgZ3-1712671849440)]

                            由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

                            如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

                            最后

                            基础知识是前端一面必问的,如果你在基础知识这一块翻车了,就算你框架玩的再6,webpack、git、node学习的再好也无济于事,因为对方就不会再给你展示的机会,千万不要因为基础错过了自己心怡的公司。前端的基础知识杂且多,并不是理解就ok了,有些是真的要去记。当然了我们是牛x的前端工程师,每天像背英语单词一样去背知识点就没必要了,只要平时工作中多注意总结,面试前端刷下题目就可以了。

                            什么?你问面试题资料在哪里,这不是就在你眼前吗(滑稽

                            资料领取方式:戳这里获取

转载请注明来自码农世界,本文标题:《基于web的图书管理系统设计与实现(可作为 毕业设计、课程设计 附演示地址)》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,83人围观)参与讨论

还没有评论,来说两句吧...

Top