This is the same example as we looked at in class (see the printout). I have removed some unnecessary code.
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class IceCream extends HttpServlet {
HttpSession session;
String kind;
Order ord;
// the user gets to the page without submitting a form
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
// session is retrieved before getting the writer
session = request.getSession(true);
// see what has been ordered already
Vector ordered = (Vector) session.getAttribute("order");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body bgcolor=\"lightgreen\">");
out.println("<head>");
out.println("<title> An ice cream shop </title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Welcome to our ice cream shop!</h1>");
// print out what has been ordered
if (ordered == null && kind == null) {
session.setAttribute("order", new Vector());
out.println("You have not ordered anything yet.<BR>");
out.println("Try our ice cream, it's delicious!<P>");
}
else if (ordered == null) {
// add the current order to the new order list
Vector v = new Vector();
v.add(new Order(kind));
session.setAttribute("order", v);
}
else if (kind != null) {
ordered.add(new Order(kind));
session.setAttribute("order", ordered);
}
kind = null;
if ( ordered != null) {
out.println("You have ordered:<P>");
// extract all orders
Enumeration orders = ordered.elements();
while (orders.hasMoreElements()) {
out.println(((Order)orders.nextElement()).getName());
out.println("<P>");
}
}
out.println("Please click on ice cream you want to buy<BR>");
out.println("to add it to your order<P>");
// a button for vanilla ice cream
out.println("<P>");
out.print("<form action=\"");
out.print(response.encodeURL("IceCream"));
out.print("\" ");
out.println("method=POST>");
out.println("<input type=hidden name=\"toBuy\" value=\"Vanilla\">");
out.println("<br>");
out.println("<input type=submit value=\"Vanilla\">");
out.println("</form>");
// a button for chocolate ice cream
out.println("<P>");
out.print("<form action=\"");
out.print(response.encodeURL("IceCream"));
out.print("\" ");
out.println("method=POST>");
out.println("<input type=hidden name=\"toBuy\" value=\"Chocolate\">");
out.println("<br>");
out.println("<input type=submit value=\"Chocolate\">");
out.println("</form>");
// a button for strawberry ice cream
out.println("<P>");
out.print("<form action=\"");
out.print(response.encodeURL("IceCream"));
out.print("\" ");
out.println("method=POST>");
out.println("<input type=hidden name=\"toBuy\" value=\"Strawberry\">");
out.println("<br>");
out.println("<input type=submit value=\"Strawberry\">");
out.println("</form>");
// a button to erase the session
out.println("<P>");
out.print("<form action=\"");
out.print(response.encodeURL("KillSession"));
out.print("\" ");
out.println("method=POST>");
out.println("<br>");
out.println("<input type=submit value=\"Erase all!\">");
out.println("</form>");
out.println("</body>");
out.println("</html>");
out.close();
}
// the user submits one of the forms
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
//session = request.getSession(true);
kind = request.getParameter("toBuy");
// the rest is the same for POST and GET,
// so we let doGet() do the job
doGet(request, response);
}
}
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class KillSession extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
// get the session,
HttpSession session = request.getSession(true);
// invalidate it
session.invalidate();
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body bgcolor=\"white\">");
out.println("<head>");
out.println("<title> Ice cream </title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Thanks for trying our ice cream!</h1>");
out.println("Click");
out.println("<A HREF = \"IceCream\">here</A>");
out.println("to buy more ice cream");
out.println("</body>");
out.println("</html>");
out.close();
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
doGet(request,response);
}
}
public class Order {
private String kind;
public Order(String thekind) {
kind = thekind;
}
public String getName() {
return kind;
}
}