import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CookieServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, java.io.IOException {
Cookie cookie = null;
Cookie[] cookies = request.getCookies();
boolean newCookie = false;
if (cookies != null) {
for (int i = 0; i < cookies.length; i++) {
if (cookies[i].getName().equals("mycookie")) {
cookie = cookies[i];
}
}
}
if (cookie == null) {
newCookie = true;
int maxAge;
try {
maxAge = new Integer(getServletContext().getInitParameter(
"cookie-age")).intValue();
} catch (Exception e) {
maxAge = -1;
}
cookie = new Cookie("mycookie", "" + getNextCookieValue());
cookie.setPath(request.getContextPath());
cookie.setMaxAge(maxAge);
response.addCookie(cookie);
}
response.setContentType("text/html");
java.io.PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Cookie info</title>");
out.println("</head>");
out.println("<body>");
out
.println("<h2> Information about the cookie named \"mycookie\"</h2>");
out.println("Cookie value: " + cookie.getValue() + "<br>");
if (newCookie) {
out.println("Cookie Max-Age: " + cookie.getMaxAge() + "<br>");
out.println("Cookie Path: " + cookie.getPath() + "<br>");
}
out.println("</body>");
out.println("</html>");
out.close();
}
private long getNextCookieValue() {
return new java.util.Date().getTime();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, java.io.IOException {
doGet(request, response);
}
}
|