1   package org.mortbay.jetty.example;
2   
3   import org.mortbay.jetty.Server;
4   import org.mortbay.jetty.handler.ContextHandler;
5   import org.mortbay.xml.XmlConfiguration;
6   
7   public class FromXmlConfiguration
8   {
9       public static void main(String[] args)
10          throws Exception
11      {
12          String server_config=
13              "<Configure id=\"Server\" class=\"org.mortbay.jetty.Server\">\n"+
14              "  <Call name=\"addConnector\">\n" +
15              "    <Arg>\n" +
16              "      <New class=\"org.mortbay.jetty.nio.SelectChannelConnector\">\n" +
17              "        <Set name=\"port\"><SystemProperty name=\"jetty.port\" default=\"8080\"/></Set>\n" +
18              "      </New>\n" +
19              "    </Arg>\n"+
20              "  </Call>\n"+
21              "</Configure>\n";
22     
23          String context_config=
24              "<Configure id=\"Server\" class=\"org.mortbay.jetty.servlet.Context\">\n"+
25              "  <Set name=\"contextPath\">/</Set>\n"+
26              "  <Set name=\"resourceBase\"><SystemProperty name=\"jetty.docroot\" default=\".\"/></Set>\n"+
27              "  <Call name=\"addServlet\"><Arg>org.mortbay.jetty.servlet.DefaultServlet</Arg><Arg>/</Arg></Call>\n"+
28              "</Configure>\n";
29          
30          // Apply configuration to an existing object
31          Server server = new Server();
32          XmlConfiguration configuration = new XmlConfiguration(server_config); 
33          configuration.configure(server);
34          
35          // configuration creates new object
36          configuration = new XmlConfiguration(context_config); 
37          ContextHandler context = (ContextHandler)configuration.configure();
38          
39          server.setHandler(context);
40          server.start();
41      }
42  }