Java课程设计:基于Javaweb的图书管理系统(内附源码)

一、项目介绍

本系统由读者端和管理员端,读者端主要有主要有三大功能,借阅图书、归还图书和查看自己的借阅信息,管理员端主要有四个大的功能,对图书进行管理,对用户进行管理、对借阅信息进行管理、对图书分类进行管理。

整体功能模块图,如图所示:
在这里插入图片描述

  • 借还图书:读者对图书进行借阅与归还
  • 查看借阅信息:读者对自己借阅信息的查看,可以根据借阅信息归还图书
  • 图书管理:管理员对图书的管理,可以对图书进行增删改查。
  • 图书分类管理:管理员对图书类别的管理,可以对图书类别进行增删改查。
  • 借阅信息管理:管理员对所有读者用户的借阅信息可以进行查看,并且可以帮助读者点击归还。
  • 读者管理:管理员对所有读者用户进行管理,可以对读者信息进行增删改查。

二、项目技术栈

  • 后端:javaweb+jdk+tomcat8+mvc
  • 前端:jsp+css+js
  • 数据库:mysql

三、核心代码

用户实体类

public class AdminBean {
	public AdminBean() {
		super();
		// TODO Auto-generated constructor stub
	}
	
	private int aid;//用户管理员id
	private int status;//用来判断是管理员还是读者,读者的值为1,管理员为2
	private String username;//账号,
	private String name;//读者的姓名
	private String password;//密码
	private String email;//邮箱
	private String phone;//手机号
	private int lend_num;//可借阅天数
	private int max_num;//最大可借数
	public int getAid() {
		return aid;
	}
	public void setAid(int aid) {
		this.aid = aid;
	}
	public int getStatus() {
		return status;
	}
	public void setStatus(int status) {
		this.status = status;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	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 int getLend_num() {
		return lend_num;
	}
	public void setLend_num(int lend_num) {
		this.lend_num = lend_num;
	}
	public int getMax_num() {
		return max_num;
	}
	public void setMax_num(int max_num) {
		this.max_num = max_num;
	}

}

用户登录

@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	AdminDao userdao = new AdminDao();
	AdminDao admindao = new AdminDao();
	
    /**
     * @see HttpServlet#HttpServlet()
     */
    public LoginServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

   
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		

	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//登录的判断
		//编码格式
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");
		//获取账号和密码
//		PrintWriter out = response.getWriter();
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		System.out.println(username);
		
		//对账号和密码进行判断
		boolean result = userdao.Login_verify(username, password);
		System.out.println(result);
		HttpSession session = request.getSession();
		//判断输入正确
		if(result){
			AdminBean adminbean = new AdminBean();
			//更加账号和密码查找出读者的信息
			adminbean = admindao.getAdminInfo(username,password);
			//将aid存入session中
			session.setAttribute("aid", ""+adminbean.getAid());
			//设置session的失效时间
			session.setMaxInactiveInterval(6000);
			//根据status的值来判断是管理员,还是读者,status=1为读者
			System.out.println(adminbean.getStatus());
			if(adminbean.getStatus()==1){
				response.sendRedirect("index2.jsp");
			}else{
				response.sendRedirect("admin.jsp");
			}
		}else{
			//没有找到对应的账号和密码,返回重新登录
			session.setAttribute("state", "密码错误");
			response.sendRedirect("login.jsp");
		}
	
	}

}

数据库连接配置


public class DbUtil {

	public static String username = "root";
	public static String pwd = "abc123456";
	public static String url = "jdbc:mysql://localhost:3307/books?serverTimezone=UTC";
	
	static{
		try {
			Class.forName("com.mysql.cj.jdbc.Driver");
		} catch(ClassNotFoundException e){
			e.printStackTrace();
		}
	}
	
	public static Connection getConn(){
		Connection conn = null;
		try{
			conn = DriverManager.getConnection(url,username,pwd);
		
		} catch (SQLException e){
			e.printStackTrace();
		}
		return conn;
	}
	
	public static void CloseDB(ResultSet rs, PreparedStatement stm, Connection conn){
		if(rs!=null)
		{
			try {
				rs.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		if(stm!=null)
		{
			try {
				stm.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		if(conn!=null)
		{
			try {
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}

注册操作

@WebServlet("/RegisterServlet")
public class RegisterServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    public RegisterServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
//		doGet(request, response);
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");
		
		//获取注册信息
		AdminDao userdao = new AdminDao();
		
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		String name = request.getParameter("name");
		String email = request.getParameter("email");
		String phone = request.getParameter("phone");
		
		System.out.println(username);
		//默认设置最大借阅数和借阅天数
		int lend_num = 30;
		int max_num = 5;
	

		//将注册信息存入数据库,再返回登录
		userdao.Register(username,password,name,email,phone,lend_num,max_num);
        response.sendRedirect("login.jsp");
	}
}

四、项目展示

系统主框架
在这里插入图片描述
图书管理主页面
在这里插入图片描述
增加图书页面
在这里插入图片描述
修改图书页面
在这里插入图片描述
读者管理主页面
在这里插入图片描述
添加读者页面
在这里插入图片描述
图书分类管理主页面
在这里插入图片描述
图书借阅信息管理主页面

在这里插入图片描述
帮助读者归还图书页面
在这里插入图片描述
读者借阅图书页面
在这里插入图片描述

五、源码获取

因为页面与源码太多了,所以页面与源码只展示了一部分,完整源码已经打包了,点击下面蓝色链接获取!

点我获取源码

  • 14
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
基于JavaWeb图书管理系统毕业设计软件源码+论文文档资料 摘 要 本文介绍了在Java运行环境下开发图书管理信息系统的过程。文章介绍了图书馆管理信息系统的系统分析部分,包括可行性分析、图书借阅流程分析等;系统设计部分主要介绍了系统功能设计和数据库设计及代码设计;系统实现部分说明了几个主要模块的算法,本系统界面友好,操作简单,比较实用。 本系统采用了JSP页面的设计,使用了MVC模式,它采用了当今软件设计的最新技术,具有开发效率高、设计灵活、生成的软件界面友好美观等特点。本系统中通过JDBC驱动和数据库进行无缝连接,后端的数据库是SqlServer 2005,该数据库界面友好,容易上手,具有较高的完整性,一致性和安全性。 关键词:Java图书管理系统;图书借阅;MVC;开源;数据库 需求分析 2.1 用户需求 2.1.1 数据需求 本图书管理系统主要的面向图书馆的管理者所开发的一款简洁的后台管理软件。对于该系统的数据需求可从以下几方面进行考虑: 1)从管理员角度分析,可得到管理员的帐号,用户名,密码,注册时间等数据。 2)从读者角度分析,可得到读者的学号,姓名,性别,所在院系,所借书籍等信息。 3)从书籍的角度出发,可得到书籍的图书ISBN,书名,出版社的相关信息,作者的相关信息,图书的价格,图书的版本号,出版年份,图书的封面图片等数据信息。 综上,在开发该系统的数据层时可以从上面所列三方面去设计数据库的表,进而能将所需数据全部包含起来。 2.1.2 功能需求 1.面向图书的功能有:图书列表的查询,图书入库,图书修订,图书的快速定位查询,由于此系统所面向的功能有限,所以将图书的作者和出版社加以细分,有出版社的管理,包括出版社的添加,出版社的修改,出版社的移除等,为了更方便的实现添加图书。同时还有对图书作者的单独管理,如对作者的查询,增加以及修改等。 2.面向管理员的功能有:管理员的登录,注册功能,管理员的修改以及显示等,还有管理员对读者的管理,即对用户实现的一些列操作,如对读者的增删改查,以及读者借阅图书和归还图书等。 此系统功能设计以图书和管理员为重心:本系统的主要功能模块主要有以上所提及的这些,还有较多小功能设计,如jquery验证,一些特效的显示等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值