package coreservlets;
  
  
import java.io.*;
  
import javax.servlet.*;
  
import javax.servlet.http.*;
  
import java.util.*;  
  
/** Shows all the parameters sent to the servlet via either
  
* GET or POST. Specially marks parameters that have
  
* no values or multiple values.
  
* <P>
  
* Taken from Core Servlets and JavaServer Pages
  
* from Prentice Hall and Sun Microsystems Press,
  
* http://www.coreservlets.com/.
  
* © 2000 Marty Hall; may be freely used or adapted.
  
*/  
  
public class ShowParameters extends HttpServlet {
  
public void doGet(HttpServletRequest request,
  
HttpServletResponse response)
  
throws ServletException, IOException {
  
response.setContentType("text/html");
  
PrintWriter out = response.getWriter();
  
String title = "Reading All Request Parameters";
  
out.println(ServletUtilities.headWithTitle(title) +
  
"<BODY BGCOLOR="#FDF5E6">
" +
  
"<H1 ALIGN=CENTER>" + title + "</H1>
" +
  
"<TABLE BORDER=1 ALIGN=CENTER>
" +
  
"<TR BGCOLOR="#FFAD00">
" +
  
"<TH>Parameter Name<TH>Parameter Value(s)");
  
Enumeration paramNames = request.getParameterNames();
  
while(paramNames.hasMoreElements()) {
  
String paramName = (String)paramNames.nextElement();
  
out.print("<TR><TD>" + paramName + "
<TD>");
  
String[] paramValues =
  
request.getParameterValues(paramName);
  
if (paramValues.length == 1) {
  
String paramValue = paramValues[0];
  
if (paramValue.length() == 0)
  
out.println("<I>No Value</I>");
  
else
  
out.println(paramValue);
  
} else {
  
out.println("<UL>");
  
for(int i=0; i<paramValues.length; i++) {
  
out.println("<LI>" + paramValues);
  
}
  
out.println("</UL>");
  
}
  
}
  
out.println("</TABLE>
</BODY></HTML>");
  
}  
  
public void doPost(HttpServletRequest request,
  
HttpServletResponse response)
  
throws ServletException, IOException {
  
doGet(request, response);
  
}
  
}