1
2
3
4
5
6
7
8
9
10
11
12
13
14 package com.acme;
15 import java.io.IOException;
16 import java.io.PrintWriter;
17
18 import javax.servlet.ServletConfig;
19 import javax.servlet.ServletException;
20 import javax.servlet.http.Cookie;
21 import javax.servlet.http.HttpServlet;
22 import javax.servlet.http.HttpServletRequest;
23 import javax.servlet.http.HttpServletResponse;
24
25
26
27
28
29
30
31 public class CookieDump extends HttpServlet
32 {
33 int redirectCount=0;
34
35
36 public void init(ServletConfig config)
37 throws ServletException
38 {
39 super.init(config);
40 }
41
42
43 protected void handleForm(HttpServletRequest request,
44 HttpServletResponse response)
45 {
46 String action = request.getParameter("Action");
47 String name = request.getParameter("Name");
48 String value = request.getParameter("Value");
49 String age = request.getParameter("Age");
50
51 if (name!=null && name.length()>0)
52 {
53 Cookie cookie = new Cookie(name,value);
54 if (age!=null && age.length()>0)
55 cookie.setMaxAge(Integer.parseInt(age));
56 response.addCookie(cookie);
57 }
58 }
59
60
61 public void doPost(HttpServletRequest request,
62 HttpServletResponse response)
63 throws ServletException, IOException
64 {
65 handleForm(request,response);
66 String nextUrl = getURI(request)+"?R="+redirectCount++;
67 String encodedUrl=response.encodeRedirectURL(nextUrl);
68 response.sendRedirect(encodedUrl);
69 }
70
71
72 public void doGet(HttpServletRequest request,
73 HttpServletResponse response)
74 throws ServletException, IOException
75 {
76 handleForm(request,response);
77
78 response.setContentType("text/html");
79
80
81 PrintWriter out = response.getWriter();
82 out.println("<h1>Cookie Dump Servlet:</h1>");
83
84 Cookie[] cookies = request.getCookies();
85
86 for (int i=0;cookies!=null && i<cookies.length;i++)
87 {
88 out.println("<b>"+cookies[i].getName()+"</b>="+cookies[i].getValue()+"<br/>");
89 }
90
91 out.println("<form action=\""+response.encodeURL(getURI(request))+"\" method=\"post\">");
92
93 out.println("<b>Name:</b><input type=\"text\" name=\"Name\" value=\"name\"/><br/>");
94 out.println("<b>Value:</b><input type=\"text\" name=\"Value\" value=\"value\"/><br/>");
95 out.println("<b>Max-Age:</b><input type=\"text\" name=\"Age\" value=\"60\"/><br/>");
96 out.println("<input type=\"submit\" name=\"Action\" value=\"Set\"/>");
97
98 }
99
100
101 public String getServletInfo() {
102 return "Session Dump Servlet";
103 }
104
105
106 private String getURI(HttpServletRequest request)
107 {
108 String uri=(String)request.getAttribute("javax.servlet.forward.request_uri");
109 if (uri==null)
110 uri=request.getRequestURI();
111 return uri;
112 }
113
114 }