dispatcher.java

来自「jsp 应用开发技术光盘 是《jsp应用开发技术》这本书的源代码」· Java 代码 · 共 82 行

JAVA
82
字号
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 + =
减小字号Ctrl + -
显示快捷键?