/* * Cart2.java Session tracking with a cookie. */ import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class Cart2 extends HttpServlet { int idSeed; Map> carts; public void init() throws ServletException { idSeed = 0; carts = new HashMap>(); } public void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { doGet( request, response ); } public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { Integer id = null; List cart = null; Cookie cookies[] = request.getCookies(); for( int i=0 ; i < cookies.length ; ++i ) if( cookies[i].getName().equals("id") ) { id = new Integer(cookies[i].getValue()); cart = carts.get(id); } if( id == null ) { id = idSeed++; cart = new ArrayList(); carts.put( id, cart ); response.addCookie( new Cookie("id", ""+id) ); } response.setContentType( "text/html" ); PrintWriter out = response.getWriter(); out.print( "" ); out.println( "Shopping Cart (II)" ); out.println( "" ); String m = request.getParameter("item"); if( m != null ) cart.add( m ); out.println( "" ); for( String i : cart ) out.println( "" ); out.println( "
" + i + "
" ); out.println( "
"); out.println( "
"); out.println( ""); out.println( "
"); out.println( "" ); out.println( "" ); } } // end of class Cart2