文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java怎么实现图书管理系统

2023-06-21 20:17

关注

本篇内容主要讲解“Java怎么实现图书管理系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java怎么实现图书管理系统”吧!

一、项目简述

功能包括(管理员和学生角色): 管理员和学生登录,图书管理,图书添加删除修改,图书 借阅,图书归还,图书查看,学生管理,借还管理,读者 管理,密码管理,信息修改等等功能。

二、项目运行

环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等。

读者信息控制器:

@Controllerpublic class ReaderController {    @Autowired    private ReaderInfoService readerInfoService;     @Autowired    private LoginService loginService;     @Autowired    private ReaderCardService readerCardService;     private ReaderInfo getReaderInfo(long readerId, String name, String sex, String birth, String address, String phone) {        ReaderInfo readerInfo = new ReaderInfo();        Date date = new Date();        try {            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");            date = df.parse(birth);        } catch (ParseException e) {            e.printStackTrace();        }        readerInfo.setAddress(address);        readerInfo.setName(name);        readerInfo.setReaderId(readerId);        readerInfo.setPhone(phone);        readerInfo.setSex(sex);        readerInfo.setBirth(date);        return readerInfo;    }     @RequestMapping("allreaders.html")    public ModelAndView allBooks() {        ArrayList<ReaderInfo> readers = readerInfoService.readerInfos();        ModelAndView modelAndView = new ModelAndView("admin_readers");        modelAndView.addObject("readers", readers);        return modelAndView;    }     @RequestMapping("reader_delete.html")    public String readerDelete(HttpServletRequest request, RedirectAttributes redirectAttributes) {        long readerId = Long.parseLong(request.getParameter("readerId"));        if (readerInfoService.deleteReaderInfo(readerId) && readerCardService.deleteReaderCard(readerId)) {            redirectAttributes.addFlashAttribute("succ", "删除成功!");        } else {            redirectAttributes.addFlashAttribute("error", "删除失败!");        }        return "redirect:/allreaders.html";    }     @RequestMapping("/reader_info.html")    public ModelAndView toReaderInfo(HttpServletRequest request) {        ReaderCard readerCard = (ReaderCard) request.getSession().getAttribute("readercard");        ReaderInfo readerInfo = readerInfoService.getReaderInfo(readerCard.getReaderId());        ModelAndView modelAndView = new ModelAndView("reader_info");        modelAndView.addObject("readerinfo", readerInfo);        return modelAndView;    }     @RequestMapping("reader_edit.html")    public ModelAndView readerInfoEdit(HttpServletRequest request) {        long readerId = Long.parseLong(request.getParameter("readerId"));        ReaderInfo readerInfo = readerInfoService.getReaderInfo(readerId);        ModelAndView modelAndView = new ModelAndView("admin_reader_edit");        modelAndView.addObject("readerInfo", readerInfo);        return modelAndView;    }     @RequestMapping("reader_edit_do.html")    public String readerInfoEditDo(HttpServletRequest request, String name, String sex, String birth, String address, String phone, RedirectAttributes redirectAttributes) {        long readerId = Long.parseLong(request.getParameter("readerId"));        ReaderInfo readerInfo = getReaderInfo(readerId, name, sex, birth, address, phone);        if (readerInfoService.editReaderInfo(readerInfo) && readerInfoService.editReaderCard(readerInfo)) {            redirectAttributes.addFlashAttribute("succ", "读者信息修改成功!");        } else {            redirectAttributes.addFlashAttribute("error", "读者信息修改失败!");        }        return "redirect:/allreaders.html";    }     @RequestMapping("reader_add.html")    public ModelAndView readerInfoAdd() {        return new ModelAndView("admin_reader_add");    }     @RequestMapping("reader_add_do.html")    public String readerInfoAddDo(String name, String sex, String birth, String address, String phone, String password, RedirectAttributes redirectAttributes) {        ReaderInfo readerInfo = getReaderInfo(0, name, sex, birth, address, phone);        long readerId = readerInfoService.addReaderInfo(readerInfo);        readerInfo.setReaderId(readerId);        if (readerId > 0 && readerCardService.addReaderCard(readerInfo, password)) {            redirectAttributes.addFlashAttribute("succ", "添加读者信息成功!");        } else {            redirectAttributes.addFlashAttribute("succ", "添加读者信息失败!");        }        return "redirect:/allreaders.html";    }     @RequestMapping("reader_info_edit.html")    public ModelAndView readerInfoEditReader(HttpServletRequest request) {        ReaderCard readerCard = (ReaderCard) request.getSession().getAttribute("readercard");        ReaderInfo readerInfo = readerInfoService.getReaderInfo(readerCard.getReaderId());        ModelAndView modelAndView = new ModelAndView("reader_info_edit");        modelAndView.addObject("readerinfo", readerInfo);        return modelAndView;    }     @RequestMapping("reader_edit_do_r.html")    public String readerInfoEditDoReader(HttpServletRequest request, String name, String sex, String birth, String address, String phone, RedirectAttributes redirectAttributes) {        ReaderCard readerCard = (ReaderCard) request.getSession().getAttribute("readercard");        ReaderInfo readerInfo = getReaderInfo(readerCard.getReaderId(), name, sex, birth, address, phone);        if (readerInfoService.editReaderInfo(readerInfo) && readerInfoService.editReaderCard(readerInfo)) {            ReaderCard readerCardNew = loginService.findReaderCardByReaderId(readerCard.getReaderId());            request.getSession().setAttribute("readercard", readerCardNew);            redirectAttributes.addFlashAttribute("succ", "信息修改成功!");        } else {            redirectAttributes.addFlashAttribute("error", "信息修改失败!");        }        return "redirect:/reader_info.html";    }}

登陆控制层:

@Controllerpublic class LoginController {     private LoginService loginService;      @Autowired    public void setLoginService(LoginService loginService) {        this.loginService = loginService;    }      @RequestMapping(value = {"/", "/login.html"})    public String toLogin(HttpServletRequest request) {        request.getSession().invalidate();        return "index";    }     @RequestMapping("/logout.html")    public String logout(HttpServletRequest request) {        request.getSession().invalidate();        return "redirect:/login.html";    }      //负责处理loginCheck.html请求    //请求参数会根据参数名称默认契约自动绑定到相应方法的入参中    @RequestMapping(value = "/api/loginCheck", method = RequestMethod.POST)    public @ResponseBody    Object loginCheck(HttpServletRequest request) {        long id = Long.parseLong(request.getParameter("id"));        String passwd = request.getParameter("passwd");        boolean isReader = loginService.hasMatchReader(id, passwd);        boolean isAdmin = loginService.hasMatchAdmin(id, passwd);        HashMap<String, String> res = new HashMap<>();        if (isAdmin) {            Admin admin = new Admin();            admin.setAdminId(id);            admin.setPassword(passwd);            String username = loginService.getAdminUsername(id);            admin.setUsername(username);            request.getSession().setAttribute("admin", admin);            res.put("stateCode", "1");            res.put("msg", "管理员登陆成功!");        } else if (isReader) {            ReaderCard readerCard = loginService.findReaderCardByReaderId(id);            request.getSession().setAttribute("readercard", readerCard);            res.put("stateCode", "2");            res.put("msg", "读者登陆成功!");        } else {            res.put("stateCode", "0");            res.put("msg", "账号或密码错误!");        }        return res;    }     @RequestMapping("/admin_main.html")    public ModelAndView toAdminMain(HttpServletResponse response) {        return new ModelAndView("admin_main");    }     @RequestMapping("/reader_main.html")    public ModelAndView toReaderMain(HttpServletResponse response) {        return new ModelAndView("reader_main");    }     @RequestMapping("/admin_repasswd.html")    public ModelAndView reAdminPasswd() {        return new ModelAndView("admin_repasswd");    }     @RequestMapping("/admin_repasswd_do")    public String reAdminPasswdDo(HttpServletRequest request, String oldPasswd, String newPasswd, String reNewPasswd, RedirectAttributes redirectAttributes) {        Admin admin = (Admin) request.getSession().getAttribute("admin");        long id = admin.getAdminId();        String password = loginService.getAdminPassword(id);        if (password.equals(oldPasswd)) {            if (loginService.adminRePassword(id, newPasswd)) {                redirectAttributes.addFlashAttribute("succ", "密码修改成功!");                return "redirect:/admin_repasswd.html";            } else {                redirectAttributes.addFlashAttribute("error", "密码修改失败!");                return "redirect:/admin_repasswd.html";            }        } else {            redirectAttributes.addFlashAttribute("error", "旧密码错误!");            return "redirect:/admin_repasswd.html";        }    }     @RequestMapping("/reader_repasswd.html")    public ModelAndView reReaderPasswd() {        return new ModelAndView("reader_repasswd");    }     @RequestMapping("/reader_repasswd_do")    public String reReaderPasswdDo(HttpServletRequest request, String oldPasswd, String newPasswd, String reNewPasswd, RedirectAttributes redirectAttributes) {        ReaderCard reader = (ReaderCard) request.getSession().getAttribute("readercard");        long id = reader.getReaderId();        String password = loginService.getReaderPassword(id);        if (password.equals(oldPasswd)) {            if (loginService.readerRePassword(id, newPasswd)) {                redirectAttributes.addFlashAttribute("succ", "密码修改成功!");                return "redirect:/reader_repasswd.html";            } else {                redirectAttributes.addFlashAttribute("error", "密码修改失败!");                return "redirect:/reader_repasswd.html";            }        } else {            redirectAttributes.addFlashAttribute("error", "旧密码错误!");            return "redirect:/reader_repasswd.html";        }    }     //配置404页面    @RequestMapping("*")    public String notFind() {        return "404";    } }

图书控制层:

@Controllerpublic class BookController {    @Autowired    private BookService bookService;    @Autowired    private LendService lendService;     private Date getDate(String pubstr) {        try {            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");            return df.parse(pubstr);        } catch (ParseException e) {            e.printStackTrace();            return new Date();        }    }     @RequestMapping("/queryBook.html")    public ModelAndView queryBookDo(String searchWord) {        if (bookService.matchBook(searchWord)) {            ArrayList<Book> books = bookService.queryBook(searchWord);            ModelAndView modelAndView = new ModelAndView("admin_books");            modelAndView.addObject("books", books);            return modelAndView;        } else {            return new ModelAndView("admin_books", "error", "没有匹配的图书");        }    }     @RequestMapping("/reader_querybook_do.html")    public ModelAndView readerQueryBookDo(String searchWord) {        if (bookService.matchBook(searchWord)) {            ArrayList<Book> books = bookService.queryBook(searchWord);            ModelAndView modelAndView = new ModelAndView("reader_books");            modelAndView.addObject("books", books);            return modelAndView;        } else {            return new ModelAndView("reader_books", "error", "没有匹配的图书");        }    }     @RequestMapping("/admin_books.html")    public ModelAndView adminBooks() {        ArrayList<Book> books = bookService.getAllBooks();        ModelAndView modelAndView = new ModelAndView("admin_books");        modelAndView.addObject("books", books);        return modelAndView;    }     @RequestMapping("/book_add.html")    public ModelAndView addBook() {        return new ModelAndView("admin_book_add");    }     @RequestMapping("/book_add_do.html")    public String addBookDo(@RequestParam(value = "pubstr") String pubstr, Book book, RedirectAttributes redirectAttributes) {        book.setPubdate(getDate(pubstr));        if (bookService.addBook(book)) {            redirectAttributes.addFlashAttribute("succ", "图书添加成功!");        } else {            redirectAttributes.addFlashAttribute("succ", "图书添加失败!");        }        return "redirect:/admin_books.html";    }     @RequestMapping("/updatebook.html")    public ModelAndView bookEdit(HttpServletRequest request) {        long bookId = Long.parseLong(request.getParameter("bookId"));        Book book = bookService.getBook(bookId);        ModelAndView modelAndView = new ModelAndView("admin_book_edit");        modelAndView.addObject("detail", book);        return modelAndView;    }     @RequestMapping("/book_edit_do.html")    public String bookEditDo(@RequestParam(value = "pubstr") String pubstr, Book book, RedirectAttributes redirectAttributes) {        book.setPubdate(getDate(pubstr));        if (bookService.editBook(book)) {            redirectAttributes.addFlashAttribute("succ", "图书修改成功!");        } else {            redirectAttributes.addFlashAttribute("error", "图书修改失败!");        }        return "redirect:/admin_books.html";    }     @RequestMapping("/admin_book_detail.html")    public ModelAndView adminBookDetail(HttpServletRequest request) {        long bookId = Long.parseLong(request.getParameter("bookId"));        Book book = bookService.getBook(bookId);        ModelAndView modelAndView = new ModelAndView("admin_book_detail");        modelAndView.addObject("detail", book);        return modelAndView;    }     @RequestMapping("/reader_book_detail.html")    public ModelAndView readerBookDetail(HttpServletRequest request) {        long bookId = Long.parseLong(request.getParameter("bookId"));        Book book = bookService.getBook(bookId);        ModelAndView modelAndView = new ModelAndView("reader_book_detail");        modelAndView.addObject("detail", book);        return modelAndView;    }     @RequestMapping("/admin_header.html")    public ModelAndView admin_header() {        return new ModelAndView("admin_header");    }     @RequestMapping("/reader_header.html")    public ModelAndView reader_header() {        return new ModelAndView("reader_header");    }     @RequestMapping("/reader_books.html")    public ModelAndView readerBooks(HttpServletRequest request) {        ArrayList<Book> books = bookService.getAllBooks();        ReaderCard readerCard = (ReaderCard) request.getSession().getAttribute("readercard");        ArrayList<Lend> myAllLendList = lendService.myLendList(readerCard.getReaderId());        ArrayList<Long> myLendList = new ArrayList<>();        for (Lend lend : myAllLendList) {            // 是否已归还            if (lend.getBackDate() == null) {                myLendList.add(lend.getBookId());            }        }        ModelAndView modelAndView = new ModelAndView("reader_books");        modelAndView.addObject("books", books);        modelAndView.addObject("myLendList", myLendList);        return modelAndView;    }}

借书控制层:

@Controllerpublic class LendController {    @Autowired    private LendService lendService;     @Autowired    private BookService bookService;     @RequestMapping("/deletebook.html")    public String deleteBook(HttpServletRequest request, RedirectAttributes redirectAttributes) {        long bookId = Long.parseLong(request.getParameter("bookId"));        if (bookService.deleteBook(bookId)) {            redirectAttributes.addFlashAttribute("succ", "图书删除成功!");        } else {            redirectAttributes.addFlashAttribute("error", "图书删除失败!");        }        return "redirect:/admin_books.html";    }     @RequestMapping("/lendlist.html")    public ModelAndView lendList(HttpServletRequest request) {        ModelAndView modelAndView = new ModelAndView("admin_lend_list");        modelAndView.addObject("list", lendService.lendList());        return modelAndView;    }     @RequestMapping("/mylend.html")    public ModelAndView myLend(HttpServletRequest request) {        ReaderCard readerCard = (ReaderCard) request.getSession().getAttribute("readercard");        ModelAndView modelAndView = new ModelAndView("reader_lend_list");        modelAndView.addObject("list", lendService.myLendList(readerCard.getReaderId()));        return modelAndView;    }     @RequestMapping("/deletelend.html")    public String deleteLend(HttpServletRequest request, RedirectAttributes redirectAttributes) {        long serNum = Long.parseLong(request.getParameter("serNum"));        if (lendService.deleteLend(serNum) > 0) {            redirectAttributes.addFlashAttribute("succ", "记录删除成功!");        } else {            redirectAttributes.addFlashAttribute("error", "记录删除失败!");        }        return "redirect:/lendlist.html";    }     @RequestMapping("/lendbook.html")    public String bookLend(HttpServletRequest request, RedirectAttributes redirectAttributes) {        long bookId = Long.parseLong(request.getParameter("bookId"));        long readerId = ((ReaderCard) request.getSession().getAttribute("readercard")).getReaderId();        if (lendService.lendBook(bookId, readerId)) {            redirectAttributes.addFlashAttribute("succ", "图书借阅成功!");        } else {            redirectAttributes.addFlashAttribute("succ", "图书借阅成功!");        }        return "redirect:/reader_books.html";    }     @RequestMapping("/returnbook.html")    public String bookReturn(HttpServletRequest request, RedirectAttributes redirectAttributes) {        long bookId = Long.parseLong(request.getParameter("bookId"));        long readerId = ((ReaderCard) request.getSession().getAttribute("readercard")).getReaderId();        if (lendService.returnBook(bookId, readerId)) {            redirectAttributes.addFlashAttribute("succ", "图书归还成功!");        } else {            redirectAttributes.addFlashAttribute("error", "图书归还失败!");        }        return "redirect:/reader_books.html";    }}

到此,相信大家对“Java怎么实现图书管理系统”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯