千家信息网

Java怎么实现图书管理系统

发表于:2024-12-04 作者:千家信息网编辑
千家信息网最后更新 2024年12月04日,本篇内容主要讲解"Java怎么实现图书管理系统",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java怎么实现图书管理系统"吧!一、项目简述功能包括(管理员
千家信息网最后更新 2024年12月04日Java怎么实现图书管理系统

本篇内容主要讲解"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 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 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 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 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 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 books = bookService.getAllBooks();        ReaderCard readerCard = (ReaderCard) request.getSession().getAttribute("readercard");        ArrayList myAllLendList = lendService.myLendList(readerCard.getReaderId());        ArrayList 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怎么实现图书管理系统"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0