01: package org.jboss.test.web.servlets;
02:
03: import java.io.IOException;
04: import java.io.PrintWriter;
05:
06: import javax.servlet.ServletException;
07: import javax.servlet.http.Cookie;
08: import javax.servlet.http.HttpServlet;
09: import javax.servlet.http.HttpServletRequest;
10: import javax.servlet.http.HttpServletResponse;
11:
12: public class CookieReadServlet extends HttpServlet {
13:
14: org.apache.log4j.Category log = org.apache.log4j.Category
15: .getInstance(getClass());
16:
17: protected void processRequest(HttpServletRequest request,
18: HttpServletResponse response) throws ServletException,
19: IOException {
20: response.setContentType("text/html");
21: PrintWriter out = response.getWriter();
22: out.println("<html>");
23: out
24: .println("<head><title>Cookie Read Servlet</title></head><body><pre>");
25: Cookie cookies[] = request.getCookies();
26: if (cookies == null) {
27: log.info("cookie is null");
28: setCookies(request, response);
29: out.println("Server set cookies correctly");
30: } else {
31: for (int i = 0; i < cookies.length; i++) {
32: Cookie c = cookies[i];
33: out.println("Cookie" + i + "Name " + c.getName()
34: + " value=" + c.getValue());
35: if (c.getName().equals("hasSpace")
36: && c.getValue().indexOf("\"") != -1) {
37: log.debug("Cookie name: " + c.getName()
38: + " cookie value: " + c.getValue());
39: throw new ServletException(
40: "cookie with space not retrieved correctly");
41: } else if (c.getName().equals("hasComma")
42: && c.getValue().indexOf("\"") != -1) {
43: log.debug("Cookie name: " + c.getName()
44: + " cookie value: " + c.getValue());
45: throw new ServletException(
46: "cookie with comma not retrieved correctly");
47: }
48: }
49: out.println("Server read cookie correctly");
50:
51: }
52: out.println("</pre></body></html>");
53: out.close();
54: }
55:
56: public void setCookies(HttpServletRequest request,
57: HttpServletResponse response) {
58: response.addCookie(new Cookie("hasSpace", "has space"));
59: response.addCookie(new Cookie("hasComma", "has,comma"));
60:
61: }
62:
63: protected void doGet(HttpServletRequest request,
64: HttpServletResponse response) throws ServletException,
65: IOException {
66: processRequest(request, response);
67: }
68:
69: protected void doPost(HttpServletRequest request,
70: HttpServletResponse response) throws ServletException,
71: IOException {
72: processRequest(request, response);
73: }
74:
75: }
|