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

📄 additemtocartservlet1.java

📁 该源码为java购物车项目源码
💻 JAVA
字号:
package www.mary.servlet;

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

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 www.mary.Bean.ProitemBean;
import www.mary.access.PowerAccess;

public class AddItemToCartServlet1 extends HttpServlet {

	public AddItemToCartServlet1() {
		super();
	}
	public void init() throws ServletException {
	}

	
	//得到Itemid,把他们存入一个list容器,然后打印出要输出的项目
	//1,你第一次买个东西,来到这里用request取出来itemid,然后通过他存入list容器,响应倒cart页面
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		HttpSession session=request.getSession(true);
		
		String itemid=request.getParameter("itemid"); //得到从页面传递过来的值
		String type=request.getParameter("type");
		ProitemBean pb=null;
		List list=new ArrayList();
	    if(type.equals("add"))                        //判断如果是增加商品
	    {                      
		 
	    	if(session.getAttribute("list")==null)
	
		 
	    	{      //第一次购物

			
	    		pb=PowerAccess.getcart(itemid);         //展现购物商品的信息
	    		pb.setQTY(1);                           //每次默认每样商品取一个  
	    		list.add(pb);                           //从第一次开始现把实例存入list,
	    		session.setAttribute("list",list);      //再把list存入session
	    		response.sendRedirect("./cart.jsp");    //把响应指向购物车页面
		     
	    	}else{                                       //如果是第N次购物,那么我们先取出list,然后通过itemid取出一个实例,再把实例累加到
	    		list=(List)session.getAttribute("list"); //第N次购物时候,session不为空,先取出list
/** 
 *              错误的程序,没有循环!
			    if(((ProitemBean)((List)session.getAttribute("list"))).getITEMID().equals(itemid))
			    {
				    pb.setQTY(pb.getQTY()+1);           //这里是给bean里面加1
				    response.sendRedirect("./cart.jsp");
			    }else{
		    	    pb=PowerAccess.getcart(itemid);	                                    
	                pb.setQTY(1);
	                list.add(pb);                       //把新实例追加到容器里面
	                session.setAttribute("list",list);
	                response.sendRedirect("./cart.jsp");	 
				  
				  
			  }
	**/
	    		for(int i=0;i<list.size();i++)           //把list里面的实例bean展现出来
	    		{
	    			pb=(ProitemBean)list.get(i);         //取出实例
	    			if(pb.getITEMID().equals(itemid))            //如果我们是第二次买同样的商品,那么就让数量自动加1
	    			{
	    				pb.setQTY(pb.getQTY()+1);           //这里是给bean里面加1
	    				break;
	    			}
	    			if(i==list.size()-1){                                //如果买的不是同样的商品,我们就自动的存入实例,并让数量为1  
	    				pb=PowerAccess.getcart(itemid);	                                    
	    				pb.setQTY(1);
	    				list.add(pb);                       //把新实例追加到容器里面
	    				session.setAttribute("list",list);
	    				break;
	    			}
			  
	    		}
	    		response.sendRedirect("./cart.jsp");	 
        	}
         }else if(type.equals("delete")){
        	 list=(List)session.getAttribute("list");
        	 for(int i=0;i<list.size();i++){
        		  pb=(ProitemBean)list.get(i);  //取出所有的实例
        		  if(pb.getITEMID().equals(itemid)){    
        			  list.remove(pb);
        			  if(list!=null&list.size()>0){
        				  session.setAttribute("list",list);
        			  }else{
        				  session.removeAttribute("list");
        			  }
        			  
        		  }
        		  
        	  }
        	//如果传递的是delete,就清楚这个itemid在session中的信息
        	  
/**       	
 *           这是利用对list的长度判断来删除  
     		 if(list.size()==1){
    			 session.removeAttribute("list");
    			 session.setAttribute("itemid",itemid);
    			 
     		   }else{
     			  for(int i=0;i<list.size();i++)

          	      {
        		   pb=(ProitemBean)list.get(i);
         		   if(pb.getITEMID().equals(itemid)){       			
         			  list.remove(pb);
       				  session.setAttribute("list",list);

        		  }
   
           	   
*/
        	 response.sendRedirect("./cart.jsp");
         }
	    
	   }
           	

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		this.doGet(request,response);
		}


	public void destroy() {


	}

}

⌨️ 快捷键说明

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