2020.11.25
一、今日学习内容
今天对代码进行完善
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>首页</title> </head> <body> <% Object message = request.getAttribute("message"); if(message!=null && !"".equals(message)){ %> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); </script> <%} %> <div align="center"> <h1 style="color: black;">登录页面</h1> <div class="content"> <div class="main"> <form name="form" action="ManagerServelet?method=login" method="post" > <table> <tr> <td>用户ID</td> <td><input type="text" id="IDuser" name="IDuser" placeholder="八位数字组成" /></td> </tr> <tr> <td>密码</td> <td><input type="password" id="userpassword" name="userpassword"/></td> </tr> <tr> <td>身份</td> <td> <select name="flag" class="shortselect"> <option value="读者">读者</option> <option value="管理员">管理员</option> </select> </td> </tr> <tr> <td><button type="submit" class="b">提 交<tton></td> </tr> </table> </form> <script type="text/javascript"></script> </div> </div> </body> </html>
//bookadd <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <% Object message = request.getAttribute("message"); if(message!=null && !"".equals(message)){ %> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); </script> <%} %> <div align="center"> <h1 style="color: black;">添加新书信息</h1> <a href="manager.jsp">返回管理员页面</a> <div class="content"> <div class="main"> <form name="form" action="ManagerServelet?method=bookadd" method="post" > <table> <tr> <td>图书编号</td> <td><input type="text" id="IDbook" name="IDbook" placeholder="八位数字组成" /></td> </tr> <tr> <td>书名</td> <td><input type="text" id="bookname" name="bookname"/></td> </tr> <tr> <td>作者名</td> <td><input type="text" id="bookwriter" name="bookwriter"/></td> </tr> <tr> <td>出版社名称</td> <td><input type="text" id="bookchubanshe" name="bookchubanshe"/></td> </tr> <tr> <td>可借阅数量</td> <td><input type="text" id="booknumber" name="booknumber"/></td> </tr> <tr> <td><button type="submit" class="b">提 交<tton></td> </tr> </table> </form> <script type="text/javascript"></script> </div> </div> </body> </html>
//readeradd <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <% Object message = request.getAttribute("message"); if(message!=null && !"".equals(message)){ %> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); </script> <%} %> <div align="center"> <h1 style="color: black;">添加读者信息</h1> <a href="manager.jsp">返回管理员页面</a> <div class="content"> <div class="main"> <form name="form" action="ManagerServelet?method=readeradd" method="post" > <table> <tr> <td>学号</td> <td><input type="text" id="IDreader" name="IDreader" placeholder="八位数字组成" /></td> </tr> <tr> <td>读者姓名</td> <td><input type="text" id="readername" name="readername"/></td> </tr> <tr> <td>读者性别</td> <td> <input type="radio"name="readersex"value="男"checked>男 <input type="radio"name="readersex"value="女">女 </td> </tr> <tr> <td>所在学院</td> <td><input type="text" id="readerxueyuan" name="readerxueyuan"/></td> </tr> <tr> <td><button type="submit" class="b">提 交<tton></td> </tr> </table> </form> <script type="text/javascript"></script> </div> </div> </body> </html>
//manager <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>首页</title> </head> <body> <% Object message = request.getAttribute("message"); if(message!=null && !"".equals(message)){ %> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); </script> <%} %> <div align="center"> <h1 style="color: black;">管理员功能页面</h1> <a href="login.jsp">返回登录页面</a> <div class="a"> <a href="mareaadd.jsp">添加读者信息</a> </div> <div class="a"> <a href="mabookadd.jsp">添加新书信息</a> </div> <div class="a"> <a href="mareturn.jsp">催还书目信息</a> </div> </div> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <% Object message = request.getAttribute("message"); if(message!=null && !"".equals(message)){ %> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); </script> <%} %> <div align="center"> <h1>图书信息</h1> <a href="reader.jsp">返回读者页</a> <table align="center"> <tr> <th>图书编号</th> <th>书名</th> <th>作者名</th> <th>出版社名称</th> <th>可借阅数量</th> </tr> <c:forEach items="${bookss}" var="item"> <tr> <td>${item.IDbook}</td> <td>${item.bookname}</a></td> <td>${item.bookwriter}</td> <td>${item.bookchubanshe}</td> <td>${item.booknumber}</td> </tr> </c:forEach> </table> </div> </body>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <% Object message = request.getAttribute("message"); if(message!=null && !"".equals(message)){ %> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); </script> <%} %> <div align="center"> <h1>查询图书</h1> <div class="content"> <div class="main"> <a href="reader.jsp">返回读者页</a> <br><br> <form name="form" action="ManagerServelet?method=chaxun" method="post" "> <a>书名</a> <input type="text" name="bookname" /> <br><br> <a>作者名</a> <input type="text" name="bookwriter" /> <br><br> <input type="submit" value="查找" /></td> </form> </div> </div> </body> </html>
servlet:
package Servelet; import java.util.Date; import java.text.SimpleDateFormat; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import entity.Reader; import entity.Book; import entity.User; import service.ManagerService; @WebServlet("/ManagerServelet") public class ManagerServelet extends HttpServlet { private static final long serialVersionUID = 1L; ManagerService service = new ManagerService(); /** * 方法选择 */ protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); String method = req.getParameter("method"); if ("readeradd".equals(method)) { readeradd(req, resp); } else if ("bookadd".equals(method)) { bookadd(req, resp); } else if("liulantushu".equals(method)) { liulantushu(req,resp); }else if("chaxun".equals(method)) { chaxun(req,resp); }else if("login".equals(method)) { login(req,resp); }else if("jieyue".equals(method)) { jieyue(req,resp); } } /** * 添加 * @param req * @param resp * @throws IOException * @throws ServletException */ private void readeradd(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { req.setCharacterEncoding("utf-8"); //获取数据 String IDreader=req.getParameter("IDreader"); String readername=req.getParameter("readername"); String readersex = req.getParameter("readersex"); String readerxueyuan = req.getParameter("readerxueyuan"); Reader reader=new Reader(IDreader,readername,readersex,readerxueyuan); //添加后消息显示 if(service.readeradd(reader)) { req.setAttribute("message", "添加成功"); req.getRequestDispatcher("mareaadd.jsp").forward(req,resp); } else { req.setAttribute("message", "名称重复,请重新录入"); req.getRequestDispatcher("mareaadd.jsp").forward(req,resp); } } private void bookadd(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { req.setCharacterEncoding("utf-8"); //获取数据 String IDbook=req.getParameter("IDbook"); String bookname=req.getParameter("bookname"); String bookwriter = req.getParameter("bookwriter"); String bookchubanshe = req.getParameter("bookchubanshe"); String booknumber= req.getParameter("booknumber"); Book book=new Book(IDbook,bookname,bookwriter,bookchubanshe,booknumber); //添加后消息显示 if(service.bookadd(book)) { req.setAttribute("message", "添加成功"); req.getRequestDispatcher("mabookadd.jsp").forward(req,resp); } else { req.setAttribute("message", "名称重复,请重新录入"); req.getRequestDispatcher("mabookadd.jsp").forward(req,resp); } } private void liulantushu(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); List<Book> bookss = service.liulantushu(); req.setAttribute("bookss", bookss); req.getRequestDispatcher("liulantushu.jsp").forward(req, resp); } private void chaxun(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ req.setCharacterEncoding("utf-8"); String bookname=req.getParameter("bookname"); String bookwriter = req.getParameter("bookwriter"); List<Book> books = service.chaxun(bookname,bookwriter); if(books==null) { req.setAttribute("message", "没有该图书"); req.getRequestDispatcher("chaxun.jsp").forward(req,resp); } else { req.setAttribute("books", books); req.getRequestDispatcher("list.jsp").forward(req,resp); } } private void login(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { req.setCharacterEncoding("utf-8"); //获取数据 String IDuser=req.getParameter("IDuser"); String userpassword=req.getParameter("userpassword"); String flag=req.getParameter("flag"); User user=new User(IDuser,userpassword,flag); service.login(user); //添加后消息显示 req.setAttribute("message", "登录成功"); if(flag.equals("读者")) req.getRequestDispatcher("reader.jsp").forward(req,resp); if(flag.equals("管理员")) req.getRequestDispatcher("manager.jsp").forward(req,resp); } public void jieyue(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { req.setCharacterEncoding("utf-8"); } }
//Dao package Dao; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import entity.Reader; import DBUtil.DBUtil; import entity.Book; import entity.User; import DBUtil.DBUtil; public class ManagerDao { /** * 添加 * @param course * @return */ public boolean readeradd(Reader reader) { String sql = "insert into reader(IDreader,readername,readersex,readerxueyuan) values('" + reader.getIDreader() + "','" + reader.getReadername() + "','" + reader.getReadersex() +"','"+ reader.getReaderxueyuan()+ "')"; //创建数据库链接 Connection conn = DBUtil.getConn(); Statement state = null; boolean f = false; int a = 0; try { state = conn.createStatement(); state.executeUpdate(sql); } catch (Exception e) { e.printStackTrace(); } finally { //关闭连接 DBUtil.close(state, conn); } if (a > 0) { f = true; } return f; } public boolean bookadd(Book book) { String sql = "insert into book(IDbook,bookname,bookwriter,bookchubanshe,booknumber) values('" + book.getIDbook() + "','" + book.getBookname() + "','" +book.getBookwriter() +"','"+ book.getBookchubanshe()+"','"+book.getBooknumber()+ "')"; //创建数据库链接 Connection conn = DBUtil.getConn(); Statement state = null; boolean f = false; int a = 0; try { state = conn.createStatement(); state.executeUpdate(sql); } catch (Exception e) { e.printStackTrace(); } finally { //关闭连接 DBUtil.close(state, conn); } if (a > 0) { f = true; } return f; } public boolean IDreader(String IDreader) { boolean flag = false; String sql = "select name from reader where IDreader = '" + IDreader + "'"; Connection conn = DBUtil.getConn(); Statement state = null; ResultSet rs = null; try { state = conn.createStatement(); rs = state.executeQuery(sql); while (rs.next()) { flag = true; } } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } return flag; } public boolean IDbook(String IDbook) { boolean flag = false; String sql = "select name from book where IDbook = '" + IDbook + "'"; Connection conn = DBUtil.getConn(); Statement state = null; ResultSet rs = null; try { state = conn.createStatement(); rs = state.executeQuery(sql); while (rs.next()) { flag = true; } } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } return flag; } public List<Book> liulantushu() { String sql = "select * from book"; List<Book> list = new ArrayList<>(); Connection conn = DBUtil.getConn(); Statement state = null; ResultSet rs = null; try { state = conn.createStatement(); rs = state.executeQuery(sql); Book bean = null; while (rs.next()) { String IDbook = rs.getString("IDbook"); String bookname = rs.getString("bookname"); String bookwriter=rs.getString("bookwriter"); String bookchubanshe = rs.getString("bookchubanshe"); String booknumber=rs.getString("booknumber"); bean = new Book(IDbook,bookname,bookwriter,bookchubanshe,booknumber); list.add(bean); } } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } return list; } public List<Book> search(String bookname,String bookwriter) { String sql = "select * from book where "; if (bookname != "") { sql += "bookname like '%" +bookname+ "%'"; } else if (bookwriter != "") { sql += "bookwriter like '%" +bookwriter+ "%'"; } List<Book> list = new ArrayList<>(); Connection conn = DBUtil.getConn(); Statement state = null; ResultSet rs = null; Book bean = null; try { state = conn.createStatement(); rs = state.executeQuery(sql); while (rs.next()) { String IDbook1 = rs.getString("IDbook"); String bookname1 = rs.getString("bookname"); String bookwriter1=rs.getString("bookwriter"); String bookchubanshe1 = rs.getString("bookchubanshe"); String booknumber1=rs.getString("booknumber"); bean =new Book(IDbook1,bookname1,bookwriter1,bookchubanshe1,booknumber1); list.add(bean); } } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } return list; } public Book getbybookname(String bookname) { String sql = "select * from book where bookname ='" + bookname + "'"; Connection conn = DBUtil.getConn(); Statement state = null; ResultSet rs = null; Book book = null; try { state = conn.createStatement(); rs = state.executeQuery(sql); while (rs.next()) { String IDbook1 = rs.getString("IDbook"); String bookwriter1=rs.getString("bookwriter"); String bookchubanshe1 = rs.getString("bookchubanshe"); String booknumber1=rs.getString("booknumber"); book = new Book(IDbook1,bookname,bookwriter1,bookchubanshe1,booknumber1); } } catch (Exception e) { e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } return book; } public Book getbybookwriter(String bookwriter) { String sql = "select * from book where bookwriter ='" + bookwriter + "'"; Connection conn = DBUtil.getConn(); Statement state = null; ResultSet rs = null; Book book = null; try { state = conn.createStatement(); rs = state.executeQuery(sql); while (rs.next()) { String IDbook1 = rs.getString("IDbook"); String bookname1 = rs.getString("bookname"); String bookchubanshe1 = rs.getString("bookchubanshe"); String booknumber1=rs.getString("booknumber"); book = new Book(IDbook1,bookname1,bookwriter,bookchubanshe1,booknumber1); } } catch (Exception e) { e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } return book; } public boolean login(User user) { String sql = "insert into user(IDuser,userpassword,flag) values('" + user.getIDuser() + "','" + user.getUserpassword() + "','" + user.getFlag() + "')"; //创建数据库链接 Connection conn = DBUtil.getConn(); Statement state = null; boolean f = false; int a = 0; try { state = conn.createStatement(); state.executeUpdate(sql); } catch (Exception e) { e.printStackTrace(); } finally { //关闭连接 DBUtil.close(state, conn); } if (a > 0) { f = true; } return f; } }
二、遇到的问题
还有一些功能没有实现,对于日期,不清楚怎么获取写入数据库
三、明日计划
明天继续完善