我正在努力设置嵌入式 Tomcat 服务器。我的设置与 Tomcat 约定不同,因为我有一个 somePath/www 目录,其中包含我的静态文件,包括 index.html。我也没有 WEB-INF,也没有 web.xml。
我需要 Tomcat 在请求 localhost:8080/ 时打开 index.html。这不起作用,我得到一个找不到页面的错误。不过,当我请求 localhost:8080/index.html 时,请求会返回相关文件。我当前尝试的配置如下所示。
tomcat.addWebapp("/", "somePath/www");
Context ctx = tomcat.addContext("/", "somePath/www");
Wrapper defaultServlet = ctx.createWrapper();
defaultServlet.setName("default");
defaultServlet.setServletClass("org.apache.catalina.servlets.DefaultServlet");
defaultServlet.addInitParameter("debug", "0");
defaultServlet.addInitParameter("listings", "false");
defaultServlet.setLoadOnStartup(1);
ctx.addChild(defaultServlet);
ctx.addServletMapping("/*", "default");
另一方面,对于以下设置:
tomcat.addWebapp("/MY_APP", "somePath/www");
localhost:8080/MY_APP/ 也可以正常工作。
当 url 只是上下文根时,有没有办法让嵌入的 Tomcat 加载 index.html 位于任意目录中?我还要求解决方案不更改目录结构。谢谢!