1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package net.sourceforge.jwebunit.tests.util;
20
21 import java.io.IOException;
22 import java.io.PrintWriter;
23
24 import javax.servlet.ServletException;
25 import javax.servlet.http.Cookie;
26 import javax.servlet.http.HttpServlet;
27 import javax.servlet.http.HttpServletRequest;
28 import javax.servlet.http.HttpServletResponse;
29
30 import org.eclipse.jetty.http.HttpHeader;
31
32 public class CookiesServlet extends HttpServlet {
33
34 private static final long serialVersionUID = 1L;
35
36 protected void doGet(HttpServletRequest request,
37 HttpServletResponse response) throws ServletException, IOException {
38 doPost(request, response);
39 }
40
41 protected void doPost(HttpServletRequest request,
42 HttpServletResponse response) throws ServletException, IOException {
43 response.setContentType("text/html");
44 PrintWriter out = response.getWriter();
45 out.write(HtmlHelper.getStart("Submitted cookies"));
46 out.write("<h1>Submitted cookies</h1>\n<p>Cookies are:");
47
48
49
50
51
52 Cookie[] cookies = request.getCookies();
53 if (cookies != null) {
54 for (int i = 0; i < cookies.length; i++) {
55 out.write(cookies[i].getName() + "=" + cookies[i].getValue()
56 + "<br/>");
57 }
58 }
59
60 out.write(" </p>\n");
61 String ref = request.getHeader("Referer");
62 if (ref == null) {
63 if (request.getParameterValues("myReferer") != null) {
64 ref = request.getParameterValues("myReferer")[0];
65 }
66 }
67 out.write(HtmlHelper.getLinkParagraph("return", ref));
68
69 out.write(HtmlHelper.getEnd());
70
71
72 if (request.getParameter("dont_set") == null) {
73 Cookie cookie = new Cookie("serveurCookie","foo");
74 response.addCookie(cookie);
75 }
76
77
78
79
80
81
82
83
84
85
86
87
88
89 if(request.getParameter("set_by_headers") != null) {
90
91 Cookie jsessionIDCookie = new Cookie("JSESSIONID", "07D486AC962DE67F176F70B7C9816AAE.worker1");
92 jsessionIDCookie.setPath("/");
93
94 jsessionIDCookie.setMaxAge(-2);
95 jsessionIDCookie.setDomain("localhost");
96 response.addCookie(jsessionIDCookie);
97
98
99 org.eclipse.jetty.server.Response responseJetty = (org.eclipse.jetty.server.Response) response;
100 String cookie1 = responseJetty.getHttpFields().getStringField(HttpHeader.SET_COOKIE);
101
102 String cookie2 = cookie1.replace("worker1", "worker2");
103 response.addHeader(HttpHeader.SET_COOKIE.asString(), cookie2);
104 }
105 }
106
107 }