• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
戈瑾
博客园    首页    新随笔    联系   管理    订阅  订阅
基于图书管理系统的浏览

entity层和DBUtil层同增的操作,今天是浏览操作(代码部分加上之前的):

dao层:

  1 package dao;
  2 
  3 import java.sql.Connection;
  4 import java.sql.PreparedStatement;
  5 import java.sql.ResultSet;
  6 import java.sql.SQLException;
  7 import java.sql.Statement;
  8 import java.util.ArrayList;
  9 import java.util.List;
 10 
 11 import DBUtil.DBUtil;
 12 import entity.Book;
 13 import entity.Lendbook;
 14 
 15 
 16 
 17 
 18 public class Dao {
 19     //根据书的姓名查找
 20     public Book getbyname(String bname) {
 21         String sql = "select * from Book where bname ='" + bname + "'";
 22         Connection conn = DBUtil.getConn();
 23         Statement state = null;
 24         ResultSet rs = null;
 25         Book b = null;
 26         
 27         try {
 28             state = conn.createStatement();
 29             rs = state.executeQuery(sql);
 30             while (rs.next()) {
 31                 int id = rs.getInt("id");
 32                 String bianhao = rs.getString("bianhao");
 33                 String bname2 = rs.getString("bname");
 34                 String wname = rs.getString("wname");
 35                 String bhome=rs.getString("bhome");
 36                 int num = rs.getInt("num");
 37                 b = new Book(id,bianhao,bname2,wname,bhome,num);
 38             }
 39         } catch (Exception e) {
 40             e.printStackTrace();
 41         } finally {
 42             DBUtil.close(rs, state, conn);
 43         }
 44         
 45         return b;
 46     }
 47 
 48     //添加新书信息
 49     public boolean addBook(Book stu) {
 50         Connection conn = DBUtil.getConn();
 51         PreparedStatement pstmt = null;
 52         boolean f = false;
 53         int a = 0;
 54         try {
 55             String sql = "insert into Book(bianhao,bname,wname,bhome,num) value(?,?,?,?,?)";
 56             pstmt = conn.prepareStatement(sql);
 57             pstmt.setString(1, stu.getBianhao());
 58             pstmt.setString(2, stu.getBname());
 59             pstmt.setString(3, stu.getWname());
 60             pstmt.setString(4, stu.getBhome());
 61             pstmt.setLong(5, stu.getNum());
 62             a = pstmt.executeUpdate();
 63         } catch (SQLException e) {
 64             e.printStackTrace();
 65         } finally {
 66             DBUtil.close(pstmt, conn);
 67         }
 68         if (a > 0)
 69             f = true;
 70 
 71         return f;
 72     }
 73     //浏览图书信息
 74     public List<Book> liulanbook() {
 75         String sql = "select * from Book";
 76         List<Book> list = new ArrayList<>();
 77         Connection conn = DBUtil.getConn();
 78         Statement state = null;
 79         ResultSet rs = null;
 80 
 81         try {
 82             state = conn.createStatement();
 83             rs = state.executeQuery(sql);
 84             Book bean = null;
 85             while (rs.next()) {
 86                 int id = rs.getInt("id");
 87                 String bianhao = rs.getString("bianhao");
 88                 String bname = rs.getString("bname");
 89                 String wname = rs.getString("wname");
 90                 String bhome=rs.getString("bhome");
 91                 int num = rs.getInt("num");
 92                 bean = new Book(id,bianhao,bname,wname,bhome,num);
 93                 list.add(bean);
 94             }
 95         } catch (SQLException e) {
 96             e.printStackTrace();
 97         } finally {
 98             DBUtil.close(rs, state, conn);
 99         }
100 
101         return list;
102     }
103 }

servlet层:

 1 package servlet;
 2 
 3 import java.io.IOException;
 4 import java.util.List;
 5 
 6 import javax.servlet.ServletException;
 7 import javax.servlet.annotation.WebServlet;
 8 import javax.servlet.http.HttpServlet;
 9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11 
12 import dao.Dao;
13 import entity.Book;
14 
15 @WebServlet("/Servlet")
16 public class Servlet extends HttpServlet {
17     private static final long serialVersionUID = 1L;
18     Dao dao = new Dao();
19 
20     protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
21         req.setCharacterEncoding("utf-8");
22         String method = req.getParameter("method");
23         if ("addBook".equals(method)) {
24             addBook(req, resp);
25         } else if ("liulanbook".equals(method)) {
26             liulanbook(req, resp);
27         }else if ("getbyname".equals(method)) {
28             getbyname(req, resp);
29         } 
30     }
31     private void addBook(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
32         req.setCharacterEncoding("utf-8");
33         String bianhao = req.getParameter("bianhao");
34         String bname = req.getParameter("bname");
35         String wname = req.getParameter("wname");
36         String bhome = req.getParameter("bhome");
37         int num = Integer.parseInt(req.getParameter("num"));
38         Book book = new Book(bianhao, bname, wname, bhome, num);
39         if (dao.addBook(book)) {
40             req.setAttribute("book", book);
41             req.setAttribute("message", "添加成功");
42             req.getRequestDispatcher("addBook.jsp").forward(req, resp);
43         } else {
44             req.setAttribute("message", "书籍信息重复,请重新输入");
45             req.getRequestDispatcher("addBook.jsp").forward(req, resp);
46         }
47     }
48    private void getbyname(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
49        req.setCharacterEncoding("utf-8");
50        String bname = req.getParameter("bname");
51        Book b=new Book();
52        b.setBname(bname);
53        b= dao.getbyname(bname);
54        if(b==null)
55        {
56            req.setAttribute("message", "未找到该书籍");
57            req.getRequestDispatcher("xiugaiBook.jsp").forward(req, resp);
58        }
59        else 
60        {
61            req.setAttribute("b", b);
62            req.getRequestDispatcher("xiugai2.jsp").forward(req,resp);
63        }
64    }  
65     private void liulanbook(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
66         req.setCharacterEncoding("utf-8");
67 
68         List<Book> tens = dao.liulanbook();
69         req.setAttribute("tens", tens);
70         req.getRequestDispatcher("list.jsp").forward(req, resp);
71     }
72 }

list.jsp:

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
 4 <!DOCTYPE html>
 5 <html>
 6 <head>
 7 <meta charset="UTF-8">
 8 <title>Insert title here</title>
 9 
10 </head>
11 <body>
12 <%
13           Object message = request.getAttribute("message");
14           if(message!=null && !"".equals(message)){
15       
16      %>
17           <script type="text/javascript">
18                alert("<%=request.getAttribute("message")%>");
19           </script>
20      <%} %>
21      <h>书籍信息</h>
22     <div class="content">
23         <div class="main">
24         <a href="guanli.jsp">返回主页</a>
25         <table align="center">
26             <tr>
27                 <th>编号</th>
28                 <th>书名</th>
29                 <th>作者名</th>
30                 <th>出版社</th>
31                 <th>可借阅数量</th>
32                 <th>操作</th>
33             <tr>
34                 <c:forEach items="${tens}" var="item">
35                 <tr>
36                 
37                     <td><a href="Servlet?method=getbyname&&bname=${item.bname}"></a></td>
38                     <td>${item.bianhao}</td>
39                     <td>${item.bname}</td>
40                     <td>${item.wname}</td>
41                     <td>${item.bhome }</td>
42                     <td>${item.num}</td>
43                     <td><a href="Servlet?method=deleteBook&bname=${item.bname }" onClick="return confirm('确定删除吗?');">删除</a>
44                     <td><a href="Servlet?method=getbyname&bname=${item.bname }">修改</a>
45                 </tr>
46                 </c:forEach>
47         </table>
48     </div>
49 </body>
50 </html>

 

posted on 2020-12-07 08:28  戈瑾  阅读(111)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3