业务逻辑图,简单版要写各个Servlet

//ChangeCartCountServlet 使用ajax实现数量,增加或减少;

package com.cart.web;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;

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

import com.cart.dao.BookDao;
import com.cart.dao.impl.BookDaoImpl;
import com.cart.entity.Book;
import com.cart.entity.CartItem;
import com.cart.entity.Userinfo;
import com.cart.service.CartService;

public class ChangeCartCountServlet extends HttpServlet {
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		this.doPost(req, resp);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {

		resp.setContentType("text/html;charset=utf-8");
		PrintWriter out = resp.getWriter();

		int bookid = Integer.parseInt(req.getParameter("bookid"));
		int count = Integer.parseInt(req.getParameter("count"));
		CartService cartService=new CartService();
		Userinfo userinfo=(Userinfo)req.getSession().getAttribute("userinfo");
		int uid=userinfo.getId();//获得当前用户id编号;

		CartItem cartItem=cartService.findCartItemById(uid,bookid);
		if(cartItem.getCount()<count){//如果根据总数量小于你增加的总数量,则不能购物,业务正确;
			out.print("false");
			return;
		}

		Map<Integer,CartItem> cart = (Map<Integer,CartItem>)req.getSession().getAttribute("cart");
		int result=-1;
		if(cart!=null){
			cartItem = cart.get(bookid); //获得购物车项
			cartItem.setCount(count);
			cart.put(bookid, cartItem);

			result=cartService.updateCartItemCount(cartItem);
		}
		if(result>0){
			out.print("true");
		}else{
			out.print("false");
		}

		out.flush();
		out.close();
	}
}
package com.cart.web;

import java.io.IOException;
import java.util.Map;

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.cart.entity.CartItem;
import com.cart.entity.Userinfo;
import com.cart.service.CartService;

public class ShowBookServlet extends HttpServlet {
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		HttpSession session=req.getSession();
		Userinfo user=(Userinfo)session.getAttribute("userinfo");
		int uid=user.getId();
		CartService cartService=new CartService();
		Map<Integer,CartItem> cart = cartService.getCartItem(uid);

		session.setAttribute("cart", cart); //加入session用jstl读取;
		resp.sendRedirect("show_cart.jsp");

	}
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		this.doGet(req, resp);
	}
}

package com.cart.web;

import java.io.IOException;
import java.util.Map;

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.cart.entity.Book;
import com.cart.entity.CartItem;
import com.cart.entity.Userinfo;
import com.cart.service.CartService;

public class DeleteCartServlet extends HttpServlet {
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		HttpSession session=req.getSession();
		Userinfo user=(Userinfo)session.getAttribute("userinfo");
		int uid=user.getId();
		int bookid = Integer.parseInt(req.getParameter("bookid"));

				Map<Integer,CartItem> cart = (Map<Integer,CartItem>)req.getSession().getAttribute("cart");
				// 根据key(bookid)删除
				cart.remove(bookid);
				//需要根据carService进行操作;
				CartService cartService=new CartService();
				cartService.deletecartItem(uid, bookid);

				req.getSession().setAttribute("cart", cart);

				resp.sendRedirect("show_cart.jsp");
	}
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		this.doGet(req, resp);
	}
}

最新文章

  1. PDF/WORD/EXCEL/PPT 文档在线阅读
  2. 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本
  3. eclipse中输入中文为繁体
  4. IOS第16天(5,Quartz2D雪花)
  5. 002_kafka_相关术语详细解析
  6. asp.net页面的请求处理响应的过程描述
  7. win7下搭建opengles2.0编程环境
  8. FAILURE: Build failed with an exception. Crunching Cruncher screen.png failed
  9. CentOS6.5_Nginx1.40_Php5.57_MySQL5.5.35编译安装全记录
  10. Windows Phone 之下拉菜单ListPicker
  11. Linux命令之ifconfig
  12. glog另启动线程写文本日志
  13. avalon - 初步接触
  14. Jsp页面用table表格来让文字和文本框对齐
  15. simhash类的使用
  16. ORA-12520 TroubleShooting
  17. 商务电话思维图(XMind f&#252;r Gesch&#228;ftliche Telefongespr&#228;che)
  18. H5_ 多媒体video,autio使用示例
  19. Oracle day02 函数
  20. editplus注册码生成

热门文章

  1. Qt 解析EXcel文件
  2. Selenium(Python)PageObject页面对象
  3. Kotlin Android Extensions: 与 findViewById 说再见 (KAD 04) -- 更新版
  4. wordlist 4
  5. php导出excel表格的使用
  6. lintcode373 奇偶分割数组
  7. DeepLearning - Forard &amp; Backward Propogation
  8. SPOJ 8073 The area of the union of circles(计算几何の圆并)(CIRU)
  9. Debian实验机 常用命令
  10. MFC加速键