Java+JSP+Mysql+Tomcat实现Web图书管理系统 您所在的位置:网站首页 jsp程序设计实例教程 Java+JSP+Mysql+Tomcat实现Web图书管理系统

Java+JSP+Mysql+Tomcat实现Web图书管理系统

2024-06-06 22:17| 来源: 网络整理| 查看: 265

图书管理系统 一、系统介绍1.软件环境2.功能模块图3.系统功能4.数据库表5.工程截图 二、系统展示1.系统注册2.系统登录3.找回密码4.管理员-主页5.管理员-用户管理主页6.管理员-新增用户7.管理员-修改用户8.管理员-借阅信息管理9.管理员-图书管理主页10.管理员-新增图书11.管理员-修改图书12.用户-主页13.用户-图书明细查看14.用户-新增留言15.用户-借阅信息管理16.用户-书架管理 三、代码实现BookUserRecordCommentBookShelfBookDaoBookShelfDaoCommentDaoRecordDaoUserDaoBookServiceBookShelfServiceCommentServiceRecordServicelogin.jsplogin-do-info.jsplogin-fail.jsplogout.jspregister.jspregister-do.jspsearch-password.jspsearch-password-do.jspsearch-password-info.jspadmin-home.jspadmin-book-add.jspadmin-book-delete.jspadmin-book-update.jspadmin-user-add.jspadmin-user-delete.jspadmin-user-update.jspuser-home.jspuser-comment-add.jsp 四、其他1.其他系统实现Java+JSP系统系列实现Java+Servlet+JSP系统系列实现Java+SSM系统系列实现Java+SSH系统系列实现Java+Springboot系统系列实现JavaSwing+Mysql系统系列实现JavaSwing+Txt系统系列实现 2.获取源码3.功能演示及实现视频4.备注5.联系博主

一、系统介绍 1.软件环境

IDEA:2018.2 Java:jdk1.8 Mysql:8.0.13 Tomcat:8.5.23

2.功能模块图

在这里插入图片描述

3.系统功能

1.系统的注册、登录、注销 2.读者信息管理 系统管理员可以对读者信息进行查询、添加、修改、删除等操作。 3.图书信息管理 系统管理员可以对图书信息进行查询、添加、修改、删除等操作。 4.借阅信息管理 管理管理可以对借阅信息进行查询和删除操作,用户可以对借阅信息进行新增、查看操作。 5.个人书架管理 用户对个人书架的新增、删处、查看操作。 6.留言管理 用户可以对留言进行新增、查看操作。

4.数据库表

1.读者表 在这里插入图片描述 2.借阅信息表 在这里插入图片描述 3.评论留言表 在这里插入图片描述 4.图书表 在这里插入图片描述 5.书架表 在这里插入图片描述

5.工程截图

在这里插入图片描述

二、系统展示 1.系统注册

在这里插入图片描述

2.系统登录

在这里插入图片描述

3.找回密码

在这里插入图片描述

4.管理员-主页

在这里插入图片描述

5.管理员-用户管理主页

在这里插入图片描述

6.管理员-新增用户

在这里插入图片描述

7.管理员-修改用户

在这里插入图片描述

8.管理员-借阅信息管理

在这里插入图片描述

9.管理员-图书管理主页

在这里插入图片描述

10.管理员-新增图书

在这里插入图片描述

11.管理员-修改图书

在这里插入图片描述

12.用户-主页

在这里插入图片描述

13.用户-图书明细查看

在这里插入图片描述

14.用户-新增留言

在这里插入图片描述

15.用户-借阅信息管理

在这里插入图片描述

16.用户-书架管理

在这里插入图片描述

三、代码实现 Book package com.sjsq.po; import java.io.Serializable; import java.util.Date; /** * @author shuijianshiqing * @date 2020/5/19 22:40 */ public class Book implements Serializable { private static final long serialVersionUID = 1L; private Integer bookid; private String bookname; private Double price; private String author; private String publish; private Integer categoryid; private String booklink; private Date deadline; public static long getSerialVersionUID() { return serialVersionUID; } public Integer getBookid() { return bookid; } public void setBookid(Integer bookid) { this.bookid = bookid; } public String getBookname() { return bookname; } public void setBookname(String bookname) { this.bookname = bookname; } public Double getPrice() { return price; } public void setPrice(Double price) { this.price = price; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public String getPublish() { return publish; } public void setPublish(String publish) { this.publish = publish; } public Integer getCategoryid() { return categoryid; } public void setCategoryid(Integer categoryid) { this.categoryid = categoryid; } public String getBooklink() { return booklink; } public void setBooklink(String booklink) { this.booklink = booklink; } public Date getDeadline() { return deadline; } public void setDeadline(Date deadline) { this.deadline = deadline; } @Override public String toString() { return "Book{" + "bookid=" + bookid + ", bookname='" + bookname + '\'' + ", price=" + price + ", author='" + author + '\'' + ", publish='" + publish + '\'' + ", categoryid=" + categoryid + ", booklink='" + booklink + '\'' + ", deadline=" + deadline + '}'; } } User package com.sjsq.po; import java.io.Serializable; /** * @author shuijianshiqing * @date 2020/5/19 22:19 * 用户的实体类 */ public class User implements Serializable { // 增加序列号,作用是反序列化的时候不会报错,切能进行IO的持久化 public static final long serialVersionUID = 1L; private Integer userid; private String username; private String password; private String email; private String phone; private Integer isadmin; public static long getSerialVersionUID() { return serialVersionUID; } public Integer getUserid() { return userid; } public void setUserid(Integer userid) { this.userid = userid; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public Integer getIsadmin() { return isadmin; } public void setIsadmin(Integer isadmin) { this.isadmin = isadmin; } @Override public String toString() { return "User{" + "userid=" + userid + ", username='" + username + '\'' + ", password='" + password + '\'' + ", email='" + email + '\'' + ", phone='" + phone + '\'' + ", isadmin=" + isadmin + '}'; } } Record package com.sjsq.po; import java.util.Date; /** * @author shuijianshiqing * @date 2021/5/22 22:05 * 借阅记录实体类 */ public class Record { private Integer borrowid; private Integer userid; private Integer bookid; private String bookname; private String booklink; private Date borrowtime; public Integer getBorrowid() { return borrowid; } public void setBorrowid(Integer borrowid) { this.borrowid = borrowid; } public Integer getUserid() { return userid; } public void setUserid(Integer userid) { this.userid = userid; } public Integer getBookid() { return bookid; } public void setBookid(Integer bookid) { this.bookid = bookid; } public String getBookname() { return bookname; } public void setBookname(String bookname) { this.bookname = bookname; } public String getBooklink() { return booklink; } public void setBooklink(String booklink) { this.booklink = booklink; } public Date getBorrowtime() { return borrowtime; } public void setBorrowtime(Date borrowtime) { this.borrowtime = borrowtime; } @Override public String toString() { return "Record{" + "borrowid=" + borrowid + ", userid=" + userid + ", bookid=" + bookid + ", bookname='" + bookname + '\'' + ", booklink='" + booklink + '\'' + ", borrowtime=" + borrowtime + '}'; } } Comment package com.sjsq.po; import java.sql.Time; import java.util.Date; /** * @author shuijianshiqing * @date 2021/5/22 17:18 * * 留言表 */ public class Comment { private Integer commentid; private Integer userid; private String username; private Integer bookid; private String bookname; private String comment; private Date time; public Integer getCommentid() { return commentid; } public void setCommentid(Integer commentid) { this.commentid = commentid; } public Integer getUserid() { return userid; } public void setUserid(Integer userid) { this.userid = userid; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public Integer getBookid() { return bookid; } public void setBookid(Integer bookid) { this.bookid = bookid; } public String getBookname() { return bookname; } public void setBookname(String bookname) { this.bookname = bookname; } public String getComment() { return comment; } public void setComment(String comment) { this.comment = comment; } public Date getTime() { return time; } public void setTime(Date time) { this.time = time; } @Override public String toString() { return "Comment{" + "commentid=" + commentid + ", userid=" + userid + ", username='" + username + '\'' + ", bookid=" + bookid + ", bookname='" + bookname + '\'' + ", comment='" + comment + '\'' + ", time=" + time + '}'; } } BookShelf package com.sjsq.po; import java.util.Date; /** * @author shuijianshiqing * @date 2021/5/22 12:21 * 书架类 */ public class BookShelf { private Integer id; private Integer userid; private Integer bookid; private String bookname; private String booklink; private Date adddate; private Date removedate; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getUserid() { return userid; } public void setUserid(Integer userid) { this.userid = userid; } public Integer getBookid() { return bookid; } public void setBookid(Integer bookid) { this.bookid = bookid; } public String getBookname() { return bookname; } public void setBookname(String bookname) { this.bookname = bookname; } public String getBooklink() { return booklink; } public void setBooklink(String booklink) { this.booklink = booklink; } public Date getAdddate() { return adddate; } public void setAdddate(Date adddate) { this.adddate = adddate; } public Date getRemovedate() { return removedate; } public void setRemovedate(Date removedate) { this.removedate = removedate; } @Override public String toString() { return "BookShelf{" + "id=" + id + ", userid=" + userid + ", bookid=" + bookid + ", bookname='" + bookname + '\'' + ", booklink='" + booklink + '\'' + ", adddate=" + adddate + ", removedate=" + removedate + '}'; } } BookDao package com.sjsq.dao; import com.sjsq.po.Book; import java.util.List; /** * @author shuijianshiqing * @date 2020/5/20 23:13 * 图书信息接口 */ public interface BookDao { /** * 查询图书信息 * @param sql * @param arr * @return */ public List select(String sql, Object[] arr); /** * 根据图书编号进行查询 * @param bookid * @return */ public Book getBook(Integer bookid); /** * 图书新增 * @param book * @return */ public boolean addBook(Book book); /** * 图书修改 * @param book * @return */ public boolean updateBook(Book book); /** * 删除图书 * @param bookid * @return */ public boolean deleteBook(Integer bookid); } BookShelfDao package com.sjsq.dao; import com.sjsq.po.BookShelf; import java.util.List; /** * @author shuijianshiqing * @date 2021/5/22 12:23 */ public interface BookShelfDao { /** * 按照用户名检索书架 * @param userid * @return */ public List selectBookShelf(Integer userid); /** * 加入书架 * @param bookShelf * @return */ public boolean addBookShelf(BookShelf bookShelf); /** * 移出书架 * @param userid * @param bookid * @return */ public boolean removeBookShelf(Integer userid,Integer bookid); } CommentDao package com.sjsq.dao; import com.sjsq.po.Comment; import java.util.List; /** * @author shuijianshiqing * @date 2021/5/22 17:21 */ public interface CommentDao { /** * 添加留言 * @param comment * @return */ public boolean addComment(Comment comment); /** * 展示留言 * @param bookid * @return */ public List selectComment(Integer bookid); } RecordDao package com.sjsq.dao; import com.sjsq.po.Record; import java.util.List; /** * @author shuijianshiqing * @date 2021/5/22 22:07 */ public interface RecordDao { /** * 查询所有借阅信息 * @return */ public List selectRecords(); /** * 查询借阅信息 * @return */ public List selectRecord(Integer userid); /** * 新增借阅记录 * @param record * @return */ public boolean addRecord(Record record); /** * 删除借阅记录 * @param borrowid * @return */ public boolean deleteRecord(Integer borrowid); } UserDao package com.sjsq.dao; import com.sjsq.po.User; import java.util.List; /** * @author shuijianshiqing * @date 2020/5/20 22:10 * 创建一个接口用于声明用户登录注册的方法 */ public interface UserDao { /** * 用户登录 * @param user * @return */ public User login(User user); /** * 用户注册 * @param user * @return */ public boolean register(User user); /** * 查询用户信息 * @param sql * @param arr * @return */ public List selectUser(String sql, Object arr[]); /** * 根据用户编号进行查询 * @param userid * @return */ public User getUser(Integer userid); /** * 新增用户 * @param user * @return */ public boolean addUser(User user); /** * 修改用户 * @param user * @return */ public boolean updateUser(User user); /** * 删除用户 * @param userid * @return */ public boolean deleteUser(Integer userid); } BookService package com.sjsq.service; import com.sjsq.po.Book; import java.util.List; /** * @author shuijianshiqing * @date 2020/5/20 23:37 * Book的Service层 */ public interface BookService { /** * 查询图书信息 * @param bookname * @return */ public List select(String bookname); /** * 根据图书编号进行查询 * @param id * @return */ public Book getBook(Integer id); /** * 图书新增 * @param book * @return */ public boolean addBook(Book book); /** * 图书修改 * @param book * @return */ public boolean updateBook(Book book); /** * 删除图书 * @param bookid * @return */ public boolean deleteBook(Integer bookid); } BookShelfService package com.sjsq.service; import com.sjsq.po.BookShelf; import java.util.List; /** * @author shuijianshiqing * @date 2021/5/22 12:36 */ public interface BookShelfService { /** * 按照用户名检索书架 * @param userid * @return */ public List selectBookShelf(Integer userid); /** * 加入书架 * @param bookShelf * @return */ public boolean addBookShelf(BookShelf bookShelf); /** * 移出书架 * @param userid * @param bookid * @return */ public boolean removeBookShelf(Integer userid,Integer bookid); } CommentService package com.sjsq.service; import com.sjsq.po.Comment; import java.util.List; /** * @author shuijianshiqing * @date 2021/5/22 17:21 */ public interface CommentService { /** * 添加留言 * @param comment * @return */ public boolean addComment(Comment comment); /** * 展示留言 * @param bookid * @return */ public List selectComment(Integer bookid); } RecordService package com.sjsq.service; import com.sjsq.po.Record; import java.util.List; /** * @author shuijianshiqing * @date 2021/5/22 22:17 */ public interface RecordService { /** * 查询所有借阅信息 * @return */ public List selectRecords(); /** * 查询借阅信息 * @return */ public List selectRecord(Integer userid); /** * 新增借阅记录 * @param record * @return */ public boolean addRecord(Record record); /** * 删除借阅记录 * @param borrowid * @return */ public boolean deleteRecord(Integer borrowid); } login.jsp DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 用户登录 h1{ text-align: center; } h4{ text-align: center;color: red; } body{ background-color: antiquewhite; } a{ text-decoration: none;font-size: 20px;color: black; } a:hover{ text-decoration: underline;font-size: 24px;color: red; } 用户登录 账号: 密码: 找回密码 注册 login-do-info.jsp DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 用户登录 h1 { text-align: center; } h4 { text-align: center; color: red; } body { background-color: antiquewhite; } 现存图书列表 login-fail.jsp 登录失败 h1{ text-align: center; } h4{ text-align: center;color: red; } body{ background-color: antiquewhite; } div{ text-align: center; } 登录失败 返回登录 logout.jsp 退出登录 register.jsp DOCTYPE html> 用户注册 h1{ text-align: center; } h4{ text-align: center;color: red; } body{ background-color: antiquewhite; } div{ text-align: center; } 用户注册 您的账号: 您的密码: 确认密码: 电话号码: 电子邮件: 注册 重置 登录 function checkForm() { var name = registerForm.name.value; var pwd = registerForm.password.value; var repwd = registerForm.relpassword.value; //alert(name + pwd + repwd); if (name == "" || name == null) { alert("请输入用户名"); registerForm.name.focus(); return false; } else if (pwd == "" || pwd == null) { alert("请输入密码"); registerForm.password.focus(); return false; } else if (repwd == "" || repwd == null) { alert("请输入确认密码"); registerForm.relpassword.focus(); return false; } else if (pwd != repwd) { alert("两次密码输入不一致,请重新输入!"); registerForm.relpassword.focus(); return false; } alert('注册成功!'); return true; } register-do.jsp DOCTYPE html> 处理注册 search-password.jsp DOCTYPE html> 找回密码 h1{ text-align: center; } div{ text-align: center; } body{ background-color:antiquewhite; } 找回密码 返回上一级 请输入账号: search-password-do.jsp DOCTYPE html> 处理找回密码 search-password-info.jsp DOCTYPE html> 弹出信息 alert("您的密码是:${user.password}"); h1{ text-align: center; } div{ text-align: center; } 您的密码是:${user.password} 返回登录 admin-home.jsp DOCTYPE html> 管理员主页 body { background-color: antiquewhite; text-align: center; } 欢迎来到图书管理系统 管理员操作 管理用户 管理图书 admin-book-add.jsp DOCTYPE html> 新增图书 h1 { text-align: center; } h4 { text-align: center; color: red; } body { background-color: antiquewhite; } div { text-align: center; } #before { text-align: center; } 新增图书 返回上一级 图书名称: 图书价格: 图书作者: 出版公司: 类型编号: 书籍链接: 添加 重置 function checkForm() { var bookname = registerForm.bookname.value; var price = registerForm.price.value; if (bookname == "" || bookname == null) { alert("请输入图书名称"); registerForm.bookname.focus(); return false; } else if (price == "" || price == null) { alert("请输入图书价格"); registerForm.price.focus(); return false; } alert('添加成功!'); return true; } admin-book-delete.jsp 删除图书 #before { text-align: center; } body { background-color: antiquewhite; } admin-book-update.jsp DOCTYPE html> 修改图书 h1 { text-align: center; } h4 { text-align: center; color: red; } body { background-color: antiquewhite; } div { text-align: center; } 修改图书 图书名称: 图书价格: 图书作者: 出版公司: 类型编号: 书籍链接: 修改 重置 function checkForm() { var bookname = registerForm.bookname.value; var price = registerForm.price.value; //alert(name + pwd + repwd); if (bookname == "" || bookname == null) { alert("请输入图书名称"); registerForm.bookname.focus(); return false; } else if (price == "" || price == null) { alert("请输入图书价格"); registerForm.price.focus(); return false; } alert('修改成功!'); return true; } admin-user-add.jsp DOCTYPE html> 新增用户 h1 { text-align: center; } h4 { text-align: center; color: red; } body { background-color: antiquewhite; } div { text-align: center; } #before { text-align: center; } 新增用户 返回上一级 账号: 密码: 邮箱: 电话: 是否管理员: 添加 重置 function checkForm() { var username = registerForm.username.value; var password = registerForm.password.value; if (username == "" || username == null) { alert("请输入用户名"); registerForm.username.focus(); return false; } else if (password == "" || password == null) { alert("请输入密码"); registerForm.password.focus(); return false; } alert('添加成功!'); return true; } admin-user-delete.jsp 删除用户 #before { text-align: center; } body { background-color: antiquewhite; } admin-user-update.jsp DOCTYPE html> 修改用户 h1 { text-align: center; } h4 { text-align: center; color: red; } body { background-color: antiquewhite; } div { text-align: center; } 修改用户 编号: 用户: 密码: 邮箱: 电话: 是否管理员: 修改 重置 function checkForm() { var password = registerForm.password.value; if (password == "" || password == null) { alert("请输入密码"); registerForm.password.focus(); return false; } alert('修改成功!'); return true; } user-home.jsp DOCTYPE html> 查看图书 h1 { text-align: center; } #before { text-align: center; } 图书列表 请输入书名: 返回上一级 编号 书名 价格 作者 出版社 user-comment-add.jsp 加入书架 body { background-color: antiquewhite; } 四、其他 1.其他系统实现 Java+JSP系统系列实现

Java+JSP实现学生图书管理系统 Java+JSP实现学生信息管理系统 Java+JSP实现用户信息管理系统

Java+Servlet+JSP系统系列实现

Java+Servlet+JSP实现航空订票系统 Java+Servlet+JSP实现新闻发布系统 Java+Servlet+JSP实现图书管理系统 Java+Servlet+JSP实现停车场管理系统 Java+Servlet+JSP实现房屋租赁管理系统 Java+Servlet+JSP实现学生选课管理系统 Java+Servlet+JSP实现宠物诊所管理系统 Java+Servlet+JSP实现学生宿舍管理系统 Java+Servlet+JSP实现学生信息管理系统 Java+Servlet+JSP实现学生成绩管理系统1 Java+Servlet+JSP实现学生成绩管理系统2

Java+SSM系统系列实现

Java+SSM+JSP实现宠物商城系统 Java+SSM+JSP实现超市订单系统 Java+SSM+Easyui实现网上考试系统 Java+SSM+Layui实现学生成绩管理系统 Java+SSM+Bootstrap实现学生信息管理系统 Java+SSM+Bootstrap+Maven实现网上书城系统 Java+SSM+Bootstrap+Maven实现学校教务管理系统

Java+SSH系统系列实现

Java+SSH+Bootstrap实现在线考试系统 Java+SSH+JSP实现医院在线挂号系统

Java+Springboot系统系列实现

Java+Springboot+H-ui实现营销管理系统 Java+Springboot+Bootstrap实现网上商城系统 Java+Springboot+Bootstrap+Maven实现景区旅游管理系统

JavaSwing+Mysql系统系列实现

Java+Swing实现斗地主游戏 Java+Swing实现图书管理系统 Java+Swing实现医院管理系统 Java+Swing实现考试管理系统 Java+Swing实现酒店管理系统 Java+Swing实现超市管理系统 Java+Swing实现网上订餐系统 Java+Swing实现电影购票系统 Java+Swing实现仓库管理系统1 Java+Swing实现仓库管理系统2 Java+Swing实现进销存管理系统 Java+Swing实现通讯录管理系统 Java+Swing实现停车场管理系统 Java+Swing实现学生宿舍管理系统 Java+Swing实现学生选课管理系统 Java+Swing实现学生成绩管理系统 Java+Swing实现学校教材管理系统 Java+Swing实现学校教务管理系统 Java+Swing实现企业人事管理系统 Java+Swing实现电子相册管理系统 Java+Swing实现学生信息管理系统1 Java+Swing实现学生信息管理系统2 Java+Swing实现自助取款机(ATM)系统

JavaSwing+Txt系统系列实现

Java+Swing实现超市管理系统-TXT存储信息 Java+Swing实现宠物商店管理系统-TXT存储信息 Java+Swing实现自助取款机(ATM)系统-TXT存储信息

2.获取源码

点击以下链接获取源码,数据库文件在sql文件下面。 Java+JSP+Mysql实现Web学生图书管理系统

3.功能演示及实现视频

有需要可以关住账号 手把手教你写图书管理系统-第1节-系统功能演示 手把手教你写图书管理系统-第2节-系统功能说明 手把手教你写图书管理系统-第3节-数据库设计

4.备注

如有侵权请联系我删除。

5.联系博主

左侧关注微信公众号,里面有Java教程和一些Java资源。如果此文对您有帮助,请关注加点赞,谢谢!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有