publicstaticvoidmain(String[] args) throwsException {
Serverserver = newServer(8080);
ResourceHandlerresource_handler = newResourceHandler();
resource_handler.setDirectoriesListed(true);
resource_handler.setWelcomeFiles(newString[] { "index.html"});
resource_handler.setResourceBase(".");
HandlerListhandlers = newHandlerList();
handlers.setHandlers(newHandler[] { resource_handler, newDefaultHandler() });
server.setHandler(handlers);
server.start();
server.join();
}
}
注意HandlerList包括ResourceHandler和DefaultHandler,后者主要用于当请求不匹配静态资源时返回404错误页面。
4. 嵌入Connectors
在前面的例子,创建Server实例时传入了一个端口号参数,程序内部会创建一个Connector的默认实例,在指定的端口上监听请求。然而,通常嵌入式的Jetty需要为一个Server实例显式地实例化并配置一个或多个Connector。
下述代码显示了如何实例化、配置并添加一个HTTP connector到Server中:
packageorg.eclipse.jetty.embedded;
importorg.eclipse.jetty.server.Server;
importorg.eclipse.jetty.server.ServerConnector;
/**
* A Jettyserver with one connectors.
*/
publicclassOneConnector {
publicstaticvoidmain(String[] args) throwsException {
Serverserver = newServer();
ServerConnectorhttp = newServerConnector(server);
http.setHost("localhost");
http.setPort(8080);
http.setIdleTimeout(30000);
server.addConnector(http);
server.setHandler(newHelloHandler());
server.start();
server.join();
}
}
Jetty 的详细介绍:请点这里
Jetty 的下载地址:请点这里