package cs320.stu31; import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class Cart2 extends HttpServlet { List products; Map> carts; int idSeed; public void init() throws ServletException { products = new ArrayList(); products.add( "milk" ); products.add( "bread" ); products.add( "book" ); products.add( "cd" ); carts = new HashMap>(); idSeed = 0; } public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { response.setContentType( "text/html" ); PrintWriter out = response.getWriter(); String sid = null; List cart = null; Cookie[] cookies = request.getCookies(); if( cookies != null ) { for( Cookie cookie : cookies ) if( cookie.getName().equals("sid") ) { sid = cookie.getValue(); cart = carts.get(sid); break; } } // does the request come with an sid? if( sid == null ) { sid = idSeed + ""; ++idSeed; cart = new ArrayList(); carts.put( sid, cart ); response.addCookie( new Cookie("sid",sid) ); } String a = request.getParameter("add"); if( a != null ) cart.add(a); String d = request.getParameter("del"); if( d != null ) cart.remove( Integer.parseInt(d) ); out.print( "" ); out.println( "Shopping Cart"); out.println( "" ); out.println( ""); out.println( ""); out.println( ""); out.println( "" ); // list of products out.println( "" ); // add arrows out.println( "" ); // content of the shopping cart out.println( "" ); out.println( "" ); out.println( "
Products
Cart
" ); for( String p : products ) out.print( p + "
" ); out.println( "
" ); for( String p : products ) out.print( "=>
" ); out.println( "
" ); for( int i=0 ; i < cart.size() ; ++i ) out.print( "" + cart.get(i) + "
" ); out.println( "
" ); out.println( "" ); } public void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { doGet( request, response ); } }