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

📄 buyaction.java

📁 一个购物网站
💻 JAVA
字号:
package shoppingCar;

import java.io.*;
import java.sql.*;
import java.lang.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class BuyAction extends HttpServlet{
	
	ArrayList goodsArraylist=null;
	Hashtable goodsHashtable=null;
	
	String goodId="";	
	int singleCount=0;	
	boolean buyFlag=false;
	
	/**
	 *doGet
	 */	
	public void doGet(HttpServletRequest request,HttpServletResponse response)
	   throws IOException,ServletException{
	   	ServletContext application=getServletConfig().getServletContext();
	   	int i=0;
	   	try{
	   		String userName=(String)request.getSession().getAttribute("userName");
	   		if(userName==null || userName.equals("") ){ //用户尚未登录
	   			buyFlag=true;
	   			request.getSession().setAttribute("goods",goodsArraylist);
	   		}else{//用户已经登录
	   					//读取该商品的信息
		   		goodId=(String)request.getParameter("goodId");
		   		Hashtable goodInfo=new Hashtable();
		   		
		   		ArrayList allGoodsInfo=(ArrayList)application.getAttribute("goodsList");
		   		System.out.println("---------allGoodsInfo.size()=" + allGoodsInfo.size());
		   		
		   		for(i=0;i<allGoodsInfo.size();i++){
		   			Hashtable temp=(Hashtable)allGoodsInfo.get(i);
		   			System.out.println("---------temp.id()=" + temp.get("goodId"));
		   			if(goodId.equals((String)temp.get("goodId"))){
		   				goodInfo.put("goodId",goodId);
		   				goodInfo.put("tradeTimes","1");
		   				System.out.println("^^^^^^^^" +  new String(((String)temp.get("goodName"))) );
		   				goodInfo.put("goodName",new String(((String)temp.get("goodName")).getBytes("gbk")));
		   				goodInfo.put("goodPrice",temp.get("goodPrice"));
		   				break ;
		   			}
		   		}
		   		if(i==allGoodsInfo.size()) {//该商品信息不存在,可能是管理员已经把该商品删除
		   				//现在简单处理,直接转发到
		   				application.getRequestDispatcher("payFailed.jsp").forward(request,response);
		   		}
		   		allGoodsInfo=null;
		   		Hashtable temp=null;
		   		
	   			System.out.println(goodId);
	   			goodsArraylist=(ArrayList)(request.getSession().getAttribute("goods"));
	     		if(goodsArraylist==null || goodsArraylist.isEmpty() ){	
	     						//用户已经登录,进行第一次购物
	     			goodsArraylist=new ArrayList();	     				
			
					goodsArraylist.add(goodInfo);	
					System.out.println("//用户已经登录,进行第一次购物");
					request.getSession().setAttribute("goods",goodsArraylist);
			
					buyFlag=true;
		     	}else{//用户已经登录,进行再次购物(购物车已经不为空)
		     	
		     		System.out.println(goodsArraylist.size());
							System.out.println("用户已经登录,进行再次购物(购物车已经不为空)");
					for(i=0;i<goodsArraylist.size();i++){
						
						goodsHashtable=(Hashtable)goodsArraylist.get(i);
				
						if( ((String)goodsHashtable.get("goodId")).equals(goodId) ){
									//购物车中已经存在该商品
							System.out.println("购物车中已经存在该商品");
							singleCount=Integer.parseInt((String)goodsHashtable.get("tradeTimes"));
							goodInfo.put("tradeTimes",(singleCount+1)+"");
							goodsArraylist.remove(i); //删除购物车中该商品的信息,在后面重新添加
							goodsArraylist.add(goodInfo); 
					
							request.getSession().setAttribute("goods",goodsArraylist);
							buyFlag=true;
							break;
						}
					}
					if(i==goodsArraylist.size()){
							//购物车中还没有该该商品
						goodsArraylist.add(goodInfo);
							System.out.println("购物车中还没有该该商品");
						request.getSession().setAttribute("goods",goodsArraylist);
						
						buyFlag=true;
					}
				}
			}
	   		try{
		   		if(buyFlag){
		   			application.getRequestDispatcher("/shoppingCar.jsp").forward(request,response);
		   		}	
		   	}
		   	catch(Exception exc){
		   		System.out.println("*****************************************");
		   		exc.printStackTrace();
	   			System.out.println("*****************************************");
		   	}
	   	}catch(Exception e){
	   		e.printStackTrace();
	   		System.out.println("Buying goods Exception!");
	   	}
	}
	
	/**
	 *doPost
	 */	
	public void doPost(HttpServletRequest request,HttpServletResponse response)
	   throws IOException,ServletException
 	{
	   	doGet( request, response);
	}
	   	
}

⌨️ 快捷键说明

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