1 56 57 import java.io.File ; 58 import java.io.IOException ; 59 import java.io.PrintStream ; 60 import java.util.Iterator ; 61 import java.util.List ; 62 import org.jdom.Document; 63 import org.jdom.Element; 64 import org.jdom.JDOMException; 65 import org.jdom.input.SAXBuilder; 66 import org.jdom.output.XMLOutputter; 67 68 76 public class WarReader { 77 78 public static void main(String [] args) throws IOException , JDOMException { 79 if (args.length != 1) { 80 System.err.println("Usage: java WarReader [web.xml]"); 81 return; 82 } 83 String filename = args[0]; 84 PrintStream out = System.out; 85 86 SAXBuilder builder = new SAXBuilder(); 87 Document doc = builder.build(new File (filename)); 88 89 Element root = doc.getRootElement(); 91 92 List servlets = root.getChildren("servlet"); 94 out.println("This WAR has "+ servlets.size() +" registered servlets:"); 95 Iterator i = servlets.iterator(); 96 while (i.hasNext()) { 97 Element servlet = (Element) i.next(); 98 out.print("\t" + servlet.getChild("servlet-name") 99 .getTextTrim() + 100 " for " + servlet.getChild("servlet-class") 101 .getTextTrim()); 102 List initParams = servlet.getChildren("init-param"); 103 out.println(" (it has " + initParams.size() + " init params)"); 104 } 105 106 List securityRoles = root.getChildren("security-role"); 108 if (securityRoles.size() == 0) { 109 out.println("This WAR contains no roles"); 110 } 111 else { 112 Element securityRole = (Element) securityRoles.get(0); 113 List roleNames = securityRole.getChildren("role-name"); 114 out.println("This WAR contains " + roleNames.size() + " roles:"); 115 i = roleNames.iterator(); 116 while (i.hasNext()) { 117 Element e = (Element) i.next(); 118 out.println("\t" + e.getTextTrim()); 119 } 120 } 121 122 List distrib = root.getChildren("distributed"); 124 if (distrib.size() == 0) { 125 out.println("This WAR is not distributed"); 126 } else { 127 out.println("This WAR is distributed"); 128 } 129 } 130 } 131 | Popular Tags |