The jetty.xml is the configuration file when you run the server java -jar server.jar etc/jetty.xml. However, you may create one with your own configuration and settings and explicitly specify it when you run the server ...etc/my_own_config.xml.
Once the server is running, the elements declared and placed in between its parameters are called and/or created. Here's a more descriptive oveview of the jetty.xml:
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
All tags and elements declared inside jetty.xml will be pointing to this resource, configure.dtd. This only means tags and/or elements will be readable based from this data type file.
<Configure id="Server" class="org.mortbay.jetty.Server">
This is the first instance called when you run the server. The org.mortbay.jetty.Server is the main class for the Jetty HTTP Servlet server. It aggregates connectors (HTTP request receivers) and request Handlers. The server is itself a handler and a ThreadPool. Connectors use the ThreadPool methods to run jobs that will eventually call the handle method.
This class implements the pooling of threads. It avoids the expense of thread creation by pooling threads after their run methods exit for reuse. If the maximum pool size is reached, jobs wait for a free thread. By default there is no maximum pool size. Idle threads timeout and terminate until the minimum number of threads are running.
Implementations of this interface provide connectors for the HTTP protocol. Classes defined under these are:
org.mortbay.jetty.bio.SocketConnector - implements a traditional blocking IO and threading model.
org.mortbay.jetty.nio.SelectChannelConnector - This connector uses efficient NIO buffers with a non blocking threading model. This is where we normally change the port numbers used for running the server; default is 8080.