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 import java.util.Iterator;
24 import java.util.List;
25
26 import javax.servlet.ServletException;
27 import javax.servlet.http.HttpServlet;
28 import javax.servlet.http.HttpServletRequest;
29 import javax.servlet.http.HttpServletResponse;
30
31 import org.apache.commons.fileupload.FileItem;
32 import org.apache.commons.fileupload.FileItemFactory;
33 import org.apache.commons.fileupload.FileUploadException;
34 import org.apache.commons.fileupload.disk.DiskFileItemFactory;
35 import org.apache.commons.fileupload.servlet.ServletFileUpload;
36
37 public class ParamsServlet extends HttpServlet {
38
39 private static final long serialVersionUID = 1L;
40
41 protected void doGet(HttpServletRequest request,
42 HttpServletResponse response) throws ServletException, IOException {
43 doPost(request, response);
44 }
45
46 protected void doPost(HttpServletRequest request,
47 HttpServletResponse response) throws ServletException, IOException {
48 response.setContentType("text/html");
49 PrintWriter out = response.getWriter();
50 out.write(HtmlHelper.getStart("Submitted parameters"));
51 out.write("<h1>Submitted parameters</h1>\n<p>Params are:<br/>");
52
53
54
55
56
57
58 boolean isMultipart = ServletFileUpload.isMultipartContent(request);
59 if (isMultipart) {
60
61 FileItemFactory factory = new DiskFileItemFactory();
62
63
64 ServletFileUpload upload = new ServletFileUpload(factory);
65
66
67 List
68 try {
69 items = upload.parseRequest(request);
70 } catch (FileUploadException e) {
71 throw new ServletException(e);
72 }
73
74 String ref = null;
75
76 Iterator iter = items.iterator();
77 while (iter.hasNext()) {
78 FileItem item = (FileItem) iter.next();
79
80 if (item.isFormField()) {
81 out.write(" " + item.getFieldName() + "=["
82 + item.getString());
83 if (item.getFieldName().equals("myReferer")) {
84 ref = item.getString();
85 }
86 } else {
87 String fieldName = item.getFieldName();
88 String fileName = item.getName();
89 out.write(" " + fieldName + "=[" + fileName
90 + "{" + new String(item.get()) + "}");
91
92 }
93 if (iter.hasNext()) {
94 out.write("]<br/>\n");
95 }
96 }
97 out.write("]</p>\n");
98 out.write(HtmlHelper.getLinkParagraph("return", ref));
99 } else {
100 java.util.Enumeration params = request.getParameterNames();
101 for (; params.hasMoreElements();) {
102 String p = params.nextElement().toString();
103 String[] v = request.getParameterValues(p);
104 out.write(p + "=[");
105 int n = v.length;
106 if (n > 0) {
107 out.write(v[0] != null ? v[0] : "");
108 for (int i = 1; i < n; i++) {
109 out.write("," + (v[i] != null ? v[i] : ""));
110 }
111 }
112 if (params.hasMoreElements()) {
113 out.write("]<br/>\n");
114 }
115 }
116 out.write("]</p>\n");
117 String ref = request.getHeader("Referer");
118 if (ref == null) {
119 if (request.getParameterValues("myReferer") != null) {
120 ref = request.getParameterValues("myReferer")[0];
121 }
122 }
123 out.write(HtmlHelper.getLinkParagraph("return", ref));
124 }
125 out.write(HtmlHelper.getEnd());
126 }
127
128 }