📄 buyaction.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 + -