import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class Environment extends HttpServlet{ //Skriver ut ett antal miljšvariabler public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException{ res.setContentType("text/plain"); PrintWriter out = res.getWriter(); Enumeration iter = null; String[] values = null; Cookie[] cookies = null; String tmp = null; out.println("SERVER-SIDE INFORMATION:\n¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤\n\n"); out.println("SERVLET INFORMATION:\n\tServlet name: " + getServletName() + "\n"); out.println("SERVLET INIT PARAMETERS:"); iter = getInitParameterNames(); while (iter.hasMoreElements()){ tmp = (String)iter.nextElement(); out.println("\t" + tmp + ": " + getInitParameter(tmp)); } out.println("\nCONTEXT INIT PARAMETERS:"); iter = getServletContext().getInitParameterNames(); while (iter.hasMoreElements()){ tmp = (String)iter.nextElement(); out.println("\t" + tmp + ": " + getServletContext().getInitParameter(tmp)); } out.println("\nSERVER INFORMATION:"); out.println("\tServer name: " + req.getServerName()); out.println("\tServer port: " + req.getServerPort()); out.println("\tServer info: " + getServletContext().getServerInfo() + "\n\nSERVER ATTRIBUTES:"); iter = getServletContext().getAttributeNames(); while (iter.hasMoreElements()){ tmp = (String)iter.nextElement(); out.println("\t" + tmp + ": " + getServletContext().getAttribute(tmp)); } out.println("\nRUNTIME VERSIONS:\n\tMajor webserver version: " + getServletContext().getMajorVersion()); out.println("\tMinor webserver version: " + getServletContext().getMinorVersion()); out.println("\tJDK version: " + System.getProperty("java.version") + "\n\n"); out.println("CLIENT-SIDE INFORMATION:\n¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤\n\n"); out.println("CLIENT INFORMATION:"); out.println("\tRemote address: " + req.getRemoteAddr()); out.println("\tRemote host: " + req.getRemoteHost()); out.println("\tRemote user: " + req.getRemoteUser()); out.println("\tAuthentication type: " + req.getAuthType()); out.println("\nHEADERS:"); iter = req.getHeaderNames(); while (iter.hasMoreElements()){ tmp = (String)iter.nextElement(); out.println("\t" + tmp + ": " + req.getHeader(tmp)); } out.println("\nREQUEST PARAMETERS:"); out.println("\tQuery string: " + req.getQueryString()); out.println("\tCharacter encoding: " + req.getCharacterEncoding()); out.println("\tContent length: " + Integer.toString(req.getContentLength())); out.println("\tContent type: " + req.getContentType() + "\n"); out.println("REQUEST PARAMETERS, ONE BY ONE:"); iter = req.getParameterNames(); while (iter.hasMoreElements()){ tmp = (String)iter.nextElement(); out.println("\t" + tmp + ": "); values = req.getParameterValues(tmp); for(int i = 0; i < values.length; i++) out.println("\t\tValue nr " + i + ": " + values[i]); } out.println("\nCOOKIES, ONE BY ONE:"); cookies = req.getCookies(); if (cookies != null){ for(int i = 0; i < cookies.length; i++) out.println("\t" + cookies[i].getName() + ": " + cookies[i].getValue()); } out.println("\nPATH AND CONNECTION INFORMATION:"); out.println("\tPath info: " + req.getPathInfo()); out.println("\tTranslated path: " + req.getPathTranslated()); out.println("\tRequest URI: " + req.getRequestURI()); out.println("\tRequest URL: " + req.getRequestURL()); out.println("\tRequest scheeme: " + req.getScheme()); out.println("\tContext path: " + req.getContextPath()); out.println("\tServlet path: " + req.getServletPath()); out.println("\tRequest protocol: " + req.getProtocol()); out.println("\tRequest method: " + req.getMethod() + "\n"); out.println("REQUEST ATTRIBUTES:"); iter = req.getAttributeNames(); while (iter.hasMoreElements()){ tmp = (String)iter.nextElement(); out.println("\t" + tmp + ": " + req.getAttribute(tmp)); } } }