J2EE 简单实现购物车

来源:互联网 发布:广州网络教育 编辑:程序博客网 时间:2024/04/30 10:35

 

 

  小弟我初学J2EE,现在为大家送上一个简单的购物车,让自学J2EE的朋友参考下!

 

也作为我在J2EE的每一个脚步吧!

 

首先是一个VO包,该类代码如下:

 

package Hong.Vo;

import java.io.Serializable;

public class BookVo implements Serializable {

 private static final long serialVersionUID = 7036324439291618130L;
 int bookID;
 String bkname,publisher,author;
 float price;

 public BookVo(int bookID, String bkname, String publisher, String author,float price) {
  super();
  this.bookID = bookID;
  this.bkname = bkname;
  this.publisher = publisher;
  this.author = author;
  this.price = price;
 }
 
 public int getBookID() {
  return bookID;
 }

 public void setBookID(int bookID) {
  this.bookID = bookID;
 }

 public String getBkname() {
  return bkname;
 }

 public void setBkname(String bkname) {
  this.bkname = bkname;
 }

 public String getPublisher() {
  return publisher;
 }

 public void setPublisher(String publisher) {
  this.publisher = publisher;
 }

 public String getAuthor() {
  return author;
 }

 public void setAuthor(String author) {
  this.author = author;
 }

 public float getPrice() {
  return price;
 }

 public void setPrice(float price) {
  this.price = price;
 }
}

 

接下来就是书店类了:

 

package Hong;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
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 Hong.Vo.*;

public class ShopServlet extends HttpServlet {
 private static final long serialVersionUID = 1L;
 List<BookVo> allBooks,orderedBK,remainBK;
 boolean isSelected = false;
    public ShopServlet() {
     // TODO Auto-generated constructor stub
        super();
        allBooks = new ArrayList<BookVo>();
        orderedBK = new ArrayList<BookVo>();
        remainBK = new ArrayList<BookVo>();
        BookVo bv1 = new BookVo(1001,"J2SE全方位学习","机械工业出版社","朱仲杰", 69.0f);
  BookVo bv2 = new BookVo(1002,"JAVA ME实用详解","电子工业出版社","刘斌",28.0f);
  BookVo bv3 = new BookVo(1003,"JAVA WEB整合开发","电子工业出版社","刘斌",59.5f);
  BookVo bv4 = new BookVo(1004,"MySQL完全手册","机械工业出版社","Vikram Vaswani",40.0f);
  BookVo bv5 = new BookVo(1005,"天龙八部","长江文化出版社","金庸",24.5f);
  BookVo bv6 = new BookVo(1006,"射雕英雄传","长江文化出版社","金庸",26.0f);
  allBooks.add(bv1);
  allBooks.add(bv2);
  allBooks.add(bv3);
  allBooks.add(bv4);
  allBooks.add(bv5);
  allBooks.add(bv6);
    }

 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // TODO Auto-generated method stub
  doPost(request, response);
 }

 @SuppressWarnings("unchecked")
 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // TODO Auto-generated method stub
  request.setCharacterEncoding("gb2312");
  response.setCharacterEncoding("gb2312");
  PrintWriter out = response.getWriter();
  HttpSession session = request.getSession();
  
  if(session.getAttribute("allBooks")!=null){
   allBooks = (List<BookVo>)session.getAttribute("allBooks");
  }
  if(session.getAttribute("orderedBK")!=null){
   orderedBK = (List<BookVo>)session.getAttribute("orderedBK");
  }
  
  if(request.getParameter("putCar")!=null){
   String[] selectedBK = request.getParameterValues("checked");
   Iterator<BookVo> iterator = allBooks.iterator();
   while(iterator.hasNext()){
    BookVo bvo = iterator.next();
    for(int i=0;i<selectedBK.length;i++){
     if(Integer.parseInt(selectedBK[i])==bvo.getBookID()){
      orderedBK.add(bvo);
      isSelected = true;
      break;
     }
    }
    if(isSelected){
     isSelected = false;
    }else{
     remainBK.add(bvo);
    }
   }
   allBooks = remainBK;
   remainBK = new ArrayList();
   System.gc();
   session.setAttribute("allBooks", allBooks);
   session.setAttribute("orderedBK", orderedBK);
  }else if(request.getParameter("showCart")!=null){
   response.sendRedirect("BookCar");
   return;
  }
  request.getRequestDispatcher("/ShopHead.html").include(request, response);
  out.println("<body>");
  out.println("<br>");
  out.println("<h3>网上书店</h3>");
  out.println("<form id=/"form1/" name=/"form1/" method=/"post/" action=/"ShopServlet/">");
  if(!allBooks.isEmpty()){
   out.println("<table width=/"600/" border=/"1/" cellspacing=/"0/" cellpadding=/"0/">");
   out.println("<tr>");
   out.println("<td>选择</td>");
   out.println("<td>书号</td>");
   out.println("<td>书名</td>");
   out.println("<td>出版社</td>");
   out.println("<td>作者</td>");
   out.println("<td>价格</td>");
   out.println("</tr>");
   Iterator<BookVo> iterator = allBooks.iterator();
   while(iterator.hasNext()){
    BookVo bvo = iterator.next();
    out.println("<tr>");
    out.println("<td><input name=/"checked/" type=/"checkbox/" value=/""+bvo.getBookID()+"/"/></td>");
    out.println("<td>"+bvo.getBookID()+"</td>");
    out.println("<td>"+bvo.getBkname()+"</td>");
    out.println("<td>"+bvo.getPublisher()+"</td>");
    out.println("<td>"+bvo.getAuthor()+"</td>");
    out.println("<td>"+bvo.getPrice()+"</td>");
    out.println("</tr>");
   }
   out.println("<tr>");
   out.println("<td colspan=/"6/">");
   out.println("<input type=/"submit/" name=/"putCar/" value=/"放入购物车/"/>&nbsp;&nbsp;&nbsp;");
   out.println("<input type=/"submit/" name=/"showCart/" value=/"查看购物车/"/></td>");
   out.println("</tr>");
  }else{
   out.println("<b>对不起,没有你要的书!</b><p>");
   out.println("<input type=/"submit/" name=/"showCart/" value=/"查看购物车/"/></td>");
  }
  out.println("</table>");
  out.println("</form>");
  out.println("</body>");
  out.println("</html>");
  out.flush();
  out.close();
 }
}

 

最后就是我们的购物车了:

 

package Hong;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

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 Hong.Vo.BookVo;

public class BookCar extends HttpServlet {
 private static final long serialVersionUID = 1L;
 List<BookVo> allBooks,orderedBK,remainBK;
 boolean isSelected = false;
    public BookCar() {
        super();
        allBooks = new ArrayList<BookVo>();
        orderedBK = new ArrayList<BookVo>();
        remainBK = new ArrayList<BookVo>();
    }

 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // TODO Auto-generated method stub
  doPost(request, response);
 }
 
 @SuppressWarnings("unchecked")
 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // TODO Auto-generated method stub
  request.setCharacterEncoding("gb2312");
  response.setCharacterEncoding("gb2312");
  PrintWriter out = response.getWriter();
  HttpSession session = request.getSession();
  
  if(session.getAttribute("allBooks")!=null){
   allBooks = (List<BookVo>)session.getAttribute("allBooks");
  }
  if(session.getAttribute("orderedBK")!=null){
   orderedBK = (List<BookVo>)session.getAttribute("orderedBK");
  }
  
  if(request.getParameter("goBack")!=null){
   String selectBK[] = request.getParameterValues("checked");
   if(selectBK != null){
    Iterator<BookVo> iterator = orderedBK.iterator();
    while(iterator.hasNext()){
     BookVo bvo = iterator.next();
     for(int i=0;i<selectBK.length;i++){
      if(Integer.parseInt(selectBK[i])==bvo.getBookID()){
       allBooks.add(bvo);
       isSelected = true;
       break;
      }
     }
     if(isSelected){
      isSelected = false;
     }else{
      remainBK.add(bvo);
     }
    }
    orderedBK = remainBK;
    remainBK = new ArrayList();
    System.gc();
    session.setAttribute("allBooks", allBooks);
    session.setAttribute("orderedBK", orderedBK);
   }
  }else if(request.getParameter("continue")!=null){
   response.sendRedirect("ShopServlet");
   return;
  }
  
  Iterator<BookVo> iterator = orderedBK.iterator();
  request.getRequestDispatcher("/CarHead.html").include(request, response);
  out.println("<body>");
  out.println("你选购的书:<br>");
  if(!allBooks.isEmpty()){
   out.println("<form method=/"post/" action=/"BookCar/">");
   out.println("<table width=/"600/" border=/"1/" cellspacing=/"0/" cellpadding=/"0/">");
   out.println("<tr>");
   out.println("<td>选择</td>");
   out.println("<td>书号</td>");
   out.println("<td>书名</td>");
   out.println("<td>出版社</td>");
   out.println("<td>作者</td>");
   out.println("<td>价格</td>");
   out.println("</tr>");
  while(iterator.hasNext()){
   BookVo bvo = iterator.next();
   out.println("<tr>");
   out.println("<td><input name=/"checked/" type=/"checkbox/" value=/""+bvo.getBookID()+"/"/></td>");
   out.println("<td>"+bvo.getBookID()+"</td>");
   out.println("<td>"+bvo.getBkname()+"</td>");
   out.println("<td>"+bvo.getPublisher()+"</td>");
   out.println("<td>"+bvo.getAuthor()+"</td>");
   out.println("<td>"+bvo.getPrice()+"</td>");
   out.println("</tr>");
  }
   out.println("<tr>");
   out.println("<td colspan=/"6/">");
   out.println("<input type=/"submit/" name=/"goBack/" value=/"放回书架/"/>&nbsp;&nbsp;&nbsp;");
   out.println("<input type=/"submit/" name=/"continue/" value=/"继续购物/"/></td>");
   out.println("</tr>");
   out.println("</table>");
   out.println("</form>");
   out.println("</body>");
   out.println("</html>");
   out.flush();
   out.close();
  }
 }
}

 

那两个HTML文件自己随便搞一个吧~~~