jsp电子商务购物车之五 数据库存储篇2
2024-08-28 14:04:26
业务逻辑图,简单版要写各个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); } }
最新文章
- PDF/WORD/EXCEL/PPT 文档在线阅读
- 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本
- eclipse中输入中文为繁体
- IOS第16天(5,Quartz2D雪花)
- 002_kafka_相关术语详细解析
- asp.net页面的请求处理响应的过程描述
- win7下搭建opengles2.0编程环境
- FAILURE: Build failed with an exception. Crunching Cruncher screen.png failed
- CentOS6.5_Nginx1.40_Php5.57_MySQL5.5.35编译安装全记录
- Windows Phone 之下拉菜单ListPicker
- Linux命令之ifconfig
- glog另启动线程写文本日志
- avalon - 初步接触
- Jsp页面用table表格来让文字和文本框对齐
- simhash类的使用
- ORA-12520 TroubleShooting
- 商务电话思维图(XMind f&#252;r Gesch&#228;ftliche Telefongespr&#228;che)
- H5_ 多媒体video,autio使用示例
- Oracle day02 函数
- editplus注册码生成
热门文章
- Qt 解析EXcel文件
- Selenium(Python)PageObject页面对象
- Kotlin Android Extensions: 与 findViewById 说再见 (KAD 04) -- 更新版
- wordlist 4
- php导出excel表格的使用
- lintcode373 奇偶分割数组
- DeepLearning - Forard &; Backward Propogation
- SPOJ 8073 The area of the union of circles(计算几何の圆并)(CIRU)
- Debian实验机 常用命令
- MFC加速键