RequestHeaderTest.java 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. import java.io.*;
  2. import java.text.*;
  3. import java.util.*;
  4. import javax.servlet.*;
  5. import javax.servlet.http.*;
  6. public class RequestHeaderTest extends HttpServlet {
  7. public void doGet(HttpServletRequest request,
  8. HttpServletResponse response)
  9. throws IOException, ServletException
  10. {
  11. response.setContentType("text/html");
  12. PrintWriter out = response.getWriter();
  13. out.println("<html>");
  14. out.println("<head>");
  15. out.println("<title>JEUS Samples</title>");
  16. out.println("<link rel='stylesheet' type='text/css' href='infolink.css'>");
  17. out.println("</head>");
  18. out.println("<body BGCOLOR='#FFFFFF' TEXT='#000000' LINK='#0000EE' VLINK='#551A8B' ALINK='#FF0000' leftmargin='0' topmargin='0' marginwidth='0' marginheight='0'>");
  19. out.println("<table width='100%' border='0' cellspacing='0' cellpadding='0'>");
  20. out.println("<tr>");
  21. out.println("<td height='67' background='images/bgColor.gif'><img src='images/logo.gif' width='237' height='67'></td>");
  22. out.println("</tr>");
  23. out.println("<tr>");
  24. out.println("<td height='11' background='images/bgline.gif'></td>");
  25. out.println("</tr>");
  26. out.println("</table>");
  27. out.println("<br>");
  28. out.println("<table width='760' border='0' align='left' cellpadding='1' cellspacing='1' bgcolor='#FFFFFF'>");
  29. out.println("<tr bgcolor='#999999'>");
  30. out.println("<td width=\"25%\" height=\"27\" align=\"center\" onMouseover=\"this.style.backgroundColor='#0099cc'\" onMouseout=\"this.style.backgroundColor='#999999'\">");
  31. out.println("<a href='/examples/index2.jsp'><b><font color='#FFFFFF' face='Arial'>home</font></b></a></td>");
  32. out.println("<td width=\"25%\" align=\"center\" onMouseover=\"this.style.backgroundColor='#0099cc'\" onMouseout=\"this.style.backgroundColor='#999999'\">");
  33. out.println("<a href='/examples/sources/RequestHeaderTest.java'><b><font color='#FFFFFF'><b>view source </b></font></a></td>");
  34. out.println("<td width=\"25%\" align=\"center\" onMouseover=\"this.style.backgroundColor='#0099cc'\" onMouseout=\"this.style.backgroundColor='#999999'\">");
  35. out.println("</td>");
  36. out.println("<td width=\"25%\" align=\"center\" onMouseover=\"this.style.backgroundColor='#0099cc'\" onMouseout=\"this.style.backgroundColor='#999999'\">");
  37. out.println("</td>");
  38. out.println("</tr>");
  39. out.println("<td colspan='4' class='tdpadding'>");
  40. out.println("<br><h3>Request Headers</h3>");
  41. out.println("<table border=\"0\" cellpadding=\"10\">");
  42. Enumeration e = request.getHeaderNames();
  43. while (e.hasMoreElements()) {
  44. String headerName = (String)e.nextElement();
  45. String headerValue = request.getHeader(headerName);
  46. out.println("<tr><td bgcolor=\"#B0E2FF\">" + headerName);
  47. out.println("</td><td>" + headerValue + "</td></tr>");
  48. }
  49. out.println("</table>");
  50. out.println("<table border=\"0\" cellpadding=\"10\">");
  51. out.println("<tr><td bgcolor=\"#B0E2FF\">Content-Length by getIntHeader()</td><td>");
  52. out.println(request.getIntHeader("Content-Length") + "</td></tr>");
  53. out.println("<tr><td bgcolor=\"#B0E2FF\">Date by getDateHeader()</td><td>");
  54. out.println(request.getDateHeader("Date") + "</td></tr>");
  55. e = request.getHeaders("Accept-Language");
  56. while (e.hasMoreElements()) {
  57. String lang = (String)e.nextElement();
  58. out.println("<tr><td bgcolor=\"#B0E2FF\">Accept-Language by getHeaders()</td><td>");
  59. out.println(lang + "</td></tr>");
  60. }
  61. out.println("</table>");
  62. out.println("<br><h3>ServletContext Attributes</h3>");
  63. ServletContext context = getServletContext();
  64. Enumeration enum = context.getAttributeNames();
  65. while (enum.hasMoreElements()) {
  66. String param = (String)enum.nextElement();
  67. Object value = context.getAttribute(param);
  68. out.println("ServletContext.getAttribute() : " + param + " = " + value + "<br>");
  69. }
  70. out.println("<br><h3>Request Parameters (getting by getReader())</h3>");
  71. String contentType = request.getContentType();
  72. if (contentType != null) {
  73. try {
  74. int contentLength = request.getContentLength();
  75. char[] buf = new char[contentLength];
  76. BufferedReader br = request.getReader();
  77. int readbytes = br.read(buf, 0, contentLength);
  78. String queryString = new String(buf);
  79. out.println(queryString + "<br>");
  80. Hashtable params = HttpUtils.parseQueryString(queryString);
  81. Enumeration names = params.keys();
  82. out.println("<table border=\"0\" cellpadding=\"5\">");
  83. while (names.hasMoreElements()) {
  84. String name = (String)names.nextElement();
  85. String[] values = (String[])params.get(name);
  86. for (int i = 0; i < values.length; i++) {
  87. out.println("<tr><td bgcolor=\"#FDF5E6\">" + name + "</td><td>");
  88. out.println(values[i]+ "</td></tr>");
  89. }
  90. }
  91. out.println("</table>");
  92. } catch (IllegalStateException ise) {
  93. out.println("IllegalStateException catched..." + ise.getMessage());
  94. ise.printStackTrace();
  95. return;
  96. } catch (UnsupportedEncodingException uee) {
  97. out.println("UnsupportedEncodingException catched...");
  98. uee.printStackTrace();
  99. return;
  100. } catch (Exception ex) {
  101. ex.printStackTrace();
  102. return;
  103. }
  104. } else
  105. out.println("<br>No Parameters, Please enter some");
  106. out.println("<p>");
  107. out.println("<h3>Parameter Input Form</h3>");
  108. out.print("<form action=\"RequestHeaderTest\" method=POST>");
  109. out.println("<table border=\"0\" cellpadding=\"2\">");
  110. out.println("<tr><td>First Name</td><td>");
  111. out.println("<input type=text size=20 name=firstname></td></tr>");
  112. out.println("<tr><td>Last Name</td><td>");
  113. out.println("<input type=text size=20 name=lastname></td></tr>");
  114. out.println("<tr><td>Favorite Colors</td><td>");
  115. out.println("<input type=text size=20 name=color></td></tr>");
  116. out.println("</table>");
  117. out.println("<input type=submit>");
  118. out.println("</form>");
  119. out.println("</td></tr></table><br><br>");
  120. out.println("</body>");
  121. out.println("</html>");
  122. out.println("</body>");
  123. out.println("</html>");
  124. }
  125. public void doPost(HttpServletRequest request,
  126. HttpServletResponse response)
  127. throws IOException, ServletException
  128. {
  129. doGet(request, response);
  130. }
  131. }