⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 addloanservlet.java

📁 图书馆管理系统!利用java的mvc开发!
💻 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 + -