JavaWeb实现增删改查

功能介绍:

添加图书、查询图书、修改图书、删除图书、查看该书信息、模糊搜索

在WEB-INF文件夹下创建lib文件夹将jar包放进来

在这里插入图片描述

整体架构图:

在这里插入图片描述

配置数据库信息

在这里插入图片描述
创建Druid类

package com.book.util;

import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public class Druid {
    //数据库连接池--Druid德鲁伊,据说是魔兽世界中的一个角色,森林女神
    public static DruidDataSource dataSource;

    //0.初始化Druid连接池
    static {
        //第二种方式:使用软编码通过配置文件初始化
        try {
            //创建properties配置文件对象
            Properties properties = new Properties();
            //通过类加载器加载配置文件
            InputStream inputStream = Druid.class.getClassLoader().getResourceAsStream("druid.properties");
            properties.load(inputStream);//加载流对象
            //创建连接池
            dataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(properties);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    //1. 获取连接池
    public static DataSource getDataSource() {
        return dataSource;
    }

    //2.获取连接
    public static Connection getConnection() {
        try {
            return dataSource.getConnection();//从连接池中获取连接
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }

    //3.释放资源
    public static void closeAll(Connection connection, Statement statement, ResultSet resultSet) {
        //释放resultSet
        if (resultSet != null) {
            try {
                resultSet.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        //释放Statement
        if (statement != null) {
            try {
                statement.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        //释放Connection
        if (connection != null) {
            try {
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }


}

以上是数据库配置

接下来创建页面

创建login.jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登录界面</title>
</head>
<body>
    <form action="BookController?method=login" method="post">
        <input type="text" name="username" placeholder="请输入用户名">
        <br>
        <input type="password" name="password" placeholder="请输入密码">
        <br>
        <input type="submit" name="btn">
    </form>
</body>
</html>

登录成功之后让进入 index.jsp

创建index.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>图书列表</title>
  </head>
  <body>
      <h1>图书列表</h1>
      <form action="BookController?method=like_book" method="post">
  <span>书名:</span>
      <input type="text" name="search">
      <input type="submit" value="搜索">
      </form>
      <a href="add.jsp"><button type="button">新增</button></a>
      <a href="BookController?method=del_book"><button type="button">删除</button></a>

  <table border="1">
      <tr>
<%--          <td><input type="checkbox" name=""></td>--%>
          <td>图书编号</td>
          <td>书名</td>
          <td>作者</td>
          <td>库存</td>
          <td>操作</td>
      </tr>
    <c:forEach items="${book_list}" var="list">

    <tr>
<%--      <td><a href="BookController?method=del_book&BID=${list.BID}"><input type="checkbox" name=""></a></td>--%>
      <td>${list.BID}</td>
        <td><a href="BookController?method=book_infor&BOOKNAME=${list.BOOKNAME}">${list.BOOKNAME}</a></td>
      <td>${list.AUTHOR}</td>
      <td>${list.AMOUNT}</td>
        <td><a href="BookController?method=del_book&BID=${list.BID}" onclick="return confirm('确定删除该信息吗?')">删除</a></td>
    </tr>


    </c:forEach>
      <tr>
          <td>总数量:</td>
      </tr>
  </table>
  </body>
</html>

这里的登录成功 我是利用转发 进入的index.jsp

创建登录成功success.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <meta http-equiv="refresh" content="0.1;url=BookController?method=book_list">
</head>
<body>

</body>
</html>

添加页面 add.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h1>新增图书信息</h1>
<form action="BookController?method=add_book" method="post">
    <table>

        <tr>
            <td>书名</td>
            <td><input type="text" name="BOOKNAME"></td>
        </tr>
        <tr>
            <td>单价</td>
            <td><input type="text" name="PRICE"></td>
        </tr>
        <tr>
            <td>作者</td>
            <td><input type="text" name="AUTHOR"></td>
        </tr>
        <tr>
            <td>出版日期</td>
            <td><input type="date" name="PUBDATE"></td>
        </tr>
        <tr>
            <td>出版社</td>
            <td><input type="text" name="PRESS"></td>
        </tr>
        <tr>
            <td>采购数量</td>
            <td><input type="text" name="AMOUNT"></td>
        </tr>
        <tr>
            <td><input type="reset" name="reset"></td>
            <td><input type="submit" name="btn"></td>
        </tr>
    </table>
</form>
</body>
</html>

点击书名实现 查看该书信息功能

创建book_infor.jsp页面

<%@ page import="com.book.entity.Book" %>
<%@ page import="java.util.List" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h1>图书详细信息</h1>
<%--    <%--%>
<%--        List<Book> list = (List<Book>) session.getAttribute("book_infor");--%>
<%--        System.out.println(list);--%>
<%--    %>--%>
<table border="1">
    <c:forEach items="${book_infor}" var="book_infor">
    <tr>
        <td>图书编号</td>
        <td>${book_infor.BID}</td>
    </tr>
    <tr>
        <td>书名</td>
        <td>${book_infor.BOOKNAME}</td>
    </tr>
    <tr>
        <td>单价</td>
        <td>${book_infor.PRICE}</td>
    </tr>
    <tr>
        <td>作者</td>
        <td>${book_infor.AUTHOR}</td>
    </tr>
    <tr>
        <td>出版日期</td>
        <td>${book_infor.PUBDATE}</td>
    </tr>
    <tr>
        <td>出版社</td>
        <td>${book_infor.PRESS}</td>
    </tr>
    <tr>
        <td>现存数量</td>
        <td>${book_infor.AMOUNT}</td>
    </tr>


    <tr>
        <td>
            <a href="BookController?method=query&BID=${book_infor.BID}">

            <button type="button" value="">修改</button>
                </c:forEach>
            </a>
            <input type="reset">
        </td>
    </tr>
</table>

</body>
</html>


点击修改按钮获取该书id 对该信息进行查询

创建query.jsp页面

<%@ page import="com.book.entity.Book" %>
<%@ page import="java.util.List" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h1>图书修改页面</h1>
<form action="BookController?method=modify" method="post">
<table border="1">
    <c:forEach items="${query}" var="query">
    <tr>
        <td>图书编号</td>
        <td><input type="text" value="${query.BID}" name="BID"></td>
    </tr>
    <tr>
        <td>书名</td>
        <td><input type="text" value="${query.BOOKNAME}" name="BOOKNAME"></td>
    </tr>
    <tr>
        <td>单价</td>
        <td><input type="text" value="${query.PRICE}"  name="PRICE"></td>
    </tr>
    <tr>
        <td>作者</td>
        <td><input type="text" value="${query.AUTHOR}" name="AUTHOR"></td>
    </tr>
    <tr>
        <td>出版日期</td>
        <td><input type="text" value="${query.PUBDATE}" name="PUBDATE"></td>
    </tr>
    <tr>
        <td>出版社</td>
        <td><input type="text" value="${query.PRESS}" name="PRESS"></td>
    </tr>
    <tr>
        <td>现存数量</td>
        <td><input type="text" value="${query.AMOUNT}" name="AMOUNT"></td>
    </tr>
    </c:forEach>

    <tr>
        <td>

            <input type="submit" value="修改">

            <input type="reset">
        </td>
    </tr>
</table>
</form>
</body>
</html>

进行预览测试:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以上是对图书的增删改查

盗版必究

  • 13
    点赞
  • 96
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值