librariancontroller.java

来自「图书馆检索系统」· Java 代码 · 共 145 行

JAVA
145
字号
import java.io.IOException;import java.net.URLEncoder;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import library.Book;import library.Librarian;import library.Member;public class LibrarianController extends Controller {  public void doPost (HttpServletRequest req, HttpServletResponse res)          throws ServletException, IOException {    String action = req.getParameter("action");    if (action.equals("checkin")) {      checkin(req, res);    } else if (action.equals("checkout")) {      checkout(req, res);    } else if (action.equals("login")) {      login(req, res);    } else {      res.sendRedirect("/library/index.jsp");    }  }  private void checkin (HttpServletRequest req, HttpServletResponse res)           throws ServletException, IOException {    // Get the session.    HttpSession session = req.getSession();    Librarian librarian = (Librarian) session.getAttribute("librarian");    Book book = (Book) session.getAttribute("book");    // Get the bookid parameter    int bookID = (req.getParameter("bookID") == null) ? 0 : Integer.parseInt(req.getParameter("bookID"));    // Set the book object to the specified book.    if (book.getBook(bookID)) {      try {        // Check in.        if (book.checkIn()) {          res.sendRedirect("/library/entrycomplete.jsp?action=checkedin");        } else {          res.sendRedirect("/library/librarianaccess.jsp");        }      } catch (Exception e) {        System.err.println("Checkin failed: " + e.toString());        sendErrorRedirect(req, res, e);      }    } else {      // This book did not exist.      book.setErrors("checkinbook", "This book does not exist");      res.sendRedirect("/library/librarianaccess.jsp");    }  }  private void checkout (HttpServletRequest req, HttpServletResponse res)          throws ServletException, IOException {    // Get the session.    HttpSession session = req.getSession();    Librarian librarian = (Librarian) session.getAttribute("librarian");        Book book = (Book) session.getAttribute("book");    // Get the bookid parameter    int bookID = (req.getParameter("bookID") == null) ? -1 : Integer.parseInt(req.getParameter("bookID"));    // Get the member's ssn.    int ssn = (req.getParameter("ssn") == null) ? -1 : Integer.parseInt(req.getParameter("ssn"));    String pssn = (ssn == -1) ? "" : "?ssn" + ssn;    // Set the book object to the specified book.    if (book.getBook(bookID)) {      // Retrieve the member object.      Member member = new Member();            if (member.getMember(ssn)) {        try {          // Check out.          if (book.checkOut(librarian, member)) {            res.sendRedirect("/library/entrycomplete.jsp?action=checkedout");          } else {            res.sendRedirect("/library/librarianaccess.jsp" + pssn);          }        } catch (Exception e) {          System.err.println("Checkout failed: " + e.toString());          sendErrorRedirect(req, res, e);        }      } else {        // This member did not exist.        book.setErrors("checkoutmember", "This member does not exist");        res.sendRedirect("/library/librarianaccess.jsp" + pssn);      }    } else {      // This book did not exist.      book.setErrors("checkoutbook", "This book does not exist");      res.sendRedirect("/library/librarianaccess.jsp" + pssn);    }  }  private void login (HttpServletRequest req, HttpServletResponse res)          throws ServletException, IOException {    // Get the session object.    HttpSession session = req.getSession();    try {      Librarian librarian = (Librarian) session.getAttribute("lib");      if (librarian.validate(              Integer.parseInt(req.getParameter("ssn")),              req.getParameter("passwd"))) {        // Lets invalidate the session        // to get rid of the unnecessary objects.        session.invalidate();        session = req.getSession();        session.setAttribute("librarian", librarian);        // Redirect to the librarian page.        res.sendRedirect("/library/librarianaccess.jsp");        return;      }    } catch(NumberFormatException nfe) {      //nothing here. allows pass through to post catch      //code that is common to nfe and validate == false    } catch (Exception e) {      System.err.println(e.toString());      sendErrorRedirect(req, res, e);      return;    }    session.invalidate();    res.sendRedirect("/library/librarian.jsp?errMsg=" +            URLEncoder.encode("Invalid user id and/or password",                    "UTF-8"));  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?