📄 shoppingcar.java
字号:
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; //Initialize global variables 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("boylist------------"+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 */ private BookInfoBean getBook(HttpServletRequest req) { ConnBean db = new ConnBean(); HttpSession session = req.getSession(); String BookNo = req.getParameter("hBookNo"); String BookName = req.getParameter("hBookName"); String author = req.getParameter("hAuthor"); String BookType = req.getParameter("hBookType"); String Book_concern = req.getParameter ("hBook_concern"); String price = req.getParameter("hPrice"); String BookCount = req.getParameter("hBookCount"); String Image = req.getParameter("hImage"); BookInfoBean bk = new BookInfoBean(); bk.setBookNo(BookNo); bk.setBookName(BookName); bk.setAuthor(author); bk.setBookType(Integer.parseInt(BookType)); bk.setPrice(Float.parseFloat(price)); bk.setBook_concern(Book_concern); bk.setBookCount(Integer.parseInt(BookCount)); bk.setImage(Image); return (bk); } //Process the HTTP Post request public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } //Clean up resources public void destroy() { }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -