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

📄 membercontroller.java

📁 图书馆检索系统
💻 JAVA
字号:
import java.io.IOException;import java.net.URLEncoder;import java.sql.SQLException;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.Hold;import library.Member;public class MemberController extends Controller {  public void doPost (HttpServletRequest req,          HttpServletResponse res) throws ServletException, IOException {    String action = req.getParameter("action");    // Output for debug purposes.    System.err.println("MemberController: " + action);    // Take the appropriate action.    if (action.equals("placehold")) {      placeHold(req, res);    } else if (action.equals("makefav")) {      makeFav(req, res);    } else if (action.equals("login")) {      login(req, res);    } else if (action.equals("viewborrowed")) {      viewBorrowed(req, res);    } else if (action.equals("viewonhold")) {      viewOnHold(req, res);    } else {      res.sendRedirect("/library/index.jsp");    }  }  private void viewBorrowed (HttpServletRequest req, HttpServletResponse res)          throws ServletException, IOException {    // Get the session object.    HttpSession session = req.getSession();    // Retrieve the member.    Member member = (Member) session.getAttribute("member");    // Get the checked out books.    Book book = null;    try {      book = member.getCheckedOutBooks();    } catch (SQLException se) {      System.err.println(se.toString());      sendErrorRedirect(req, res, se);      return;    }    // Store the book object in the session.    session.setAttribute("book", book);    // Redirect to the display page.    res.sendRedirect("/library/viewborrowedbooks.jsp");  }  private void viewOnHold (HttpServletRequest req,          HttpServletResponse res) throws ServletException, IOException {    // Get the session object.    HttpSession session = req.getSession();    // Retrieve the member.    Member member = (Member) session.getAttribute("member");    // Get the held books.    Hold hold = null;    try {      hold = member.getHolds();    } catch (SQLException se) {      System.err.println(se.toString());      sendErrorRedirect(req, res, se);      return;    }    // Store the book object in the session.    session.setAttribute("hold", hold);    // Redirect to the display page.    res.sendRedirect("/library/viewheldbooks.jsp");  }  private void login(HttpServletRequest req,          HttpServletResponse res) throws ServletException, IOException {    // Get the session object.    HttpSession session = req.getSession();    Member member = (Member) session.getAttribute("mem");    // The passwd and ssn parameters will be present when attempting    // to login.    String pass = req.getParameter("passwd");    int ssn = (req.getParameter("ssn").equals("")) ? 0 :            Integer.parseInt(req.getParameter("ssn"));    // A callNumber parameter may or may not be present,    // One will be present if a member clicked "Place Hold"    // without being logged in, and then attempts to log in.    String hcn =            (req.getParameter("hcn") == null) ? "" : req.getParameter("hcn");    String fcn =            (req.getParameter("fcn") == null) ? "" : req.getParameter("fcn");    // When redirecting to another page, include a forwarded    // call number to hold (if any).    String hcnparam = hcn.equals("") ? "" : "?hcn=" + hcn;    String fcnparam = fcn.equals("") ? "" : "?fcn=" + fcn;    String cnparam = hcn.equals("") ? fcnparam : hcnparam;    // Lets invalidate the session    // to get rid of the unneeded Member session attribute.    session.invalidate();    session = req.getSession();    try {      if (member.validate(ssn, pass)) {        session.setAttribute("member", member);        res.sendRedirect("/library/memberaccount.jsp" + cnparam);      } else {        // The password was not validated.  We simply        // set an error message, and redirect back to        // the member login page.     	Member m = new Member();        session.setAttribute("mem", m);        m.setErrors("generic","Invalid user id and/or password");        res.sendRedirect(URLEncoder.encode("/library/member.jsp" + cnparam, "UTF-8"));      }    } catch (Exception e2) {      // Something bad happened, so redirect to the      // error page.      System.err.println(e2.toString());      sendErrorRedirect(req, res, e2);    }  }  private void placeHold(HttpServletRequest req, HttpServletResponse res)           throws ServletException, IOException {    // Get the session object.    HttpSession session = req.getSession();    Member member = (Member) session.getAttribute("member");    // Now get the callnumber parameter.    String cn = req.getParameter("cn");    // Before placing a hold, we must first make sure that    // a member is logged in.  If they are not logged in,    // redirect to the member login page.    if (member == null) {      res.sendRedirect(URLEncoder.encode("/library/member.jsp?hcn=" + cn, "UTF-8"));    } else {      try {        int ok = member.placeHold(cn) ? 1 : 0;        res.sendRedirect(URLEncoder.encode("/library/hold_done.jsp?cn="                 + cn + "&ok=" + ok, "UTF-8"));      } catch (Exception e) {        System.err.println(e.toString());        sendErrorRedirect(req, res, e);      }    }  }  private void makeFav(HttpServletRequest req, HttpServletResponse res)           throws ServletException, IOException {    // Get the session object.    HttpSession session = req.getSession();    Member member = (Member) session.getAttribute("member");    // Now get the callnumber parameter.    String cn = req.getParameter("cn");    // Before placing a hold, we must first make sure that    // a member is logged in.  If they are not logged in,    // redirect to the member login page.    if (member == null) {      res.sendRedirect(URLEncoder.encode("/library/member.jsp?fcn=" + cn, "UTF-8"));    } else {      try {        int ok = member.addFav(cn) ? 1 : 0;        res.sendRedirect(URLEncoder.encode("/library/addfav_done.jsp?cn="                 + cn + "&ok=" + ok, "UTF-8"));      } catch (Exception e) {        System.err.println(e.toString());        sendErrorRedirect(req, res, e);      }    }  }}

⌨️ 快捷键说明

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