AddItem.java
上传用户:qingshan
上传日期:2022-03-24
资源大小:9089k
文件大小:3k
源码类别:

Ajax

开发平台:

Java

  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5. package servlet;
  6. import Entity.Item;
  7. import java.io.IOException;
  8. import java.io.PrintWriter;
  9. import java.util.ArrayList;
  10. import javax.servlet.ServletException;
  11. import javax.servlet.http.HttpServlet;
  12. import javax.servlet.http.HttpServletRequest;
  13. import javax.servlet.http.HttpServletResponse;
  14. import javax.servlet.http.HttpSession;
  15. /**
  16.  *
  17.  * @author rincewind
  18.  */
  19. public class AddItem extends HttpServlet {
  20.    
  21.     
  22.     protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  23.     throws ServletException, IOException {
  24.         response.setContentType("text/html;charset=UTF-8");
  25.         PrintWriter out = response.getWriter();
  26.         ArrayList<Item> items=new ArrayList();
  27.         String name=request.getParameter("itemid");     //接受商品名称
  28.         String num=request.getParameter("num");          //接受商品数               //将其转化为整型
  29.         String price=request.getParameter("price");
  30.         HttpSession session=request.getSession();
  31.         String[] info=new String[4];
  32.         Item item=new Item();                       //用类封装
  33.           item.setItemname(name);
  34.           item.setPrice("1");
  35.           item.setNum(num);
  36.         try {
  37.          if(session.getAttribute("items")==null){     //第一次购物
  38.                items.add(item);                      //将商品添加到已经购物的商品中
  39.                session.setAttribute("items",items);
  40.          }else{                                       //以后添加商品
  41.              items=(ArrayList<Item>) session.getAttribute("items");
  42.              items.add(item);
  43.              session.setAttribute("items",items);
  44.          }
  45.          int num1=Integer.parseInt(num);
  46.          int p1=Integer.parseInt(price);
  47.          int sum=num1*p1;
  48.            String result="{name:'"+name+"',price:'"+price+"',num:'"+num+"',sum:'"+String.valueOf(sum)+"'}";
  49.            out.print(result);
  50.         }catch(Exception e){
  51.             request.setAttribute("error", e.getMessage());
  52.            out.print(e.getMessage());
  53.         } finally { 
  54.             out.close();
  55.         }
  56.     } 
  57.     // <editor-fold defaultstate="collapsed" desc="HttpServlet 方法。单击左侧的 + 号以编辑代码。">
  58.     /** 
  59.      * Handles the HTTP <code>GET</code> method.
  60.      * @param request servlet request
  61.      * @param response servlet response
  62.      * @throws ServletException if a servlet-specific error occurs
  63.      * @throws IOException if an I/O error occurs
  64.      */
  65.     @Override
  66.     protected void doGet(HttpServletRequest request, HttpServletResponse response)
  67.     throws ServletException, IOException {
  68.         processRequest(request, response);
  69.     } 
  70.     /** 
  71.      * Handles the HTTP <code>POST</code> method.
  72.      * @param request servlet request
  73.      * @param response servlet response
  74.      * @throws ServletException if a servlet-specific error occurs
  75.      * @throws IOException if an I/O error occurs
  76.      */
  77.     @Override
  78.     protected void doPost(HttpServletRequest request, HttpServletResponse response)
  79.     throws ServletException, IOException {
  80.         processRequest(request, response);
  81.     }
  82.     /** 
  83.      * Returns a short description of the servlet.
  84.      * @return a String containing servlet description
  85.      */
  86.     @Override
  87.     public String getServletInfo() {
  88.         return "Short description";
  89.     }// </editor-fold>
  90. }