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

📄 shoppingservlet.java

📁 Servlet初步知识掌握
💻 JAVA
字号:
import java.io.*; 
import javax.servlet.*; 
import javax.servlet.http.*;
import java.util.*;
import changpian.CP; 

public class ShoppingServlet extends HttpServlet {  

 	public void doPost (HttpServletRequest req, HttpServletResponse res) 
 	throws ServletException, IOException { 
		HttpSession session = req.getSession(true); 
		req.setCharacterEncoding("GBK");
		Vector vector=(Vector)session.getAttribute("total"); 
		String action = req.getParameter("action"); 
		if (!action.equals("checkout")) { 
			if (action.equals("delete")) { 
				String del = req.getParameter("delindex"); 
				int index = Integer.parseInt(del);; 
				vector.removeElementAt(index);  // 从vector中将相应的数据删除
			} else if (action.equals("add")) { 
				//以前是否购买了同样的cd
				boolean again=false; //again变量表示是否以前购买过相同的cd
				CP newCp = getCD(req); 
				if (vector==null) { 
					vector = new Vector(); 
					vector.addElement(newCp); 
				} else { // 不是第一次购买 
					for (int i=0; i< vector.size(); i++) { 
						CP cd = (CP) vector.elementAt(i); 
						//判断购买的cd是否已经买过
						if (cd.getName().equals(newCp.getName())) {
							cd.setQuantity(cd.getQuantity()+newCp.getQuantity()); 
							vector.setElementAt(cd,i); 
							again = true; 
						}	
					} 
					//如果购买的cd在前面没有买过
					if (!again) 
						vector.addElement(newCp); 
				} 
			} 
			session.setAttribute("total", vector); 
			String url="/shop.jsp"; 
						getServletConfig().getServletContext().getRequestDispatcher(url).forward(req, res);
			
		} else if (action.equals("checkout")) { 
			float total =0; 
			for (int i=0; i< vector.size();i++) { 
				CP one = (CP) vector.elementAt(i); 
				float price= one.getPrice(); 
				int qty = one.getQuantity(); 
				total += (price * qty); 
			}  
			total += 0.005;
			String amount = "" + total; 
			int n = amount.indexOf('.'); 
			amount = amount.substring(0,n+3); 
			req.setAttribute("amount",amount); 
			String url="/checkout.jsp"; 				
			getServletConfig().getServletContext().getRequestDispatcher(url).forward(req, res);
		} 
	} 
	
	private CP getCD(HttpServletRequest req) { 
		String cdname = req.getParameter("CD"); 
		String qty = req.getParameter("qty"); 
		StringTokenizer st = new StringTokenizer(cdname,"|"); 
		String name = st.nextToken(); 
		String artist = st.nextToken(); 
		String country = st.nextToken(); 
		String price = st.nextToken(); 
		
		price = price.replace('$',' ').trim(); 
		CP cp = new CP(); 
		cp.setName(name); 
		cp.setArtist(artist); 
		cp.setCountry(country); 
		cp.setPrice(Float.parseFloat(price)); 
		cp.setQuantity(Integer.parseInt(qty)); 
		return cp; 
	} 
}

⌨️ 快捷键说明

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