import java.io.*;
import javax.servlet.*;
import java.util.*;
import javax.servlet.http.*;
public class FirstCode extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
StringBuffer sb = new StringBuffer();
String firstName = "";
String lastName = "";
int numPick = 0;
double amount = 0;
boolean inputCheck = true;
Vector varNames = new Vector();
if ((req.getParameter("firstName") != null) && (!req.getParameter("firstName").trim().equals(""))) {
firstName = req.getParameter("firstName").trim();
}
else {
inputCheck = false;
varNames.addElement("First Name");
}
if ((req.getParameter("lastName") != null) && (!req.getParameter("lastName").trim().equals(""))) {
lastName = req.getParameter("lastName").trim();
}
else {
inputCheck = false;
varNames.addElement("Last Name");
}
if ((req.getParameter("num") != null) && (!req.getParameter("num").trim().equals(""))) {
numPick = Integer.parseInt(req.getParameter("num").trim());
}
else {
inputCheck = false;
varNames.addElement("Pick Number");
}
if ((req.getParameter("amount") != null) && (!req.getParameter("amount").trim().equals(""))) {
amount = Double.parseDouble(req.getParameter("amount").trim());
}
else {
inputCheck = false;
varNames.addElement("Amount");
}
if (inputCheck) {
String remoteAddy = req.getRemoteAddr();
String remoteHost = req.getRemoteHost();
String scheme = req.getScheme();
String serverName = req.getServerName();
int serverPort = req.getServerPort();
double totalCost = numPick * amount;
NumberFormat nf = NumberFormat.getCurrencyInstance();
sb.append("<HTML><HEAD><TITLE>Our First Formatted Output Page</TITLE><LINK REL='Stylesheet' TYPE='text/css' HREF='/styles/styles.css'></HEAD>");
sb.append("<BODY TOPMARGIN='0' LEFTMARGIN='0'><TABLE WIDTH='100%' CELLPADDING='2' CELLSPACING='2' BORDER='3'>");
sb.append("<TR><TD CLASS=bodyBL COLSPAN='2'>");
sb.append("Welcome to our site, below you will find all your order information. Thanks for stopping by!");
sb.append("</TD></TR><TR><TD WIDTH='50%' CLASS=bodyBL>Your Name: </TD>");
sb.append("<TD WIDTH='100%' CLASS=bodyBL>"+firstName+" "+lastName+"</TD></TR>");
sb.append("<TR><TD WIDTH='50%' CLASS=bodyBL> The number you chose was: </TD>");
sb.append("<TD WIDTH='100%' CLASS=bodyBL>"+numPick+"</TD></TR>");
sb.append("<TR><TD WIDTH='50%' CLASS=bodyBL>The Dollar amount you chose was: </TD>");
sb.append("<TD WIDTH='100%' CLASS=bodyBL>"+nf.format(amount)+"</TD></TR>");
sb.append("<TR><TD WIDTH='50%' CLASS=bodyBL>Your Total:</TD>");
sb.append("<TD WIDTH='100%' CLASS=bodyBL>"+nf.format(totalCost)+"</TD></TR>");
sb.append("<TR><TD WIDTH='50%' CLASS=bodyBL>Your Remote Address: </TD>");
sb.append("<TD WIDTH='100%' CLASS=bodyBL>"+remoteHost+"</TD></TR>");
sb.append("<TR><TD WIDTH='50%' CLASS=bodyBL>Server Protocol: </TD>");
sb.append("<TD WIDTH='100%' CLASS=bodyBL>"+scheme+"</TD></TR>");
sb.append("</TABLE></BODY></HTML>");
}
else {
sb.append("Your request could not be handled do to the following required parameters being left empty:<br>");
Enumeration enum = varNames.elements();
while (enum.hasMoreElements()) {
sb.append("Null Value in "+enum.nextElement()+ "<br>");
}
}
res.setContentType("text/html");
PrintWriter out = res.getWriter();
out.println(sb);
out.close();
}
public void doGet (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
doPost(req, res);
}
};