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("JEUS Samples"); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println("
"); out.println("
"); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println("
"); out.println("home"); out.println("view source "); 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("


"); out.println(""); out.println(""); } }