|
|
|
|
Also, you can display CGI Variables from a servlet: /*
* DisplayCgiVariables.java
*
* Created on November 24, 2006, 8:48 PM
*/
package requestHeaderExamples;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* A Servlet to Display CGI variables.
*
* @author Bryan Higgs
* @version
*/
public class DisplayCgiVariables extends HttpServlet
{
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html;charset=UTF-8");
String docType = "<!DOCTYE html PUBLIC \"-//w3c//DTD XHTML 1.0 Strict//EN\"" +
" \"http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
PrintWriter out = response.getWriter();
String[][] variables =
{
{ "AUTH_TYPE", request.getAuthType() },
{ "CONTENT_LENGTH", String.valueOf(request.getContentLength()) },
{ "CONTENT_TYPE", request.getContentType() },
{ "DOCUMENT_ROOT", getServletContext().getRealPath("/") },
{ "PATH_INFO", request.getPathInfo() },
{ "PATH_TRANSLATED", request.getPathTranslated() },
{ "QUERY_STRING", request.getQueryString() },
{ "REMOTE_ADDR", request.getRemoteAddr() },
{ "REMOTE_HOST", request.getRemoteHost() },
{ "REMOTE_USER", request.getRemoteUser() },
{ "REQUEST_METHOD", request.getMethod() },
{ "SCRIPT_NAME", request.getServletPath() },
{ "SERVER_NAME", request.getServerName() },
{ "SERVER_PORT", String.valueOf(request.getServerPort()) },
{ "SERVER_PROTOCOL", request.getProtocol() },
{ "SERVER_SOFTWARE", getServletContext().getServerInfo() }
};
out.println(docType);
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet DisplayCgiVariables</title>");
out.println("</head>");
out.println("<body>");
out.println("<h2>Servlet DisplayCgiVariables at " + request.getContextPath () + "</h2>");
out.println("<table border=\"1\">");
out.println(" <tr><th>Name</th><th>Value</th></tr>");
for (int var = 0; var < variables.length; var++)
{
String name = variables[var][0];
String value = variables[var][1];
if (value == null)
{
value = "<i>Not specified</i>";
}
out.println(" <tr><td>" + name + "</td><td>" + value + "</td></tr>");
}
out.println("</table>");
out.println("</body>");
out.println("</html>");
out.close();
}
/**
* Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
processRequest(request, response);
}
/**
* Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
*/
public String getServletInfo()
{
return "Displays CGI variables";
}
}
The above servlet, when invoked from a browser with a query string produces:
|
| The page was last updated February 19, 2008 |