📄 addloanservlet.java
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package cn.edu.jmu.jc;import cn.edu.jmu.beans.Board;import cn.edu.jmu.beans.Book;import cn.edu.jmu.beans.Loan;import cn.edu.jmu.beans.Privilege;import cn.edu.jmu.beans.Title;import cn.edu.jmu.util.MysqlUtil;import java.io.IOException;import java.text.Format;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.dbutils.handlers.BeanListHandler;/** * * @author jiangchen */public class addLoanServlet extends HttpServlet { /** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * @param request servlet request * @param response servlet response */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); request.setCharacterEncoding("UTF-8"); } // <editor-fold defaultstate="collapsed" desc="HttpServlet 方法。单击左侧的 + 号以编辑代码。"> /** * Handles the HTTP <code>GET</code> method. * @param request servlet request * @param response servlet response */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); if (request.getHeader("referer") == null) { response.sendRedirect("index.jsp"); } else { doPost(request, response); } } /** * Handles the HTTP <code>POST</code> method. * @param request servlet request * @param response servlet response */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); String message = ""; int state = 0; String brid = request.getParameter("brid"); String bid = request.getParameter("bid"); String ptype = request.getParameter("ptype"); int lid = 0; MysqlUtil db = new MysqlUtil("java:/comp/env/jdbc/mysql"); db.init(); String sql = ""; if (bid.equals("")) { message = "对不起,书的登录号不能为空,请您重新输入!"; state = 1; } else { sql = "select * from book where bid=?"; String[] param = {bid}; List result = (List) db.query(sql, param, new BeanListHandler(Book.class)); if (result.size() == 0) { message = "对不起,该图书不存在,请您重新输入!"; state = 1; } else { Book book = (Book) result.get(0); if (book.getBrState().equals("已出借")) { message = "对不起,该图书已被借出,请你重新输入!"; state = 1; } else { sql = "select * from loan where lid=(select max(lid) from loan)"; List result1 = (List) db.query(sql, new BeanListHandler(Loan.class)); if (result1.isEmpty()) { lid = 1000000001; } else { Loan loan = (Loan) result1.get(0); lid = loan.getLid() + 1; } Format format = new SimpleDateFormat("yyyy-MM-dd"); Date brDateDate = new Date(); String brDate = format.format(brDateDate); sql = "select * from privilege where ptype=?"; String[] param1 = {ptype}; List result2 = (List) db.query(sql, param1, new BeanListHandler(Privilege.class)); Privilege privilege = (Privilege) result2.get(0); int reloanDateNum = privilege.getReloanDateNum(); int loanDateNum = privilege.getLoanDateNum(); Calendar lastBackDateCalender = Calendar.getInstance(); lastBackDateCalender.add(Calendar.DAY_OF_MONTH, loanDateNum); Date lastBackDateDate = lastBackDateCalender.getTime(); String lastBackDate = format.format(lastBackDateDate); Object[] param2 = {lid, brid, bid, brDate, reloanDateNum, lastBackDate, "0000-00-00"}; sql = "insert into loan(lid,brid,bid,brDate,reloanDateNum,lastBackDate,backDate) values(?,?,?,?,?,?,?)"; db.update(sql, param2); sql = "select * from book where bid=?"; String tid = book.getTid(); sql = "delete from reservation where brid=? and tid=?"; String[] param4 = {brid, bid}; db.update(sql, param4); String boardDate = brDate.substring(0, 7); sql = "select * from board where boardDate=? and tid=?"; String[] param5 = {boardDate, tid}; List result5 = (List) db.query(sql, param5, new BeanListHandler(Board.class)); int loanNum = 0; if (result5.size() == 0) { sql = "select * from title where tid=?"; String[] param6 = {tid}; List result6 = (List) db.query(sql, param6, new BeanListHandler(Title.class)); Title title = (Title) result6.get(0); String btype = title.getBtype(); loanNum = 1; sql = "insert into board(boardDate,loanNum,tid,btype) value(?,?,?,?)"; Object[] param7 = {boardDate, loanNum, tid, btype}; db.update(sql, param7); } else { Board board = (Board) result5.get(0); loanNum = board.getLoanNum() + 1; sql = "update board set loanNum=? where boardDate=? and tid=?"; Object[] param8 = {loanNum, boardDate, tid}; db.update(sql, param8); } sql = "update book set brState=? where bid=?"; Object[] param9 = {"已出借", bid}; db.update(sql, param9); message = "操作成功!"; } } } if (state == 0) { String hyperlink = "<a href=\"librarianManage.jsp\">返回</a></br>" + "<form action=\"/libraryMIS/displayLoanBookInterface\" method=\"post\" name=\"form1\" id=\"form1\">" + "<table align=\"center\"><tr>" + "<td><input type=\"hidden\" name=\"brid\" value=\"" + brid + "\"/></td><td><input type=\"submit\" name=\"Submit1\" value=\"继续借书\"/></td>" + "</tr></table></form>"; request.setAttribute("title", "操作成功!"); request.setAttribute("message", message); request.setAttribute("hyperlink", hyperlink); request.getRequestDispatcher("/result.jsp").forward(request, response); } else { String hyperlink = "<input type=button value=\"返回\" onClick=\"history.back(-1)\">"; request.setAttribute("title", "操作失败!"); request.setAttribute("message", message); request.setAttribute("hyperlink", hyperlink); request.getRequestDispatcher("/result.jsp").forward(request, response); } } /** * Returns a short description of the servlet. */ public String getServletInfo() { return "Short description"; }// </editor-fold>}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -