import java.io.*; import java.net.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class ServletContextTest extends HttpServlet { public void init(ServletConfig config) throws ServletException { super.init(config); ServletContext context = config.getServletContext(); context.setAttribute("context", "examples"); context.setAttribute("description", "For testing servlet APIs"); context.setAttribute("servlet", "ServletContextTest"); context.log("ServletContextTest Inited"); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println(""); out.println("
"); out.println(""); out.println(" |
"); out.println(" |
"); out.println("home | "); out.println(""); out.println("view source | "); out.println(""); out.println(" | "); out.println(""); out.println(" | "); out.println("");
out.println("Servlet Initial Parameters"); Enumeration enum1 = getInitParameterNames(); while (enum1.hasMoreElements()) { String param = (String)enum1.nextElement(); String value = getInitParameter(param); out.println("GenericServlet.getInitParameter() : " + param + " = " + value + ""); } out.println("GenericServlet.getServletName() : " + getServletName() + " "); out.println("GenericServlet.getServletInfo() : " + getServletInfo() + " "); out.println(" Servlet Initial Parameters (ServletConfig)"); ServletConfig config = getServletConfig(); enum1 = config.getInitParameterNames(); while (enum1.hasMoreElements()) { String param = (String)enum1.nextElement(); String value = config.getInitParameter(param); out.println("ServletConfig.getInitParameter() : " + param + " = " + value + ""); } out.println("ServletConfig.getServletName() : " + config.getServletName() + " "); out.println(" ServletContext Initial Parameters"); ServletContext context = getServletContext(); enum1 = context.getInitParameterNames(); while (enum1.hasMoreElements()) { String param = (String)enum1.nextElement(); String value = context.getInitParameter(param); out.println("ServletContext.getInitParameter() : " + param + " = " + value + ""); } out.println("ServletContext.getMajorVersion() : " + context.getMajorVersion() + " "); out.println("ServletContext.getMinorVersion() : " + context.getMinorVersion() + " "); out.println("ServletContext.getServerInfo() : " + context.getServerInfo() + " "); String filepath = context.getRealPath("/") + "images" + File.separator + "code.gif"; out.println("ServletContext.getMimeType() : " + context.getMimeType(filepath) + " "); out.println(" ServletContext Attributes"); enum1 = context.getAttributeNames(); while (enum1.hasMoreElements()) { String param = (String)enum1.nextElement(); Object value = context.getAttribute(param); if (value instanceof String) out.println("ServletContext.getAttribute() : " + param + " = " + (String)value + ""); else out.println("ServletContext.getAttribute() : " + param + " = " + value.toString() + " "); } out.println(" Modified ServletContext Attributes"); out.println("(Removing \"servlet\" attribute)"); context.removeAttribute("servlet"); enum1 = context.getAttributeNames(); while (enum1.hasMoreElements()) { String param = (String)enum1.nextElement(); Object value = context.getAttribute(param); out.println("ServletContext.getAttribute() : " + param + " = " + value + " "); } out.println(" Attributes of Other ServletContext"); out.println("(Examples servlet context)"); ServletContext other = context.getContext("/examples"); enum1 = other.getAttributeNames(); while (enum1.hasMoreElements()) { String param = (String)enum1.nextElement(); Object value = other.getAttribute(param); out.println("examples context attribute : " + param + " = " + value + ""); } out.println(" Deprecated ServletContext APIs"); out.println("(Nothing must be printed)"); enum1 = context.getServletNames(); while (enum1.hasMoreElements()) { String name = (String)enum1.nextElement(); Servlet value = (Servlet)context.getServlet(name); out.println("getServletNames() : " + name + ""); if (value != null) out.println("Error : getServlet() returns non-null object !!! "); } enum1 = context.getServlets(); while (enum1.hasMoreElements()) out.println("Error : getServlets() returns non-empty enum object !!! "); InputStream is = null; BufferedReader in = null; try { out.println(" ServletContext Resource APIs"); URL url = context.getResource("/hello.html"); out.println("ServletContext.getResource() (/hello.html) : " + url.toString()); // will be deleted //out.println("host = " + url.getHost() + ", port = " + url.getPort() + // ", protocol = " + url.getProtocol() + ", file = " + url.getFile()); is = url.openStream(); in = new BufferedReader(new InputStreamReader(is)); String line = null; while ((line = in.readLine()) != null) { out.println(line); } out.println("ServletContext.getResourceAsStream() (/hello.html)"); is = context.getResourceAsStream("/hello.html"); in = new BufferedReader(new InputStreamReader(is)); while ((line = in.readLine()) != null) { out.println(line); } } catch (Exception ex) { ex.printStackTrace(); } finally { if(in != null) { in.close(); } if(is != null) { is.close(); } } out.println(" |