1
2
3
4
5
6
7
8
9
10
11
12package security.command;
13
14import java.io.IOException;
15import java.io.PrintWriter;
16import java.util.Enumeration;
17
18import javax.servlet.ServletContext;
19import javax.servlet.http.HttpServletRequest;
20import javax.servlet.http.HttpServletResponse;
21
22import security.constraint.AccessControl;
23
24public class ServerInfoCommand implements Command
25{
26 @AccessControl(role = "info")
27 public void execute(HttpServletRequest request, HttpServletResponse response, ServletContext context) throws IOException
28 {
29 response.setContentType("text/plain");
30 PrintWriter writer = response.getWriter();
31 writer.println("Server Info: " + context.getServerInfo());
32 writer.println("Server Name: " + request.getServerName());
33 writer.println("Server Port: " + request.getServerPort());
34 writer.println("Local Address: " + request.getLocalName() + " (" + request.getLocalAddr() + ") " + request.getLocalPort());
35 writer.println("-----------------");
36 writer.println("Context Name: " + context.getServletContextName());
37 writer.println("Init Parameters: ");
38 Enumeration names = context.getInitParameterNames();
39 while (names.hasMoreElements())
40 {
41 String name = (String) names.nextElement();
42 writer.println("\t* " + name + "=" + context.getInitParameter(name));
43 }
44 writer.flush();
45 }
46}
// Copyright 2007, Tim Vernum
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
// modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
// WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package security.command;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import security.constraint.AccessControl;
public class ServerInfoCommand implements Command
{
@AccessControl(role = "info")
public void execute(HttpServletRequest request, HttpServletResponse response, ServletContext context) throws IOException
{
response.setContentType("text/plain");
PrintWriter writer = response.getWriter();
writer.println("Server Info: " + context.getServerInfo());
writer.println("Server Name: " + request.getServerName());
writer.println("Server Port: " + request.getServerPort());
writer.println("Local Address: " + request.getLocalName() + " (" + request.getLocalAddr() + ") " + request.getLocalPort());
writer.println("-----------------");
writer.println("Context Name: " + context.getServletContextName());
writer.println("Init Parameters: ");
Enumeration names = context.getInitParameterNames();
while (names.hasMoreElements())
{
String name = (String) names.nextElement();
writer.println("\t* " + name + "=" + context.getInitParameter(name));
}
writer.flush();
}
}