图书系统(查询图书内容)

要求为输入图书的关键字从而查询出符合条件的图书

Bean包

创建Book类

package bean;

/**
 *
 * @author haozhen
 */
public class Book {
    private String bookid;
    private String bookname;
    private String price;

    @Override
    public String toString() {
        return "Book{" + "bookid=" + bookid + ", bookname=" + bookname + ", price=" + price + '}';
    }

   
    public String getBookid() {
        return bookid;
    }

    public void setBookid(String bookid) {
        this.bookid = bookid;
    }

    public String getBookname() {
        return bookname;
    }

    public void setBookname(String bookname) {
        this.bookname = bookname;
    }

    public String getPrice() {
        return price;
    }

    public void setPrice(String price) {
        this.price = price;
    }
    
}

Controller包

创建BooksServlet的Servlet类

package controller;

import bean.Book;
import dao.BookDao;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author haozhen
 */
public class BookServlet extends HttpServlet {
    
    
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=utf-8");
        String name = req.getParameter("name");
        BookDao bookDao = new BookDao();
       
        try {
           
            ResultSet rs = bookDao.query("select * from tb_book where bookname like '%"+name+"%'");
            List<Book> bookList = new ArrayList<>();
            while (rs.next()) {
                Book book = new Book();
                String bookid = rs.getString("bookid");
                String bookname = rs.getString("bookname");
                String price = rs.getString("price");
                book.setBookid(bookid);
                book.setBookname(bookname);
                book.setPrice(price);
                System.out.println(book);
                bookList.add(book);
            }
            req.setAttribute("bookList", bookList);
            req.getRequestDispatcher("/result.jsp").forward(req, resp);
        } catch (SQLException ex) {
            Logger.getLogger(BookServlet.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
}

Dao包

创建BookDao类

package dao;

import bean.Book;
import java.sql.Connection;

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author haozhen
 */
public class BookDao {

    private static String DBDriver = "com.mysql.jdbc.Driver";
    private static String DBUrl = "jdbc:mysql://localhost:3306/book1?serverTimezone=UTC&characterEncoding=UTF-8";
    private static String DBUse = "root";
    private static String DBPassword = "123456";

    public static Connection conn = null;
    public ResultSet rs = null;

    static {
        try {
            //加载驱动
            Class.forName(DBDriver);
            //连接到数据库
            conn = DriverManager.getConnection(DBUrl,DBUse,DBPassword);
        } catch (SQLException | ClassNotFoundException throwables) {
            throwables.printStackTrace();
        }
    }

    public ResultSet query(String sql) throws SQLException {
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery(sql);
        return rs;
    }
}

创建图书查询页面

index.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>图书查询系统</title>
    </head>
    <body>
        <form action="/BookServlet" method="post">
            <P>
                请输入想要查询图书的关键字:<input type="text" name="name">
                <input type="submit" value="确认" name="sum1">
            </P>
        </form>
    </body>
</html>

查询显示页面

result.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>查詢結果</title>
    </head>
    <body>
        <h1>符合條件的圖書信息:</h1>
        <c:forEach var="book" items="${bookList}">

            ${book.bookid} 
            ${book.bookname}
            ${book.price}
            <br>
        </c:forEach>
            <a href="index.jsp">返回查询页面</a>
    </body>
</html>
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值