⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 checkoutservlet.java

📁 一个基于java工厂模式的 的实现
💻 JAVA
字号:
/*
 * CheckOutServlet.java
 *
 * Created on 2007年4月24日, 下午3:07
 */

package com.ebuy.web.servlets;

import com.ebuy.businessfacade.OrderFacade;
import com.ebuy.web.beans.Goods;
import com.ebuy.web.beans.ShoppingCart;
import com.ebuy.entities.CustomerEntity;
import com.ebuy.entities.OrderEntity;
import com.ebuy.entities.OrderItem;
import java.io.*;
import java.net.*;
import java.util.ArrayList;
import java.util.Iterator;

import javax.servlet.*;
import javax.servlet.http.*;

/**
 *
 * @author Administrator
 * @version
 */
public class CheckOutServlet extends HttpServlet
{
    
    /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException
    {
        response.setContentType("text/html");
        
        String recivename=request.getParameter("recivename");
        String address=request.getParameter("shipaddress");
        
        CustomerEntity customer=(CustomerEntity)request.getSession().getAttribute("customer");
        ShoppingCart cart=(ShoppingCart)request.getSession().getAttribute("cart");
        
        //构造Orders表的信息
        OrderEntity order=new OrderEntity();
        order.setCustomerid(customer.getCustomerid());
        order.setReceivename(recivename);
        order.setShipaddress(address);
        order.setTotalmoney(cart.getTotalmoney());
        order.setState(1);
        
        //读取购物车信息,构造订单明细信息
        OrderItem item=null;
        Goods good=null;
        Iterator<Goods> iter=cart.getItems().iterator();
        while(iter.hasNext())
        {
            good=iter.next();
            item=new OrderItem();
            item.setProductid(good.getProductid());
            item.setQuantity(good.getQuantity());
            item.setRealprice(good.getRealprice());
            order.addOrderItem(item);
        }        
        String script=null;
        if(OrderFacade.addOrder(order))
        {
            request.getSession().removeAttribute("cart");
            int id=order.getOrderid();
            String realname=customer.getRealname();
            String to=customer.getMobile();
            String sender="eBuy网站";
            String msg="尊敬的"+realname+"您好:您的第"+id+"已经提交";
            MessageManager.sendMessage(sender,to,msg);
            script="<script>window.alert('您的第 "+id+" 号订单提交成功');window.location='../myebuy/orderdetails.jsp?orderid="+id+"';</script>";
        }
        else
        {
            script="<script>window.alert('抱歉!提交失败');window.location='../myebuy/checkout.jsp';</script>";
        }
        PrintWriter out=response.getWriter();
        out.write(script);
        out.close();
    }
    
    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException
    {
        processRequest(request, response);
    }
    
    /** Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException
    {
        processRequest(request, response);
    }
    
    /** Returns a short description of the servlet.
     */
    public String getServletInfo()
    {
        return "Short description";
    }
    // </editor-fold>
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -