【JavaWeb开发-Servlet】购物车功能示例(Session版)

目录

 1、创建数据表computer

 2、创建初始数据 

 3、新建web项目:shoppingCart

 4、配置Servlet环境

 5、导入数据库连接驱动

 6、搭建项目文件层:entity、util、dao、service、servlet、test。

 7、创建实体类

 8、创建数据库连接类

 9、编写dao层操作数据库代码

 10、测试dao层操作数据库是否可用

 11、编写Servlet层

 12、导入前端文件

 13、 编辑部署文件web.xml

 14、启动服务使用浏览器访问网址:http://localhost:8080/shoppingCart/list.do

 15、编写业务层

 16、修改Servlet层

 17、修改computer_list.jsp

 18、 编辑购物车页面和功能

 19、业务层

 20、Servlet层


**本示例主要着重基于session的业务层开发。

1、创建数据表computer

2、创建初始数据 

 3、新建web项目:shoppingCart

 别忘了勾选web.xml

 4、配置Servlet环境

 点击添加额外jar包

 找到Servlet-api,添加即可,点击Aply

 5、导入数据库连接驱动

拖拽:

 6、搭建项目文件层:entity、util、dao、service、servlet、test。

7、创建实体类

Computer.class

package com.qf.entity;

public class Computer {
	private int id;
	private String model;
	private String pic;
	private String prodDesc;
	private double price;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getModel() {
		return model;
	}
	public void setModel(String model) {
		this.model = model;
	}
	public String getPic() {
		return pic;
	}
	public void setPic(String pic) {
		this.pic = pic;
	}
	public String getProdDesc() {
		return prodDesc;
	}
	public void setProdDesc(String prodDesc) {
		this.prodDesc = prodDesc;
	}
	public double getPrice() {
		return price;
	}
	public void setPrice(double price) {
		this.price = price;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + id;
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Computer other = (Computer) obj;
		if (id != other.id)
			return false;
		return true;
	}
	@Override
	public String toString() {
		return "Computer [id=" + id + ", model=" + model + ", pic=" + pic + ", prodDesc=" + prodDesc + ", price="
				+ price + "]";
	}
	
	
}

8、创建数据库连接类

DBUtil.class

package com.qf.util;
import java.sql.Connection;
import java.sql.DriverManager;

//数据库链接的工具类型

public class DBUtil {
	
	//5.0版本获取数据库链接	
	public static Connection getConnection(){
		Connection con=null;
		try {
			//加载驱动
			Class.forName("com.mysql.jdbc.Driver");
			//获取数据库的链接
			String url="jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8";
			String name="root";
			String pwd="123456";
			con=DriverManager.getConnection(url,name,pwd);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return con;
	}
	
	   //8.0版本获取数据库链接	
		public static Connection getConnection2(){
			Connection con=null;
			try {
				//加载驱动
				Class.forName("com.mysql.cj.jdbc.Driver");
				//获取数据库的链接
				String url="jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&serverTimezone=UTC";
				String name="root";
				String pwd="123456";
				con=DriverManager.getConnection(url,name,pwd);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			return con;
		}
	
}

9、编写dao层操作数据库代码

package com.qf.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.qf.entity.Computer;
import com.qf.util.DBUtil;

public class ComputerDao {
	//查询所有商品列表
	public List<Computer> findAll(){

		//定义一个集合对象
		List<Computer> coms=new ArrayList<Computer>();
		//获取数据库链接对象
		Connection con=DBUtil.getConnection();
		//定义sql语句
		String sql="select * from computer";	
		try {
			//获取PreparedStatment对象  负责操作数据库sql语句
			PreparedStatement prep=con.prepareStatement(sql);
			//执行sql语句  获取查询数据后的结果集对象
			ResultSet rs=prep.executeQuery();
			//迭代结果集对象 将查询输出的数据封装到Emp对象当中  
			while(rs.next()){
				Computer c=new Computer();
				c.setId(rs.getInt("id"));
				c.setModel(rs.getString("model"));
				c.setPic(rs.getString("pic"));
				c.setPrice(rs.getDouble("price"));
				c.setProdDesc(rs.getString("prodDesc"));
				coms.add(c);
			}	
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}	
		return coms;
	
	}
	//根据id查询某个商品信息
	public Computer findById(int id){

		Computer c=null;
		//获取数据库链接
		Connection con=DBUtil.getConnection();
		//定义sql
		String sql="select * from computer where id=?";
		try {
			//获取PreparedStatement对象
			PreparedStatement prep=con.prepareStatement(sql);
			//注入占位符参数
			prep.setInt(1, id);
			//执行sql获取结果集对象
			ResultSet rs=prep.executeQuery();
			while(rs.next()){
				c=new Computer();
				c.setId(rs.getInt("id"));
				c.setModel(rs.getString("model"));
				c.setPic(rs.getString("pic"));
				c.setPrice(rs.getDouble("price"));
				c.setProdDesc(rs.getString("prodDesc"));
			}
			
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return c;
	
	}
	
	
}




10、测试dao层操作数据库是否可用

package com.qf.test;

import java.util.List;

import com.qf.dao.ComputerDao;
import com.qf.entity.Computer;

public class ComputerTest {

	public static void main(String[] args) {
		ComputerDao dao=new ComputerDao();
		//System.out.println(dao.findById(1));
		List<Computer>cs=dao.findAll();
		System.out.println(cs);
		for(Computer c:cs){
			System.out.println(c);
		}

	}

}

11、编写Servlet层

package com.qf.servlet;

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

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.qf.dao.ComputerDao;
import com.qf.entity.Computer;

public class ActionServlet extends HttpServlet {

	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		ComputerDao dao=new ComputerDao();
		String uri=request.getRequestURI();
		String path=uri.substring(uri.lastIndexOf("/"),uri.lastIndexOf("."));
		if(path.equals("/list")){
			List<Computer>cs=dao.findAll();
			request.setAttribute("cs", cs);
			request.getRequestDispatcher("computer_list.jsp").forward(request, response);
		}
		
		
	}

}

12、导入前端文件

13、 编辑部署文件web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  	<servlet>
  		<servlet-name>cart</servlet-name>
  		<servlet-class>com.qf.servlet.ActionServlet</servlet-class>
  	</servlet>
  	<servlet-mapping>
  		<servlet-name>cart</servlet-name>
  		<url-pattern>*.do</url-pattern>
  	</servlet-mapping>
</web-app>

14、启动服务使用浏览器访问网址:http://localhost:8080/shoppingCart/list.do

网页效果如下: 

 15、编写业务层

        在service包中创建两个类

Cart.class

package com.qf.service;

import java.util.ArrayList;
import java.util.List;

//购物车类
public class Cart {
	//商品条目类型
	private List<CartItem> items=new ArrayList<>();
 
	//添加购物车ﳵ
	public boolean add(CartItem item){
		//先判断一下这个商品有没有购买过 如果买过返回false  没有买过 返回true 并将商品加如到购物车当中
		for(int i=0;i<items.size();i++){
			CartItem curr=items.get(i);
			if(curr.getC().getId()==item.getC().getId()){
				//已经购买过该商品了
				return false;
			}
		}
		items.add(item);
		return true;
	}
 
}



CartItem.class 

package com.qf.service;

import com.qf.entity.Computer;

//商品条目类  记录着对应商品的名称及 购买数量

public class CartItem {
	private Computer c;//记录购买的商品信息
	private int qty;// 记录着购买的商品的数量
	public Computer getC() {
		return c;
	}
	public void setC(Computer c) {
		this.c = c;
	}
	public int getQty() {
		return qty;
	}
	public void setQty(int qty) {
		this.qty = qty;
	}
	

}

16、修改Servlet层

package com.qf.servlet;

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

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.qf.dao.ComputerDao;
import com.qf.entity.Computer;
import com.qf.service.Cart;
import com.qf.service.CartItem;

public class ActionServlet extends HttpServlet {

	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		ComputerDao dao=new ComputerDao();
		String uri=request.getRequestURI();
		String path=uri.substring(uri.lastIndexOf("/"),uri.lastIndexOf("."));
		if(path.equals("/list")){
			List<Computer>cs=dao.findAll();
			request.setAttribute("cs", cs);
			request.getRequestDispatcher("computer_list.jsp").forward(request, response);
		}else if(path.equals("/buy")){
			int id=Integer.parseInt(request.getParameter("id"));
			//根据客户传递过来的商品id 在数据库中查寻出用户购买的商品信息并封装成一个对象返回
			Computer c=dao.findById(id);
			//创建一个商品条目类型
			CartItem item=new CartItem();
			//将用户购买的商品放入到商品条目类中
			item.setC(c);
			//设置该购买的产品数量
			item.setQty(1);
			//获取Session对象
			HttpSession session=request.getSession();
			//到session中获取购物车对象 ,如果是第一次够买session中没有购物车对象
			//会为其创建一个购物车对象
			Cart cart=(Cart)session.getAttribute("cart");
			if(cart==null){
				//如果是第一次购买 需要先创建好一个cart对象 然后绑定到session对象上
				cart=new Cart();
				session.setAttribute("cart",cart);
			}
			boolean flag=cart.add(item);
			
			if(!flag){
				//该商品已经购买过了 提示用户已经买过这个商品
				request.setAttribute("buy_error"+id, "已经购买过该商品了");
				request.getRequestDispatcher("list.do").forward(request, response);
			}else{
				//没有买过,返回到商品列表
				request.setAttribute("buy_error"+id, "添加购物车成功");
				request.getRequestDispatcher("list.do").forward(request, response);
			}
		}
		
		
	}

}

17、修改computer_list.jsp

<%@ page language="java" contentType="text/html; charset=utf-8" import="java.util.*,com.qf.entity.*"
    pageEncoding="utf-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv=Content-Type content="text/html; charset=utf-8" />
		<link href="css/main/style.css"
			type="text/css" rel="stylesheet" />
	</head>
	<body topMargin="10">
		<div id="append_parent"></div>
		<table cellSpacing=6 cellPadding=2 width="100%" border="0">
			<tbody>
				<tr>
					<td>
						<table class="guide" cellSpacing="0" cellPadding="0" width="100%"
							border="0">
							<tbody>
								<tr>
									<td>
										<a href='#'>主页</a>&nbsp;/&nbsp;
										<a href='#'>笔记本订购(WEB007)</a>&nbsp;/&nbsp;商品列表
									</td>
								</tr>
							</tbody>
						</table>
						<br />

						<table class="tableborder" cellSpacing="0" cellPadding="0"
							width="100%" border="0">
							<tbody>
								<tr class="header">
									<td class="altbg1" width="15%">
										<b>型号</B>
									</td>
									<td class="altbg1" width="20%">
										<b>产品图片</b>
									</td>
									<td class="altbg1" width="30%">
										<b>产品说明</b>
									</td>

									<td class="altbg1" width="10%">
										<b>产品报价</b>
									</td>
									<td class="altbg1">
									</td>
								</tr>
							</tbody>
							<tbody>
								<%
									List<Computer>cs=(List<Computer>)request.getAttribute("cs");
									for(Computer c:cs){
									
								%>
							
								<tr>
									<td class="altbg2">
										&nbsp;&nbsp;<%=c.getModel() %>
									</td>
									<td class="altbg2">
										<img src="img/<%=c.getPic() %>" width="150"
											height="90" />
									</td>
									<td class="altbg2">
										<%=c.getProdDesc() %>
									</td>


									<td class="altbg2">
										¥<%=c.getPrice() %>
									</td>
									<td class="altbg2">
											<a href="buy.do?id=<%=c.getId()%>">购买</a>
											<span style="color:red;">
											<%
												String msg=(String)request.getAttribute("buy_error"+c.getId());
												
											%>	
											<%=(msg==null?"":msg) %>
											</span>
											
										</td>
								</tr>
								<%} %>
								
							</tbody>
						</table>
						<br />
						<center>
							<input class="button" type="button" value="查看购物车"
								name="settingsubmit" onclick="location = 'cart.html';">
						</center>
					</td>
				</tr>
			</tbody>
		</table>

	</body>
</html>

测试购物车的添加功能

http://127.0.0.1:8080/shoppingCart/list.do

18、 编辑购物车页面和功能

Cart.jsp

<%@ page language="java" contentType="text/html; charset=utf-8" import="java.util.*,com.qf.entity.*,com.qf.service.*"
    pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv=Content-Type content="text/html; charset=utf-8" />
		<link href="css/main/style.css"
			type="text/css" rel="stylesheet" />
	</head>

	<body topMargin="10">
		<div id="append_parent"></div>
		<table cellSpacing="6" cellPadding="2" width="100%" border="0">
			<tbody>
				<tr>
					<td>
						<table class="guide" cellSpacing="0" cellPadding="0" width="100%"
							border="0">
							<tbody>
								<tr>
									<td>
										<a href='#'>主页</a>&nbsp;/&nbsp;
										<a href='computer_list.html'>笔记本订购(WEB007)</a>&nbsp;/&nbsp;购物车信息
									</td>
								</tr>
							</tbody>
						</table>
						<br />



						<table class="tableborder" cellSpacing="0" cellPadding="0"
							width="100%" border="0">
							<tbody>
								<tr class="header">
									<td class="altbg2" colspan="6">
										购物车信息
									</td>
								</tr>
							<tbody>
								<tr>
									<td class="altbg1" width="20%">
										<b>型号</b>
									</td>
									<td class="altbg1" width="20%">
										<b>价格</b>
									</td>
									<td class="altbg1" width="10%">
										<b>数量</b>
									</td>
									<td class="altbg1" width="30">
										&nbsp;
									</td>
									<td class="altbg1" width="10%">
										&nbsp;
									</td>
									<td class="altbg1">
										&nbsp;
									</td>
								</tr>
							</tbody>
							
							<tbody>
								<%
									Cart cart=(Cart)session.getAttribute("cart");
									if(cart!=null&&cart.list().size()>0){
										List<CartItem> items=cart.list();
										for(CartItem it:items){
								
								%>
								
							
								<tr>
									<td class="altbg2">
										<%=it.getC().getModel() %>
									</td>
									<td class="altbg2">
										<%=it.getC().getPrice() %>
									</td>
									<td class="altbg2">
										<%=it.getQty() %>
									</td>
									<td class="altbg2">
										<input type="text" size="3" value=""
											id="num_<%=it.getC().getId() %>" />
									</td>
									<td class="altbg2">
										<a href="javascript:;" onclick="location='update.do?id=<%=it.getC().getId()%>&qty='+document.getElementById('num_<%=it.getC().getId() %>').value;">更改数量</a>
									</td>
									<td class="altbg2">
										<a href="del.do?id=<%=it.getC().getId() %>">删除</a>
									</td>
								</tr>
								
								<%
								
										}
									}
								
								%>
								
								
								<tr>
									<td class="altbg1" colspan="6">
										<b>总价格:¥<% if(cart==null){
											out.println(0);
										}else{
											out.println(cart.total());
										} %></b>
									</td>
								</tr>
							</tbody>
						
							<tr>
								<td class="altbg2" colspan="6">
									<b>还没有选购商品</b>
								</td>
							</tr>
						
						</table>

						<br />
						<center>
							<input class="button" type="button" value="返回商品列表"
								name="settingsubmit" onclick="location = 'list.do';">
							<input class="button" type="button" value="清空购物车"
								name="settingsubmit"
								onclick="location = 'clear.do';">
						</center>
					</td>
				</tr>
			</tbody>
		</table>

	</body>
</html>



  

 computer_list.jsp

<%@ page language="java" contentType="text/html; charset=utf-8" import="java.util.*,com.qf.entity.*"
    pageEncoding="utf-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv=Content-Type content="text/html; charset=utf-8" />
		<link href="css/main/style.css"
			type="text/css" rel="stylesheet" />
	</head>
	<body topMargin="10">
		<div id="append_parent"></div>
		<table cellSpacing=6 cellPadding=2 width="100%" border="0">
			<tbody>
				<tr>
					<td>
						<table class="guide" cellSpacing="0" cellPadding="0" width="100%"
							border="0">
							<tbody>
								<tr>
									<td>
										<a href='#'>主页</a>&nbsp;/&nbsp;
										<a href='#'>笔记本订购(WEB007)</a>&nbsp;/&nbsp;商品列表
									</td>
								</tr>
							</tbody>
						</table>
						<br />

						<table class="tableborder" cellSpacing="0" cellPadding="0"
							width="100%" border="0">
							<tbody>
								<tr class="header">
									<td class="altbg1" width="15%">
										<b>型号</B>
									</td>
									<td class="altbg1" width="20%">
										<b>产品图片</b>
									</td>
									<td class="altbg1" width="30%">
										<b>产品说明</b>
									</td>

									<td class="altbg1" width="10%">
										<b>产品报价</b>
									</td>
									<td class="altbg1">
									</td>
								</tr>
							</tbody>
							<tbody>
								<%
									List<Computer>cs=(List<Computer>)request.getAttribute("cs");
									for(Computer c:cs){
									
								%>
							
								<tr>
									<td class="altbg2">
										&nbsp;&nbsp;<%=c.getModel() %>
									</td>
									<td class="altbg2">
										<img src="img/<%=c.getPic() %>" width="150"
											height="90" />
									</td>
									<td class="altbg2">
										<%=c.getProdDesc() %>
									</td>


									<td class="altbg2">
										¥<%=c.getPrice() %>
									</td>
									<td class="altbg2">
											<a href="buy.do?id=<%=c.getId()%>">购买</a>
											<span style="color:red;">
											<%
												String msg=(String)request.getAttribute("buy_error"+c.getId());
												
											%>	
											<%=(msg==null?"":msg) %>
											</span>
											
										</td>
								</tr>
								<%} %>
								
							</tbody>
						</table>
						<br />
						<center>
							<input class="button" type="button" value="查看购物车"
								name="settingsubmit" onclick="location = 'cart.jsp';">
						</center>
					</td>
				</tr>
			</tbody>
		</table>

	</body>
</html>

19、业务层

Cart .class

package com.qf.service;

import java.util.ArrayList;
import java.util.List;

//购物车类
public class Cart {
	//商品条目类型
	private List<CartItem> items=new ArrayList<>();
 
	//添加购物车ﳵ
	public boolean add(CartItem item){
		//先判断一下这个商品有没有购买过 如果买过返回false  没有买过 返回true 并将商品加如到购物车当中
		for(int i=0;i<items.size();i++){
			CartItem curr=items.get(i);
			if(curr.getC().getId()==item.getC().getId()){
				//已经购买过该商品了
				return false;
			}
		}
		items.add(item);
		return true;
	}
	
	//获取购物车中所有商品条目
		public List<CartItem>list(){
			return items;
		}
		//修改购物车中商品数量方法
		public void update(int id,int qty){
			for(int i=0;i<items.size();i++){
				CartItem curr=items.get(i);
				if(curr.getC().getId()==id){
					curr.setQty(qty);
					return;
				}
			}
		}
		//删除商品条目
		public void delete(int id){
			for(int i=0;i<items.size();i++){
				CartItem curr=items.get(i);
				if(curr.getC().getId()==id){
					items.remove(curr);
					return;
				}
			}
			
			
		}
		
		//清空购物车中的所有商品
		public void clear(){
			items.clear();
		}
		//统计总价格
		public double total(){
			double total=0;
			for(int i=0;i<items.size();i++){
				CartItem curr=items.get(i);
				total+=curr.getC().getPrice()*curr.getQty();
			}
			
			return total;
		}
 
}









CartItem .class

package com.qf.service;

import com.qf.entity.Computer;

//商品条目类  记录着对应商品的名称及 购买数量

public class CartItem {
	private Computer c;//记录购买的商品信息
	private int qty;// 记录着购买的商品的数量
	public Computer getC() {
		return c;
	}
	public void setC(Computer c) {
		this.c = c;
	}
	public int getQty() {
		return qty;
	}
	public void setQty(int qty) {
		this.qty = qty;
	}
	

}

20、Servlet层

ActionServlet .class

package com.qf.servlet;

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

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.qf.dao.ComputerDao;
import com.qf.entity.Computer;
import com.qf.service.Cart;
import com.qf.service.CartItem;

public class ActionServlet extends HttpServlet {

	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		ComputerDao dao=new ComputerDao();
		String uri=request.getRequestURI();
		String path=uri.substring(uri.lastIndexOf("/"),uri.lastIndexOf("."));
		if(path.equals("/list")){
			List<Computer>cs=dao.findAll();
			request.setAttribute("cs", cs);
			request.getRequestDispatcher("computer_list.jsp").forward(request, response);
		}else if(path.equals("/buy")){
			int id=Integer.parseInt(request.getParameter("id"));
			//根据客户传递过来的商品id 在数据库中查寻出用户购买的商品信息并封装成一个对象返回
			Computer c=dao.findById(id);
			//创建一个商品条目类型
			CartItem item=new CartItem();
			//将用户购买的商品放入到商品条目类中
			item.setC(c);
			//设置该购买的产品数量
			item.setQty(1);
			//获取Session对象
			HttpSession session=request.getSession();
			//到session中获取购物车对象 ,如果是第一次够买session中没有购物车对象
			//会为其创建一个购物车对象
			Cart cart=(Cart)session.getAttribute("cart");
			if(cart==null){
				//如果是第一次购买 需要先创建好一个cart对象 然后绑定到session对象上
				cart=new Cart();
				session.setAttribute("cart",cart);
			}
			boolean flag=cart.add(item);
			
			if(!flag){
				//该商品已经购买过了 提示用户已经买过这个商品
				request.setAttribute("buy_error"+id, "已经购买过该商品了");
				request.getRequestDispatcher("list.do").forward(request, response);
			}else{
				//没有买过,返回到商品列表
				request.setAttribute("buy_error"+id, "添加购物车成功");
				request.getRequestDispatcher("list.do").forward(request, response);
			}
		}else if(path.equals("/update")){
			int id=Integer.parseInt(request.getParameter("id"));
			int qty=Integer.parseInt(request.getParameter("qty"));
			HttpSession session=request.getSession();
			//到session中获取购物车对象 ,如果是第一次够买session中没有购物车对象
			//会为其创建一个购物车对象
			Cart cart=(Cart)session.getAttribute("cart");
			cart.update(id, qty);
			response.sendRedirect("cart.jsp");
		}else if(path.equals("/del")){
			int id=Integer.parseInt(request.getParameter("id"));
			HttpSession session=request.getSession();
			//到session中获取购物车对象 ,如果是第一次够买session中没有购物车对象
			//会为其创建一个购物车对象
			Cart cart=(Cart)session.getAttribute("cart");
			cart.delete(id);
			response.sendRedirect("cart.jsp");
		}else if(path.equals("/clear")){
			HttpSession session=request.getSession();
			//到session中获取购物车对象 ,如果是第一次够买session中没有购物车对象
			//会为其创建一个购物车对象
			Cart cart=(Cart)session.getAttribute("cart");
			cart.clear();
			response.sendRedirect("cart.jsp");
		}
		
		
	}

}

项目资源代码:

链接:https://pan.baidu.com/s/1UlzDdMST9zKp6t_zNB49gw 
提取码:sjd1 

  • 9
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码骑士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值