jetty.xml 解读
<?xml version="1.0"?> <!DOCTYPE Configure PUBLIC "-//MortBay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd"> <!-- 配置Server对象,此时会调用org.mortbay.jetty.Server默认构造函数new一个Server 路径:jetty-6.1.22\modules\jetty\src\main\java\org\mortbay\jetty\Server.java--> <Configure id="Server" class="org.mortbay.jetty.Server"> <!-- =========================================================== --> <!-- 配置线程池 --> <!-- =========================================================== --> <!-- 调用当前Server对象的setThreadPool方法 --> <Set name="ThreadPool"> <!-- new一个ThreadPool对象,作为setThreadPool方法的参数 路径 \jetty-6.1.22\extras\threadpool\src\main\java\org\mortbay\thread\concurrent --> <New class="org.mortbay.thread.concurrent.ThreadPool"> <!-- 设置线程池核心线程数大小 --> <Set name="corePoolSize">50</Set> <!-- 设置线程池最大线程数 --> <Set name="maximumPoolSize">50</Set> </New> </Set> <!-- =========================================================== --> <!-- 注册 connectors --> <!-- =========================================================== --> <!-- 调用当前Server对象的addConnector方法 --> <Call name="addConnector"> <Arg> <!--Arg 标签表示addConnector方法的参数列表--> <!--new一个SelectChannelConnector对象--> <New class="org.mortbay.jetty.nio.SelectChannelConnector"> <!--调用当前SelectChannelConnector对象的setHost方法, host表示Connector需要监听的IP地址或者hostname, SystemProperty标签用来获取Java系统变量。 --> <Set name="host"><SystemProperty name="jetty.host" /></Set> <!-- 监听端口 --> <Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set> <!-- 一个连接的最大空闲时间 --> <Set name="maxIdleTime">30000</Set> <!-- Acceptor线程数量,Accepto的功能是接收客户端连接然后分配个 ThreadPool处理--> <Set name="Acceptors">2</Set> <!-- 是否开启统计功能 --> <Set name="statsOn">false</Set> <Set name="confidentialPort">8443</Set> <!-- 连接数量达到该数值时,Jetty会认为服务器资源已被耗尽 --> <Set name="lowResourcesConnections">5000</Set> <!-- 当资源饱和时,连接最大等待时间,时间单位是毫秒 --> <Set name="lowResourcesMaxIdleTime">5000</Set> </New> </Arg> </Call> <!-- =========================================================== --> <!-- 设置Handlers --> <!-- =========================================================== --> <Set name="handler"> <!-- HandlerCollection 中每一个Handler都会被按顺序执行 路径 \jetty-6.1.22\modules\jetty\src\main\java\org\mortbay\jetty\handler\HandlerCollection.java --> <New id="Handlers" class="org.mortbay.jetty.handler.HandlerCollection"> <Set name="handlers"> <Array type="org.mortbay.jetty.Handler"> <Item> <!-- ContextHandler 的集合 --> <New id="Contexts" class="org.mortbay.jetty.handler.ContextHandlerCollection"/> </Item> <Item> <!-- DefaultHandler 如果前一Handler没有处理request的话就会执行它。用来输出提示信息或者输出网站图标 --> <New id="DefaultHandler" class="org.mortbay.jetty.handler.DefaultHandler"/> </Item> <!-- 请求日志记录器 路径 \jetty-6.1.22\modules\jetty\src\main\java\org\mortbay\jetty\handler\RequestLogHandler.java --> <Item> <New id="RequestLog" class="org.mortbay.jetty.handler.RequestLogHandler"/> </Item> </Array> </Set> </New> </Set> ....................