我使用以下代码(基于此处)创建嵌入式Tomcat服务器:
File catalinaHome = new File(".");
File webAppDir = new File("web");
Embedded server = new Embedded();
server.setCatalinaHome(catalinaHome.getAbsolutePath());
Context rootContext = server.createContext("", webAppDir.getAbsolutePath());
rootContext.setParentClassLoader(Thread.currentThread().getContextClassLoader());
Host localHost = server.createHost("localhost", webAppDir.getAbsolutePath());
localHost.addChild(rootContext);
Engine engine = server.createEngine();
engine.setName("localEngine");
engine.addChild(localHost);
engine.setDefaultHost(localHost.getName());
server.addEngine(engine);
Connector http = server.createConnector((InetAddress) null, 8080, false);
server.addConnector(http);
server.setAwait(true);
server.start();
Web目录中包含静态内容(如index.html等)以及一个WEB-INF目录,其中包含像web.xml这样的servlet描述符。此应用程序启动时没有异常并且在web.xml中定义的servlet正常工作,但是像index.html这样的静态内容却无法工作。
我很困惑:缺少哪些内容才能处理静态内容?