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

}

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


<%@ page contentType=“text/html;charset=UTF-8” language=“java” pageEncoding=“UTF-8” %>

<%

// 获取绝对路径路径 ,开发项目一定要使用绝对路径,不然肯定出错

String path = request.getContextPath();

String basePath = request.getScheme() + “😕/” + request.getServerName() + “:”

  • request.getServerPort() + path + “/”;

%>

用户登录

用户登录


账号: 密码: 找回密码

注册

login-do-info.jsp


<%@ page contentType=“text/html;charset=UTF-8” language=“java” pageEncoding=“UTF-8” %>

<%@ page import=“com.sjsq.dao.UserDao” %>

<%@ page import=“com.sjsq.dao.impl.UserDaoImpl” %>

<%@ page import=“com.sjsq.po.User” %>

<%@ page import=“com.sjsq.service.UserService” %>

<%@ page import=“com.sjsq.service.impl.UserServiceImpl” %>

<%@ page import=“java.util.List” %>

<%

// 获取绝对路径路径 ,开发项目一定要使用绝对路径,不然肯定出错

String path = request.getContextPath();

String basePath = request.getScheme() + “😕/” + request.getServerName() + “:”

  • request.getServerPort() + path + “/”;

%>

用户登录

现存图书列表


<%

// 设置接收的编码为UTF-8

request.setCharacterEncoding(“utf-8”);

User user = new User();

UserDao dao = new UserDaoImpl();

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

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

user.setUsername(username);

user.setPassword(password);

// 获取用户登录信息

User us = dao.login(user);

// 把数据库里面的User获取出来

UserService service = new UserServiceImpl();

List list = service.selectUser(username);

for (int i = 0; i < list.size(); i++) {

user = list.get(i);

}

System.out.println(“----us的信息----”);

System.out.println(us);

// 设置会话

session.setAttribute(“user”, user);

// 这里要对us判空处理,1是管理者,0是学生,此处的isadmin必须填写不能为空。

if (us != null && us.getIsadmin().equals(1)) {

response.sendRedirect(“admin-home.jsp”);

} else if (us != null && !us.getIsadmin().equals(1)) {

response.sendRedirect(“user-home.jsp”);

} else {

response.sendRedirect(“login-fail.jsp”);

}

%>

login-fail.jsp


<%@ page contentType=“text/html;charset=UTF-8” language=“java” pageEncoding=“UTF-8”%>

登录失败

登录失败


返回登录

logout.jsp


<%@ page contentType=“text/html;charset=UTF-8” language=“java” pageEncoding=“UTF-8” %>

退出登录

<%

// 杀掉会话

session.invalidate();

// 重定向,地址栏的链接会发生改变

response.sendRedirect(“login.jsp”);

%>

register.jsp


<%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8” %>

用户注册

用户注册


注册

重置

登录

register-do.jsp


<%@ page contentType=“text/html;charset=UTF-8” language=“java” pageEncoding=“UTF-8”%>

<%@page import=“com.sjsq.dao.impl.UserDaoImpl”%>

<%@page import=“com.sjsq.dao.UserDao”%>

<%@page import=“com.sjsq.po.User”%>

处理注册

<%

// 设置获取注册时的编码为UTF-8

request.setCharacterEncoding(“UTF-8”);

User user=new User();

//获取register.jsp页面提交的账号和密码

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

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

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

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

//获取register.jsp页面提交的账号和密码设置到实体类User中

user.setUsername(name);

user.setPassword(password);

user.setEmail(email);

user.setPhone(phone);

//引入数据交互层

UserDao dao=new UserDaoImpl();

boolean flag=dao.register(user);

if(flag){

response.sendRedirect(“login.jsp”);

}else{

response.sendRedirect(“register.jsp”);

}

%>

search-password.jsp


<%@ page contentType=“text/html;charset=UTF-8” language=“java” pageEncoding=“UTF-8” %>

<%

// 获取绝对路径路径 ,开发项目一定要使用绝对路径,不然肯定出错

String path = request.getContextPath();

String basePath = request.getScheme() + “😕/” + request.getServerName() + “:”

  • request.getServerPort() + path + “/”;

%>

找回密码

找回密码


返回上一级


请输入账号:

search-password-do.jsp


<%@ page contentType=“text/html;charset=UTF-8” language=“java” pageEncoding=“UTF-8” %>

<%@page import=“java.util.List”%>

<%@page import=“com.sjsq.service.impl.UserServiceImpl”%>

<%@page import=“com.sjsq.po.User”%>

<%

// 获取绝对路径路径 ,开发项目一定要使用绝对路径,不然肯定出错

String path = request.getContextPath();

String basePath = request.getScheme() + “😕/” + request.getServerName() + “:”

  • request.getServerPort() + path + “/”;

%>

处理找回密码

<%

User user=new User();

//获取searchPassword.jsp页面提交的账号和密码

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

user.setUsername(name);

UserServiceImpl service=new UserServiceImpl();

List list=service.selectUser(user);

request.setAttribute(“list”, list);

for(User u:list){

request.setAttribute(“user”, u);

out.print(u);

}

if(user!=null){

request.getRequestDispatcher(“search-password-info.jsp”).forward(request, response);

}

%>

search-password-info.jsp


<%@ page contentType=“text/html;charset=UTF-8” language=“java” pageEncoding=“UTF-8” %>

<%

// 获取绝对路径路径 ,开发项目一定要使用绝对路径,不然肯定出错

String path = request.getContextPath();

String basePath = request.getScheme() + “😕/” + request.getServerName() + “:”

  • request.getServerPort() + path + “/”;

%>

弹出信息

您的密码是:${user.password}

返回登录

admin-home.jsp


<%@ page contentType=“text/html;charset=UTF-8” language=“java” pageEncoding=“UTF-8” %>

管理员主页

<%-- 头部 --%>

<jsp:include page=“top.jsp”/>

欢迎来到图书管理系统


管理员操作

管理用户

管理图书

admin-book-add.jsp


<%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8” %>

新增图书

<%-- 头部 --%>

<jsp:include page=“top.jsp”/>

新增图书


返回上一级

添加

重置

admin-book-delete.jsp


<%@ page contentType=“text/html;charset=UTF-8” language=“java” pageEncoding=“UTF-8” %>

<%@ page import=“com.sjsq.dao.BookDao” %>

<%@ page import=“com.sjsq.dao.impl.BookDaoImpl” %>

<%@ page import=“com.sjsq.po.Book” %>

<%@ page import=“com.sjsq.service.BookService” %>

<%@ page import=“com.sjsq.service.impl.BookServiceImpl” %>

删除图书

<%-- 头部 --%>

<jsp:include page=“top.jsp”/>

<%

// 设置获取注册时的编码为UTF-8

request.setCharacterEncoding(“UTF-8”);

//获取admin.jsp页面的bookid

Integer bookid = Integer.parseInt(request.getParameter(“bookid”));

//引入数据交互层

BookService bookService = new BookServiceImpl();

Book book = new Book();

book = bookService.getBook(bookid);

System.out.println(“删除的图书信息:”);

System.out.println(book);

boolean flag = bookService.deleteBook(bookid);

if (flag) {

response.sendRedirect(“admin-book-manager.jsp”);

} else {

response.sendRedirect(“error.jsp”);

}

%>

admin-book-update.jsp


<%@ page import=“com.sjsq.dao.BookDao” %>

<%@ page import=“com.sjsq.dao.impl.BookDaoImpl” %>

<%@ page import=“com.sjsq.po.Book” %>

<%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8” %>

修改图书

<%-- 头部 --%>

<jsp:include page=“top.jsp”/>

修改图书


<%

//获取admin-home.jsp页面的bookid

Integer bookid = Integer.parseInt(request.getParameter(“bookid”));

BookDao dao = new BookDaoImpl();

Book book = new Book();

book = dao.getBook(bookid);

%>

修改

重置

admin-user-add.jsp


<%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8” %>

新增用户

<%-- 头部 --%>

<jsp:include page=“top.jsp”/>

新增用户


返回上一级

添加

重置

admin-user-delete.jsp


<%@ page contentType=“text/html;charset=UTF-8” language=“java” pageEncoding=“UTF-8” %>

<%@ page import=“com.sjsq.po.User” %>

<%@ page import=“com.sjsq.service.UserService” %>

<%@ page import=“com.sjsq.service.impl.UserServiceImpl” %>

删除用户

<%-- 头部 --%>

<jsp:include page=“top.jsp”/>

新增用户


返回上一级

添加

重置

admin-user-delete.jsp


<%@ page contentType=“text/html;charset=UTF-8” language=“java” pageEncoding=“UTF-8” %>

<%@ page import=“com.sjsq.po.User” %>

<%@ page import=“com.sjsq.service.UserService” %>

<%@ page import=“com.sjsq.service.impl.UserServiceImpl” %>

删除用户
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值