ServletContextTest.java 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. import java.io.*;
  2. import java.net.*;
  3. import java.util.*;
  4. import javax.servlet.*;
  5. import javax.servlet.http.*;
  6. public class ServletContextTest extends HttpServlet {
  7. public void init(ServletConfig config) throws ServletException {
  8. super.init(config);
  9. ServletContext context = config.getServletContext();
  10. context.setAttribute("context", "examples");
  11. context.setAttribute("description", "For testing servlet APIs");
  12. context.setAttribute("servlet", "ServletContextTest");
  13. context.log("ServletContextTest Inited");
  14. }
  15. public void doGet(HttpServletRequest request,
  16. HttpServletResponse response)
  17. throws IOException, ServletException
  18. {
  19. response.setContentType("text/html");
  20. PrintWriter out = response.getWriter();
  21. out.println("<html>");
  22. out.println("<head>");
  23. out.println("<title>JEUS Samples</title>");
  24. out.println("<link rel='stylesheet' type='text/css' href='infolink.css'>");
  25. out.println("</head>");
  26. out.println("<body BGCOLOR='#FFFFFF' TEXT='#000000' LINK='#0000EE' VLINK='#551A8B' ALINK='#FF0000' leftmargin='0' topmargin='0' marginwidth='0' marginheight='0'>");
  27. out.println("<table width='100%' border='0' cellspacing='0' cellpadding='0'>");
  28. out.println("<tr>");
  29. out.println("<td height='67' background='images/bgColor.gif'><img src='images/logo.gif' width='237' height='67'></td>");
  30. out.println("</tr>");
  31. out.println("<tr>");
  32. out.println("<td height='11' background='images/bgline.gif'></td>");
  33. out.println("</tr>");
  34. out.println("</table>");
  35. out.println("<br>");
  36. out.println("<table width='760' border='0' align='left' cellpadding='1' cellspacing='1' bgcolor='#FFFFFF'>");
  37. out.println("<tr bgcolor='#999999'>");
  38. out.println("<td width=\"25%\" height=\"27\" align=\"center\" onMouseover=\"this.style.backgroundColor='#0099cc'\" onMouseout=\"this.style.backgroundColor='#999999'\">");
  39. out.println("<a href='/examples/index2.jsp'><b><font color='#FFFFFF' face='Arial'>home</font></b></a></td>");
  40. out.println("<td width=\"25%\" align=\"center\" onMouseover=\"this.style.backgroundColor='#0099cc'\" onMouseout=\"this.style.backgroundColor='#999999'\">");
  41. out.println("<a href='/examples/sources/ServletContextTest.java'><b><font color='#FFFFFF'><b>view source </b></font></a></td>");
  42. out.println("<td width=\"25%\" align=\"center\" onMouseover=\"this.style.backgroundColor='#0099cc'\" onMouseout=\"this.style.backgroundColor='#999999'\">");
  43. out.println("</td>");
  44. out.println("<td width=\"25%\" align=\"center\" onMouseover=\"this.style.backgroundColor='#0099cc'\" onMouseout=\"this.style.backgroundColor='#999999'\">");
  45. out.println("</td>");
  46. out.println("</tr>");
  47. out.println("<td colspan='4' class='tdpadding'>");
  48. out.println("<br><h3>Servlet Initial Parameters</h3>");
  49. Enumeration enum = getInitParameterNames();
  50. while (enum.hasMoreElements()) {
  51. String param = (String)enum.nextElement();
  52. String value = getInitParameter(param);
  53. out.println("GenericServlet.getInitParameter() : "
  54. + param + " = " + value + "<br>");
  55. }
  56. out.println("GenericServlet.getServletName() : " + getServletName() + "<br>");
  57. out.println("GenericServlet.getServletInfo() : " + getServletInfo() + "<br>");
  58. out.println("<br><h3>Servlet Initial Parameters (ServletConfig)</h3>");
  59. ServletConfig config = getServletConfig();
  60. enum = config.getInitParameterNames();
  61. while (enum.hasMoreElements()) {
  62. String param = (String)enum.nextElement();
  63. String value = config.getInitParameter(param);
  64. out.println("ServletConfig.getInitParameter() : " + param + " = " + value + "<br>");
  65. }
  66. out.println("ServletConfig.getServletName() : " + config.getServletName() + "<br>");
  67. out.println("<br><h3>ServletContext Initial Parameters</h3>");
  68. ServletContext context = getServletContext();
  69. enum = context.getInitParameterNames();
  70. while (enum.hasMoreElements()) {
  71. String param = (String)enum.nextElement();
  72. String value = context.getInitParameter(param);
  73. out.println("ServletContext.getInitParameter() : " + param + " = " + value + "<br>");
  74. }
  75. out.println("ServletContext.getMajorVersion() : " + context.getMajorVersion() + "<br>");
  76. out.println("ServletContext.getMinorVersion() : " + context.getMinorVersion() + "<br>");
  77. out.println("ServletContext.getServerInfo() : " + context.getServerInfo() + "<br>");
  78. String filepath = context.getRealPath("/") + "images" + File.separator + "code.gif";
  79. out.println("ServletContext.getMimeType() : " + context.getMimeType(filepath) + "<br>");
  80. out.println("<br><h3>ServletContext Attributes</h3>");
  81. enum = context.getAttributeNames();
  82. while (enum.hasMoreElements()) {
  83. String param = (String)enum.nextElement();
  84. Object value = context.getAttribute(param);
  85. if (value instanceof String)
  86. out.println("ServletContext.getAttribute() : " + param + " = " + (String)value + "<br>");
  87. else
  88. out.println("ServletContext.getAttribute() : " + param + " = " + value.toString() + "<br>");
  89. }
  90. out.println("<br><h3>Modified ServletContext Attributes</h3>");
  91. out.println("(Removing \"servlet\" attribute)<br>");
  92. context.removeAttribute("servlet");
  93. enum = context.getAttributeNames();
  94. while (enum.hasMoreElements()) {
  95. String param = (String)enum.nextElement();
  96. Object value = context.getAttribute(param);
  97. out.println("ServletContext.getAttribute() : " + param + " = " + value + "<br>");
  98. }
  99. out.println("<br><h3>Attributes of Other ServletContext</h3>");
  100. out.println("(Examples servlet context)");
  101. ServletContext other = context.getContext("/examples");
  102. enum = other.getAttributeNames();
  103. while (enum.hasMoreElements()) {
  104. String param = (String)enum.nextElement();
  105. Object value = other.getAttribute(param);
  106. out.println("examples context attribute : " + param + " = " + value + "<br>");
  107. }
  108. out.println("<br><h3>Deprecated ServletContext APIs</h3>");
  109. out.println("(Nothing must be printed)");
  110. enum = context.getServletNames();
  111. while (enum.hasMoreElements()) {
  112. String name = (String)enum.nextElement();
  113. Servlet value = (Servlet)context.getServlet(name);
  114. out.println("getServletNames() : " + name + "<br>");
  115. if (value != null)
  116. out.println("Error : getServlet() returns non-null object !!!<br>");
  117. }
  118. enum = context.getServlets();
  119. while (enum.hasMoreElements())
  120. out.println("Error : getServlets() returns non-empty enum object !!!<br>");
  121. try {
  122. out.println("<br><h3>ServletContext Resource APIs</h3>");
  123. URL url = context.getResource("/hello.html");
  124. out.println("ServletContext.getResource() (/hello.html) : " + url.toString());
  125. // will be deleted
  126. //out.println("<br> host = " + url.getHost() + ", port = " + url.getPort() +
  127. // ", protocol = " + url.getProtocol() + ", file = " + url.getFile());
  128. InputStream is = url.openStream();
  129. BufferedReader in = new BufferedReader(new InputStreamReader(is));
  130. String line = null;
  131. while ((line = in.readLine()) != null) {
  132. out.println(line);
  133. }
  134. out.println("ServletContext.getResourceAsStream() (/hello.html)");
  135. is = context.getResourceAsStream("/hello.html");
  136. in = new BufferedReader(new InputStreamReader(is));
  137. while ((line = in.readLine()) != null) {
  138. out.println(line);
  139. }
  140. } catch (Exception ex) {
  141. ex.printStackTrace();
  142. }
  143. out.println("</td></tr></table><br><br>");
  144. out.println("</body>");
  145. out.println("</html>");
  146. }
  147. }