📄 shoppingcarservlet.java
字号:
package com.action;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
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.vo.FoodInfo;
import com.vo.CartBean;
import com.bo.ShoppingCart;
import com.bo.FoodInfoBo;
import java.util.Hashtable;
public class ShoppingCarServlet extends HttpServlet {
public ShoppingCarServlet() {
super();
}
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
//get value 食物ID封装Bean
String foodID = request.getParameter("foodId");
//封装Bean
FoodInfo info = new FoodInfo();
info.setFoodID(foodID);
FoodInfo foodInfo = null;
//根据foodID从数据库里查询信息
ArrayList list = FoodInfoBo.createFoodInfoBo().selectFoodInfo(info);
//因为返回的是ArrayList数组,所以为转成FoodInfo Bean要用迭代转换
Iterator it = list.iterator();
if(it.hasNext()){
Object obj = it.next();
foodInfo = (FoodInfo) obj;
}
//创建一个session
HttpSession session = request.getSession();
//得到购物的信息
ShoppingCart cart = (ShoppingCart)session.getAttribute("cart");
//判断是否为空,为空创建,否则在HashMap里得到存在HashMap中的一条CartBean数据
if(cart==null){
cart = new ShoppingCart();
cart.addFood(foodInfo);
}else{
HashMap<String,CartBean> mp = cart.getCart();
//根据foodID得到一条相同的数据
CartBean cartBean =(CartBean)mp.get(foodID);
//判断CartBean中是否存在相同的数据,不相同就ShoppingCart加一条,相同就条数加一
if(cartBean==null){
cart.addFood(foodInfo);
}else{
cart.updateFoodCount((cartBean.getFoodCount()+1), foodID);
}
}
//把 ShoppingCart设置在session范围内
session.setAttribute("cart", cart);
HashMap map=null;
if(cart!=null){
map= cart.getCart();
}else{
request.setAttribute("flag", true);
request.getRequestDispatcher("view/shopCart.jsp").forward(request, response);
return;
}
session.setAttribute("cartBean",map);
//转发到shopCart.jsp页
request.getRequestDispatcher("view/shopCart.jsp").forward(request, response);
//request.getRequestDispatcher("view/test1.jsp").forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
public void init() throws ServletException {
// Put your code here
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -