购物车项目(五)——编写CartServlet类
2016-06-02 23:47
309 查看
购物车项目(五)——编写CartServlet类
编写思路:
1.创建CartServlet类,并继承HttpServlet
2.设置属性:action,并创建商品业务逻辑类对象
3.doGe()方法写为doPost(request,response)
4.写doPost()方法,并判断action动作
5.编写添加,删除商品的方法,并利用购物车类中的方法。
代码如下:
package Servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import dao.ItemsDAO; import entity.Cart; import entity.Items; public class CartServlet extends HttpServlet { private String action ; //表示购物车的动作 ,add,show,delete //商品业务逻辑类的对象 private ItemsDAO idao = new ItemsDAO(); /** * Constructor of the object. */ public CartServlet() { super(); } /** * Destruction of the servlet. <br> */ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } /** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } /** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to post. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); if(request.getParameter("action")!=null) { this.action = request.getParameter("action"); if(action.equals("add")) //如果是添加商品进购物车 { if(addToCart(request,response)) { request.getRequestDispatcher("/success.jsp").forward(request, response); } else { request.getRequestDispatcher("/failure.jsp").forward(request, response); } } if(action.equals("show"))//如果是显示购物车 { request.getRequestDispatcher("/cart.jsp").forward(request, response); ab43 } if(action.equals("delete")) //如果是执行删除购物车中的商品 { if(deleteFromCart(request,response)) { request.getRequestDispatcher("/cart.jsp").forward(request, response); } else { request.getRequestDispatcher("/cart.jsp").forward(request, response); } } } } //添加商品进购物车的方法 private boolean addToCart(HttpServletRequest request, HttpServletResponse response) { String id = request.getParameter("id"); String number = request.getParameter("num"); Items item = idao.getItemsById(Integer.parseInt(id)); //是否是第一次给购物车添加商品,需要给session中创建一个新的购物车对象 if(request.getSession().getAttribute("cart")==null) //getsession.getAttribute(String name)返回session对象中与指定名称绑定的对象,如果不存在则返回null { Cart cart = new Cart(); request.getSession().setAttribute("cart",cart); } Cart cart = (Cart)request.getSession().getAttribute("cart"); if(cart.addGoodinCart(item, Integer.parseInt(number)))//字符类型转换成整型 { return true; } else { return false; } } //从购物车中删除商品 private boolean deleteFromCart(HttpServletRequest request, HttpServletResponse response) { String id = request.getParameter("id"); Cart cart = (Cart)request.getSession().getAttribute("cart"); Items item = idao.getItemsById(Integer.parseInt(id)); if(cart.removeGoodfromCart(item)) { return true; } else { return false; } } /** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */ public void init() throws ServletException { // Put your code here } }
相关文章推荐
- 购买图书问题
- 使用javac编译Servlet类的方法
- margin padding border
- 让EditText不能自动获取焦点
- 墙相对移动
- 内联汇编
- mysql编程(存储过程和触发器)
- (转) Quick Guide to Build a Recommendation Engine in Python
- UVALive 4654 (最小路径覆盖)
- docker实践入门之四
- 计算器作业6
- XTU 1244 Estrella's Chocolate
- 周总结
- http://blog.csdn.net/dancing_night/article/details/46698853
- linux 之SCP
- JDBC中常用的的类和接口
- SQL优化
- 找水王02
- WEB开发中的AJAX请求
- javascript学习笔记