实现提交订单的功能
根据购物车中的商品名称和数量生成了结算信息,并可以填写收货人姓名、联系电话和收货地址,本任务将实现提交订单的功能。

一、创建订单页面order.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="p" uri="http://www.itcast.cn/tag"%>
电子书城
首页 > 购物车 > 订单
二、创建CreateOrderServlet
//生成订单
public class CreateOrderServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 1.得到当前用户HttpSession session = request.getSession();User user = (User) session.getAttribute("user");// 2.从购物车中获取商品信息Map cart = (Map)session.getAttribute("cart");// 3.将数据封装到订单对象中Order order = new Order();try {BeanUtils.populate(order, request.getParameterMap());} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}order.setId(IdUtils.getUUID());// 封装订单idorder.setUser(user);// 封装用户信息到订单.for (Product p : cart.keySet()) {OrderItem item = new OrderItem();item.setOrder(order);item.setBuynum(cart.get(p));item.setP(p);order.getOrderItems().add(item);}System.out.println(order);// 4.调用service中添加订单操作.OrderService service = new OrderService();service.addOrder(order);
// request.getRequestDispatcher("/client/orderlist.jsp").forward(request, response);response.sendRedirect(request.getContextPath() + "/client/createOrderSuccess.jsp");}}
需要注意的是,在进行生成订单时,不仅需要把订单信息保存到订单表,还需要将订单项保存到订单条目表,并且修改商品表中该商品的库存数量。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
