
net.sourceforge.jwebunit.tests.util.ParamsServlet Maven / Gradle / Ivy
Show all versions of jwebunit-commons-tests Show documentation
/******************************************************************************
* JWebUnit project (http://jwebunit.sourceforge.net) *
* Distributed open-source, see full license under LICENCE.txt *
******************************************************************************/
package net.sourceforge.jwebunit.tests.util;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class ParamsServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.write(HtmlHelper.getStart("Submitted parameters"));
out.write("Submitted parameters
\nParams are:");
/*
* Prints POST and GET parameters as name=value1[,value2...] separated
* with spaces
*/
// Check that we have a file upload request
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
// Create a factory for disk-based file items
FileItemFactory factory = new DiskFileItemFactory();
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Parse the request
List /* FileItem */items = null;
try {
items = upload.parseRequest(request);
} catch (FileUploadException e) {
throw new ServletException(e);
}
String ref = null;
// Process the uploaded items
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (item.isFormField()) {
out.write(" " + item.getFieldName() + "="
+ item.getString());
if (item.getFieldName().equals("myReferer")) {
ref = item.getString();
}
} else {
String fieldName = item.getFieldName();
String fileName = item.getName();
String contentType = item.getContentType();
boolean isInMemory = item.isInMemory();
long sizeInBytes = item.getSize();
out.write(" " + item.getFieldName() + "=" + item.getName()
+ "{" + new String(item.get()) + "}");
}
}
out.write("
\n");
out.write(HtmlHelper.getLinkParagraph("return", ref));
} else {
java.util.Enumeration params = request.getParameterNames();
for (; params.hasMoreElements();) {
String p = params.nextElement().toString();
String[] v = request.getParameterValues(p);
out.write(" " + p + "=");
int n = v.length;
if (n > 0) {
out.write(v[0] != null ? v[0] : "");
for (int i = 1; i < n; i++) {
out.write("," + (v[i] != null ? v[i] : ""));
}
}
}
out.write(" \n");
String ref = request.getHeader("Referer");
if (ref == null) {
if (request.getParameterValues("myReferer") != null) {
ref = request.getParameterValues("myReferer")[0];
}
}
out.write(HtmlHelper.getLinkParagraph("return", ref));
}
out.write(HtmlHelper.getEnd());
}
}