📄 dispatcher.java
字号:
package dispatcher;import javax.servlet.http.*;import cart.ShoppingCart;import database.*;import exception.*;public class Dispatcher extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) { String bookId = null; String clear = null; BookDetails book = null; //从上下文中取出BookDBAO对象 BookDBAO bookDBAO = (BookDBAO) getServletContext().getAttribute("bookDBAO"); HttpSession session = request.getSession(); String selectedScreen = request.getServletPath(); //如果购物车对象不存在,实例化购一个物车对象并放入session. ShoppingCart cart = (ShoppingCart) session.getAttribute("cart"); if (cart == null) { System.out.println("error"); cart = new ShoppingCart(); session.setAttribute("cart", cart); } if (selectedScreen.equals("/bookcatalog")) { bookId = request.getParameter("Add"); //向购物车内添加一本书 if (bookId!=null) { try { book = bookDBAO.getBookDetails(bookId); cart.add(bookId, book); } catch (BookNotFoundException ex) { } } } else if (selectedScreen.equals("/bookshowcart")) { bookId = request.getParameter("Remove"); //从购物车内删除一本书 if (bookId != null) { cart.remove(bookId); } clear = request.getParameter("Clear"); //清空购物车 if ((clear != null) && clear.equals("clear")) { cart.clear(); } } else if (selectedScreen.equals("/bookreceipt")) { // 将订单存入数据库,并更新存货 try { bookDBAO.buyBooks(cart); } catch (OrderException ex) { selectedScreen = "/bookordererror"; } } String screen = selectedScreen + ".jsp"; try { request.getRequestDispatcher(screen) .forward(request, response); } catch (Exception ex) { ex.printStackTrace(); } } public void doPost(HttpServletRequest request, HttpServletResponse response) { String screen = request.getServletPath() + ".jsp"; //把请求转发至JSP页面 try { request.getRequestDispatcher(screen) .forward(request, response); } catch (Exception ex) { ex.printStackTrace(); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -