}
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 +
‘}’;
}
}
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 +
‘}’;
}
}
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 +
‘}’;
}
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
<%@ 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 + “/”;
%>
用户登录
<%@ 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”);
}
%>
<%@ page contentType=“text/html;charset=UTF-8” language=“java” pageEncoding=“UTF-8”%>
登录失败
<%@ page contentType=“text/html;charset=UTF-8” language=“java” pageEncoding=“UTF-8” %>
<%
// 杀掉会话
session.invalidate();
// 重定向,地址栏的链接会发生改变
response.sendRedirect(“login.jsp”);
%>
<%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8” %>
用户注册
注册
重置
<%@ 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”);
}
%>
<%@ 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 + “/”;
%>
找回密码
返回上一级
<%@ 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);
}
%>
<%@ 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}
<%@ page contentType=“text/html;charset=UTF-8” language=“java” pageEncoding=“UTF-8” %>
<%-- 头部 --%>
<jsp:include page=“top.jsp”/>
欢迎来到图书管理系统
管理员操作
<%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8” %>
<%-- 头部 --%>
<jsp:include page=“top.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”);
}
%>
<%@ 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);
%>
修改
重置
<%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8” %>
<%-- 头部 --%>
<jsp:include page=“top.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”/>
新增用户
返回上一级
添加
重置
<%@ 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” %>