import java.util.Enumeration;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
/**
* Servlet implementation class for Servlet: Guess
*
* @web.servlet
* name="Guess"
* display-name="Guess"
*
* @web.servlet-mapping
* url-pattern="/Guess"
*
*/
public class Guess extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
public Guess() {
super();
}
private String getQuestionHtml(){
return "Your questions is:<br/><br/><form method=\"get\" action=\"/Magic/Guess\">" +
"<em>“Am I thinking of a <input type=\"text\" name=\"name\"/>?”" +
"<br/><br/><input type=\"submit\" value=\"Ask John\"/></form><br/><br/>";
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
HttpSession session = request.getSession();
Integer state = (Integer)session.getAttribute("tracker.state");
if (state == null)
state = new Integer(0);
else
state = new Integer(state.intValue());
String name = request.getParameter("name");
out.println("<html><head><title>Edward in a Servlet</title></head>");
out.println("<body>");
switch (state) {
case 0:
out.println("Hi, I am John Edward and I will <span style=\"text-decoration: line-through\">" +
"steal your</span> read your mind.<br/><br/>");
out.println(getQuestionHtml());
state = 1;
break;
case 1:
out.println("No, you are not thinking of a " + name + ".<br/><br/>");
out.println(getQuestionHtml());
break;
case 2:
out.println("Yes, you are thinking of a " + name
+ "!<br/><br/>The spirits told me.<br/><a href=\"/Magic/Guess\">Try again</a>");
state = 0;
}
if (name != null && name.charAt(0) == 'c' && state == 1){
state = 2;
}
session.setAttribute("tracker.state", state);
out.println("</body></html>");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}