Created
February 9, 2015 15:10
-
-
Save gabbaybr/b2b6d9766fa57b7c551b to your computer and use it in GitHub Desktop.
Class to debug fields from submited form
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.gabbay.servlets; | |
import java.io.IOException; | |
import java.io.PrintWriter; | |
import java.util.Enumeration; | |
import java.util.Iterator; | |
import java.util.List; | |
import javax.servlet.ServletException; | |
import javax.servlet.annotation.WebServlet; | |
import javax.servlet.http.HttpServlet; | |
import javax.servlet.http.HttpServletRequest; | |
import javax.servlet.http.HttpServletResponse; | |
import javax.servlet.http.HttpSession; | |
import org.apache.commons.fileupload.FileItem; | |
import org.apache.commons.fileupload.FileItemFactory; | |
import org.apache.commons.fileupload.disk.DiskFileItemFactory; | |
import org.apache.commons.fileupload.servlet.ServletFileUpload; | |
/** | |
* Servlet implementation class SubmitForm | |
*/ | |
@WebServlet("/SubmitForm") | |
public class SubmitForm extends HttpServlet { | |
private static final long serialVersionUID = 1L; | |
/** | |
* @see HttpServlet#HttpServlet() | |
*/ | |
public SubmitForm() { | |
super(); | |
} | |
/** | |
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse | |
* response) | |
*/ | |
protected void doGet(HttpServletRequest request, | |
HttpServletResponse response) throws ServletException, IOException { | |
listAllFieldsFromForm("GET", request, response); | |
} | |
/** | |
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse | |
* response) | |
*/ | |
protected void doPost(HttpServletRequest request, | |
HttpServletResponse response) throws ServletException, IOException { | |
listAllFieldsFromForm("POST", request, response); | |
} | |
private void listAllFieldsFromForm(String method, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { | |
response.setContentType("text/html"); | |
PrintWriter out = response.getWriter(); | |
out.write("METHOD: " + method + "\r\n</br>"); | |
out.write("========================================================================\r\n</br>"); | |
boolean isMultipart = ServletFileUpload.isMultipartContent(request); | |
// Multipart form | |
if (isMultipart) { | |
FileItemFactory factory = new DiskFileItemFactory(); | |
ServletFileUpload upload = new ServletFileUpload(factory); | |
try { | |
List items = upload.parseRequest(request); | |
Iterator iterator = items.iterator(); | |
while (iterator.hasNext()) { | |
FileItem item = (FileItem) iterator.next(); | |
if (!item.isFormField()) { | |
String fieldName = item.getFieldName(); | |
String fileName = item.getName(); | |
out.write("FILE:" + fieldName + "=" + fileName); | |
/* | |
* String root = getServletContext().getRealPath("/"); | |
* File path = new File(root + "/fileuploads"); if | |
* (!path.exists()) { boolean status = path.mkdirs(); } | |
* | |
* File uploadedFile = new File(path + "/" + fileName); | |
* item.write(uploadedFile); | |
*/ | |
} else { | |
// Process regular form field (input | |
// type="text|radio|checkbox|etc", select, etc). | |
String fieldName = item.getFieldName(); | |
String fieldValue = item.getString(); | |
out.write("FIELD:" + fieldName + "=" + fieldValue); | |
} | |
out.write("\r\n</br>"); | |
} | |
} catch (Exception e) { | |
e.printStackTrace(); | |
} | |
// Regular form | |
} else { | |
HttpSession session = request.getSession(); | |
Enumeration keys = request.getParameterNames(); | |
while (keys.hasMoreElements()) { | |
String key = (String) keys.nextElement(); | |
String value = request.getParameter(key); | |
out.write("FIELD:" + key + "=" + value); | |
out.write("\r\n</br>"); | |
// If the same key has multiple values (check boxes) | |
String[] valueArray = request.getParameterValues(key); | |
for (int i = 0; i > valueArray.length; i++) { | |
out.write("VALUE ARRAY" + valueArray[i]); | |
out.write("\r\n</br>"); | |
} | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment