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

📄 shoppingservlet.java

📁 用jsp实现的在线商店系统
💻 JAVA
字号:
import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import shopping.CD;

	public class ShoppingServlet extends HttpServlet {

	public void init(ServletConfig conf) throws ServletException {
		super.init(conf);
	}

	public void doPost (HttpServletRequest req, HttpServletResponse res)
		throws ServletException, IOException {
		HttpSession session = req.getSession(true);
		String login =(String) session.getAttribute("login");
		if (login == null) {
			res.sendRedirect("/musicshop/error.html");
		}
		Vector buylist=(Vector)session.getValue("shopping.shoppingcart");
		String action = req.getParameter("action");
		if (!action.equals("CHECKOUT")) {
			if (action.equals("DELETE")) {
				String del = req.getParameter("delindex");
				int d = (new Integer(del)).intValue();
				buylist.removeElementAt(d);
			} else if (action.equals("ADD")) {
				//any previous buys of same cd?
				boolean match=false;
				CD aCD = getCD(req);
					if (buylist==null) {
						//add first cd to the cart
						buylist = new Vector(); //first order
						buylist.addElement(aCD);
					} else { // not first buy
						for (int i=0; i< buylist.size(); i++) {
							CD cd = (CD) buylist.elementAt(i);
							if (cd.getAlbum().equals(aCD.getAlbum())) {
								cd.setQuantity(cd.getQuantity()+aCD.getQuantity());
								buylist.setElementAt(cd,i);
								match = true;
							} //end of if name matches
						} // end of for
							if (!match) 
								buylist.addElement(aCD);
				   }
			}
			session.putValue("shopping.shoppingcart", buylist);
			String url="/musicshop/EShop.jsp";
			ServletContext sc = getServletContext();
			RequestDispatcher rd = sc.getRequestDispatcher(url);
			rd.forward(req, res);
		} else if (action.equals("CHECKOUT")) {
			float total =0;
			for (int i=0; i< buylist.size();i++) {
				CD anOrder = (CD) buylist.elementAt(i);
				float price= anOrder.getPrice();
				int qty = anOrder.getQuantity();
				total += (price * qty);
			}
			total += 0.005;
			String amount = new Float(total).toString();
			int n = amount.indexOf('.');
			amount = amount.substring(0,n+3);
			req.setAttribute("amount",amount);
			String url="/musicshop/Checkout.jsp";
			ServletContext sc = getServletContext();
			RequestDispatcher rd = sc.getRequestDispatcher(url);
			rd.forward(req,res);
		}
	}

	private CD getCD(HttpServletRequest req) {
		//您可想象一下,如果这些代表都在JSP文件中,那样是不是太难看了。
		String myCd = req.getParameter("CD");
		String qty = req.getParameter("qty");
		StringTokenizer t = new StringTokenizer(myCd,"/");
		String album= t.nextToken();
		String artist = t.nextToken();
		String country = t.nextToken();
		String price = t.nextToken();
		price = price.replace('$',' ').trim();
		CD cd = new CD();
		cd.setAlbum(album);
		cd.setArtist(artist);
		cd.setCountry(country);
		cd.setPrice((new Float(price)).floatValue());
		cd.setQuantity((new Integer(qty)).intValue());
		return cd;
	}
}

⌨️ 快捷键说明

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