【问题标题】:Set up embedded jetty with document root使用文档根设置嵌入式码头
【发布时间】:2012-06-08 18:39:38
【问题描述】:
如果我在浏览器中输入http://example.com/index.html,jetty 应该在指定的目录中查找文件 index.html。
如何使用嵌入式码头实现这一目标?
这是我启动码头的代码:
InetSocketAddress socketAddress =InetSocketAddress.createUnresolved("0.0.0.0", 80);
Server server = new Server(socketAddress);
server.start();
server.join();
【问题讨论】:
标签:
java
servlets
webserver
embedded-jetty
【解决方案1】:
在http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty找到了很好的描述
public class FileServer{
public static void main(String[] args) throws Exception{
Server server = new Server();
SelectChannelConnector connector = new SelectChannelConnector();
connector.setPort(8080);
server.addConnector(connector);
ResourceHandler resource_handler = new ResourceHandler();
resource_handler.setDirectoriesListed(true);
resource_handler.setWelcomeFiles(new String[]{ "index.html" });
resource_handler.setResourceBase(".");
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[] { resource_handler, new DefaultHandler() });
server.setHandler(handlers);
server.start();
server.join();
}
}
【讨论】:
-
这是一个很大的帮助,但我在尝试让 '/' 路由到第二个处理程序时遇到了一些麻烦。 this answer 对此有所帮助。