JavaWeb图书管理系统(必定解决所需)

JavaWeb图书管理系统

1.项目简单介绍

a.项目用到的技术

  • IDE: Intellij IDEA
  • 语言:java,html + ajax,js
  • 数据库:Mysql
  • 数据库可视化: navicat
  • web服务器:Tomcat
  • 框架:(mybatis,jquery,bootstrap)
  • 项目用到maven
  • 设计模式:MVC

b.该项目的主要功能

  • 管理员与普通用户分为不同界面
  • 管理员和普通用户可修改个人信息
  • 管理员和普通用户注销
  • 管理员和普通用户密码(MD5加密)
  • 借书,还书操作(并检测还书是否逾期)
  • 图书的添加(考虑到图书类型的扩展),修改
  • 图书的删除(物理删除和逻辑删除可选)
  • 公共图书库查看(分页查询实现)
  • 图书查询(多条件和模糊两种)
  • 管理员查看用户借书信息,可看是否按时还书

2.项目展示

a. 普通用户功能

(1)查询(多条件和模糊查询)

在这里插入图片描述

(2) 个人图书库

在这里插入图片描述

(3)用户修改信息界面(有过渡效果)

在这里插入图片描述

(4)普通用户界面展示

在这里插入图片描述

b . 管理员功能

(1)增加图书

在这里插入图片描述

(2)删除图书(物理删除和逻辑删除)

在这里插入图片描述

(3)图书修改(回显)

在这里插入图片描述

(4)图书查询

在这里插入图片描述

(5)查看用户借书记录并查看是否还书逾期

在这里插入图片描述

(6)用户管理(逻辑删除)

在这里插入图片描述

(7)公共图书库(分页查询)

在这里插入图片描述

3.项目讲解

a . 项目基本结构

![Alt] 在这里插入图片描述

b . maven导入依赖

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  
  <groupId>org.example</groupId>
  <artifactId>javaWeb_example</artifactId>
  <version>1.0-SNAPSHOT</version>

  <packaging>war</packaging>

  <dependencies>
    <!--jstl-->
    <dependency>
      <groupId>jstl</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>taglibs</groupId>
      <artifactId>standard</artifactId>
      <version>1.1.2</version>
    </dependency>
    <!--servlet-->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>
    <!--mybatis-->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.6</version>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.47</version>
    </dependency>
    <!--FASTJSON-->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.62</version>
    </dependency>

    <!--密码加密-->
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>1.10</version>
    </dependency>

    <!--HuTool-->
    <dependency>
      <groupId>cn.hutool</groupId>
      <artifactId>hutool-all</artifactId>
      <version>5.7.22</version>
    </dependency>

  </dependencies>

  <!--tomcat插件-->
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <port>80</port>
          <path>/</path>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>

c . 数据库Mysql表

在这里插入图片描述

d. javabean中对应的实体类

在这里插入图片描述

e . servlet层中的loginservlet(登录后端服务)

package com.servlet;

import com.alibaba.fastjson.JSON;
import com.bean.User;
import com.bean.admin;
import com.service.impl.UserServiceImpl;
import com.util.DateAdd;
import com.util.MD5BU;
import com.util.ZhUtils;

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;


@WebServlet("/login/*")
public class LoginServlet extends BaseServlet{
    private UserServiceImpl userService = new UserServiceImpl();

    //登录
    public void log(HttpServletRequest req, HttpServletResponse resp) throws Exception {
        HttpSession session = req.getSession();
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        User user = userService.select(username,MD5BU.md5(password));

        if(user != null){
            user.setPassword(password);
            req.setAttribute("isUser",0);
            session.setAttribute("user",user);
            String s = session.getId();
            Cookie cookie = new Cookie("sessionId",s);
            cookie.setPath("/");
            resp.addCookie(cookie);
            if(user.root == 1){
                resp.sendRedirect("/web_root.jsp");
            }
            else {
                resp.sendRedirect("http://localhost/web_main.jsp");
            }
        }
        else {
            req.setAttribute("isUser",1);
            req.getRequestDispatcher("/login.jsp").forward(req,resp);
        }
    }

    //注册
    public void register(HttpServletRequest req, HttpServletResponse resp) throws Exception{
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        User user = userService.selectOneByUsername(username);
        if(user != null){
            resp.getWriter().write("true");
        }
        else {
            if(username != "" && password != ""){
                password = MD5BU.md5(password);
                userService.register(username,password);
                resp.sendRedirect("/login.jsp");
            }
        }
    }

    //个人图书库
    public void library(HttpServletRequest req, HttpServletResponse resp) throws IOException {
        req.setCharacterEncoding("utf-8");
        String username = ZhUtils.getZh(req.getParameter("username"));
        int userid = Integer.parseInt(req.getParameter("userid"));
        String bookname = ZhUtils.getZh(req.getParameter("bookname"));
        int bookid = Integer.parseInt(req.getParameter("bookid"));

        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = new Date();
        String dateTime = dateFormat.format(date);

        String bookAuthor = ZhUtils.getZh(req.getParameter("bookAuthor"));
        String bookType = ZhUtils.getZh(req.getParameter("bookType"));
        String date_Hope = dateFormat.format(DateAdd.addDays(date, 7));
        int num = Integer.parseInt(req.getParameter("num"));
        userService.usBkConnect(username,userid,bookname,bookid,dateTime,bookAuthor,bookType,date_Hope);
        resp.setContentType("text/json;charset=utf-8");
        resp.getWriter().write("添加成功~");
    }

    //注销
    public void logout (HttpServletRequest req, HttpServletResponse resp) throws IOException {
        req.getSession().invalidate();
        resp.sendRedirect("/login.jsp");
    }

    //查询所有管理员
    public void selectAdminAll (HttpServletRequest req, HttpServletResponse resp) throws IOException{
        List<admin> admins = userService.selectAdminAll();
        String jsonString = JSON.toJSONString(admins);
        resp.setContentType("text/json;charset=utf-8");
        resp.getWriter().write(jsonString);
    }
}

f . 图书模糊查询功能(ajax)

//模糊查询
        let blurred_btn = document.getElementById("blurred_btn");
        let blurredBookName = document.getElementById("seaName");
        blurred_btn.onclick = function (){
            if (blurredBookName.value){
                axios({
                    method:"get",
                    url:"http://localhost/book/blurredQuery?bookName="+blurredBookName.value
                }).then(function (resp) {
                    let resultBooks = resp.data;
                    createTableSearch(resultBooks);
                })
            }
            else {
                alert("请填写完整信息!")
            }
        }

附上源码 (压缩包大小15.1M)

网盘网址:https://pan.baidu.com/s/1zB1sASQHow7WgxRLOKQSiA?pwd=wzyb
提取码: wzyb

sql文件: 链接: https://pan.baidu.com/s/1VqC0cwq4pEc8pDwvL4xREA?pwd=aaaa 提取码: aaaa

  • 67
    点赞
  • 644
    收藏
    觉得还不错? 一键收藏
  • 57
    评论
以下是一个简单的基于JSP的图书管理系统的示例,它使用MySQL数据库存储数据。该系统允许用户添加、删除和更新图书信息,并提供了搜索功能。 1. 首先,创建一个名为“BookManage”的数据库,并在其中创建一个名为“book”的表。表中应包含以下列:id(int)、name(varchar)、author(varchar)、publisher(varchar)、price(float)和description(varchar)。 2. 创建一个名为“Book.java”的JavaBean类,用于表示图书对象。该类应包含与表中列对应的属性,以及getter和setter方法。 3. 创建一个名为“BookDAO.java”的数据访问对象类,用于执行与数据库交互的操作。该类应包含添加、删除、更新、搜索和获取所有图书的方法。 4. 创建一个名为“add.jsp”的JSP页面,用于添加新图书。该页面应包含一个表单,其中包含输入新图书信息的字段。表单应提交到“addBook.jsp”页面。 5. 创建一个名为“addBook.jsp”的JSP页面,用于将新图书添加到数据库中。该页面应使用BookDAO类将新图书插入到数据库中,并显示成功消息。 6. 创建一个名为“delete.jsp”的JSP页面,用于删除图书。该页面应包含一个表格,其中包含所有图书的信息,以及一个删除按钮。单击删除按钮应将相应的图书从数据库中删除。 7. 创建一个名为“update.jsp”的JSP页面,用于更新图书信息。该页面应包含一个表单,其中包含要更新的图书信息的字段。表单应提交到“updateBook.jsp”页面。 8. 创建一个名为“updateBook.jsp”的JSP页面,用于将更新后的图书信息保存到数据库中。该页面应使用BookDAO类将更新后的图书信息保存到数据库中,并显示成功消息。 9. 创建一个名为“search.jsp”的JSP页面,用于搜索图书。该页面应包含一个文本框和一个搜索按钮。输入搜索关键字并单击搜索按钮应显示与关键字匹配的所有图书。 10. 创建一个名为“list.jsp”的JSP页面,用于显示所有图书。该页面应使用BookDAO类获取所有图书,并将它们显示在一个表格中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值