import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ShoppingCartServlet extends HttpServlet implements SingleThreadModel {
private String name;
private Integer balance;
private ArrayList items;
private ArrayList prices;
private String item;
private int price;
private Integer total;
public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession(false);
name = (String)session.getValue("name");
total = (Integer)session.getValue("total");
balance = (Integer)session.getValue("balance");
items = (ArrayList)session.getValue("items");
prices = (ArrayList)session.getValue("prices");
int size = prices.size();
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("
Shopping Cart" +
"" + name + "'s Shopping Cart
");
for (int i = 0;i < size;i++) {
out.println("" + items.get(i) +" | " + prices.get(i) +
" | |
");
}
out.println("
|
|
");
out.println("Total: | " + total + " | " +
" |
");
out.println("Balance: | " + balance + " | " +
" |
");
out.println("
");
out.close();
}
public void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession(false);
items = (ArrayList)session.getValue("items");
prices = (ArrayList)session.getValue("prices");
balance = (Integer)session.getValue("balance");
total = (Integer)session.getValue("total");
price = Integer.parseInt(request.getParameter("price"));
if((balance.intValue() - price) >= 0) {
items.add(request.getParameter("item"));
prices.add(request.getParameter("price"));
total = new Integer(total.intValue() + price);
balance = new Integer(balance.intValue() - price);
session.putValue("items",items);
session.putValue("prices",prices);
session.putValue("total",total);
session.putValue("balance",balance);
doGet(request,response);
}
else {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("Insufficient Funds" +
"Insufficient Funds
");
}
}
}