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

📄 buy.java

📁 java web开发宝典源代码
💻 JAVA
字号:
package com.yxq.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.yxq.bean.SingleObject;

public class Buy extends HttpServlet {
	private Map havemap=new HashMap();
	
	protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
		doPost(request,response);	
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		HttpSession session=request.getSession();
		String sessionID=session.getId();
		int order=-1;
        String strorder=request.getParameter("list_order");
        try{
	        order=Integer.parseInt(strorder);
        }catch(NumberFormatException e){
      	    order=-1;
        }
        if(order==-1){
        	System.out.println("请选择商品!");
        }else{
        	List currentlist=(ArrayList)session.getAttribute("currentlist");
  	        if(currentlist!=null){
  	        	SingleObject select=(SingleObject)(currentlist.get(order));
  	        	int selectId=select.getId();
  	        	
  	        	havemap=(HashMap)session.getServletContext().getAttribute("havemap");
  	        	if(havemap!=null&&havemap.size()!=0){
  	        		if(havemap.containsKey(selectId)){
  	        			synchronized(havemap){
  	        				int rem=(Integer)havemap.get(selectId);
    						int exist=0;
    						exist=rem-1;
  	        				if(exist<0){    				        	  
  	        					select.setMessage("库存已空!");
  	        					select.setHave(0);
  	        					currentlist.set(order,select);
  	        					session.setAttribute("currentlist",currentlist);
  	        				}
  	        				else{
        						havemap.put(selectId,exist);
        						session.getServletContext().setAttribute("havemap",havemap);
        						SingleObject buysingle=null;
        						
        						Map carmap=(HashMap)session.getAttribute("carmap");
  	        					/***  如果购物车为空  ***/
  	        					if(carmap==null||carmap.size()==0){
  	        						carmap=new HashMap();
  	        						buysingle=new SingleObject();    	    		  
  	        						buysingle.setId(selectId);
  	        						buysingle.setName(select.getName());
  	        						buysingle.setPrice(select.getPrice());
  	        						buysingle.setTruehave(select.getTruehave());
  	        						
  	        						buysingle.setBuyN(1);
  	        						buysingle.setBuyMoney(buysingle.getBuyN()*buysingle.getPrice());
  	        						buysingle.setHave(exist);
  	        						carmap.put(selectId,buysingle);
  	        					}
  	        					/***  如果购物车不为空  ***/
  	        					else{
	        						/***  如果购物车已存在选中的物品  ***/
  	        						if(carmap.containsKey(selectId)){
  	        							buysingle=(SingleObject)carmap.get(selectId);
  	        							buysingle.setBuyN(buysingle.getBuyN()+1);
  	        							buysingle.setBuyMoney(buysingle.getPrice()*buysingle.getBuyN());             	  					   
  	        							buysingle.setHave(exist);
  	        							carmap.put(selectId,buysingle);
  	        						}
  	        						/***  如果购物车不存在选中的物品  ***/
  	        						else{
  	        							buysingle=new SingleObject();   
  	        							buysingle.setId(selectId);
  	        							buysingle.setName(select.getName());
  	        							buysingle.setPrice(select.getPrice());
  	        							buysingle.setTruehave(select.getTruehave());
  	        							
  	        							buysingle.setBuyN(1);
  	        							buysingle.setBuyMoney(buysingle.getBuyN()*buysingle.getPrice());       					   
  	        							buysingle.setHave(exist);
  	        							carmap.put(selectId,buysingle);  	        							
  	        						}
  	        					}  //购物车不为空
  	        					session.setAttribute("carmap",carmap);
  	        					
  	        					Map usermap=(HashMap)session.getServletContext().getAttribute("usermap");
  	        					usermap.put(sessionID,carmap);  	        					
  	        					session.getServletContext().setAttribute("usermap",usermap);
  	        					
  	        				}    //库存不为空
  	        			}       //synchronized
  	        		}          //if(havemap.containsKey(selectId))
  	        		else{select.setMessage("未知库存量!"); }
  	        	}             //if(havemap!=null&&havemap.size()!=0)
  	        	else{select.setMessage("HashMap库存表空!"); }
            }               //if(currentlist!=null)
            else{System.out.println("列表为空!");}
        }
        RequestDispatcher rd=request.getRequestDispatcher("/shop/preindex");
		rd.forward(request,response);
    }	
}

⌨️ 快捷键说明

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