ServletContextTest.java 8.1 KB

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