📄 shoppingcar.java~19~
字号:
package bookadmin;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;import java.util.*;import common.*;import common.MemberBean;import ConnBean.*;import bookadmin.loginServlet;import ConnBean.TradeInfoDB;import java.util.Calendar;/** * 此Servlet充当MVC中的Controller角色 */public class ShoppingCar extends HttpServlet { private static final String CONTENT_TYPE = "text/html;charset = GB2312"; int hour; public void init() throws ServletException { } //Process the HTTP Get request public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); request.setCharacterEncoding("GB2312"); response.setCharacterEncoding("GB2312"); PrintWriter out = response.getWriter(); HttpSession session = request.getSession(); //若session为null时,程序将导向Error.html if (session == null) response.sendRedirect("Error.html"); Vector buylist = (Vector) session.getAttribute("shoppingcart"); String action = request.getParameter("action"); if (!action.equals("CHECKOUT")) { //删除购物车中的书籍 if (action.equals("DELETE")) { String del = request.getParameter("del"); int d = Integer.parseInt(del); buylist.removeElementAt(d); } //新增书籍至购物车 else if (action.equals("ADD")) { boolean match = false; //取得后来新增的书籍 BookInfoBean abook = this.getBook(request); //新增第一本书至购物车时 if (buylist == null) { buylist = new Vector(); buylist.addElement(abook); //System.out.println("abook--------"+abook); //System.out.println("buylist------"+buylist); } else { for (int i = 0; i <buylist.size(); i ++) { BookInfoBean book = (BookInfoBean) buylist.elementAt(i); //如果新增的书籍和购物车的书籍一样时 if (book.getBookName().equals (abook.getBookName())) { book.setBookCount (book.getBookCount() + abook.getBookCount()); buylist.setElementAt(book, i); match = true; } } if (!match) buylist.addElement(abook); } } session.setAttribute("shoppingcart", buylist); String url = "Car.jsp"; RequestDispatcher rd = request.getRequestDispatcher(url); //将请求转发至购物页 rd.forward(request, response); } //结账,计算购物车书籍价钱总数 else if (action.equals("CHECKOUT")) { float total = 0; for (int i = 0 ; i < buylist.size(); i++) { BookInfoBean order = (BookInfoBean) buylist.elementAt(i); float price = order.getPrice(); int quantity = order.getBookCount(); total += (price * quantity); } String amount = total + ""; tradeBean objTdb = new tradeBean(); objTdb.setCountMoney(Float.parseFloat(amount)); request.setAttribute("amount", amount);//总计金额 //System.out.println("总计:"+amount); //Vector BookCount = new Vector(); //保存书籍编号 //BookCount = (Vector) session.getAttribute("Count");//保存订书数量 Calendar date = Calendar.getInstance(); if (date.get(Calendar.AM_PM) == date.get (Calendar.AM)) { hour = date.get(Calendar.HOUR) + 12; } String TradeNo = "" + date.get(Calendar.YEAR) + (date.get(Calendar.MONTH) + 1) + date.get(Calendar.DATE) + hour + date.get(Calendar.MINUTE) + date.get(Calendar.SECOND) + date.get(Calendar.MILLISECOND); String MemberID = null; if (session.getAttribute("MemberNo") != null || !session.getAttribute ("MemberNo").equals("")) { MemberID = session.getAttribute ("MemberNo").toString(); //System.out.println("upServlet---------"+MemberID); } //String Bookamount = null; TradeDB objTDB = new TradeDB(); //tradeBean objTdb = new tradeBean(); objTdb.setTradeNO(TradeNo); objTdb.setMemberUid(MemberID); String tradeDate=date.get(Calendar.YEAR)+"-"+(date.get(Calendar.MONTH)+1)+"-"+date.get(Calendar.DATE); objTdb.setTradeDate(tradeDate); if (session.getAttribute("finishLogin") == null || session.getAttribute("finishLogin").equals ("")) { out.println("对不起,您交的订单失败"); out.println("您还没有登陆,请先登陆后再试......"); out.println("<a href='loginPage.jsp'>重新登陆! </a>"); } else if (session.getAttribute ("finishLogin").toString().equals( "true")) { if (objTDB.InsertDB(objTdb)) { TradeInfoBean objTiB = null; TradeInfoDB objTidb = new TradeInfoDB() ; int i = 0; System.out.println(buylist.size()); While (i< buylist.size()) { objTiB = new TradeInfoBean(); objTiB.setTradeno(TradeNo); objTiB.setBookno(((BookInfoBean) buylist.get(i)). getBookNo()); objTiB.setTradecount(((BookInfoBean) buylist.get(i)).getBookCount()); objTidb.InsertDB(objTiB); i++; } } else { out.println("对不起,您提交订单失败! <br/> "); out.println("可能是您还没有登陆或系统繁忙,请重新登陆再试 <br/> "); out.println("<a href='loginPage.jsp'>重新登陆! </a> "); } } session.setAttribute("TradeNo",TradeNo); String url = "Checkout.jsp"; RequestDispatcher rd = request.getRequestDispatcher(url);//将请求转至结账页 rd.forward(request, response); } } /** * 此方法实现把客户端提交的购物数据封装到JavaBean类Book中 * @param req HttpServletRequest * @return Book */}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -