如何使用子文件夹作为 web.xml 欢迎目录

Posted

技术标签:

【中文标题】如何使用子文件夹作为 web.xml 欢迎目录【英文标题】:How to use a sub-folder as web.xml welcome directory 【发布时间】:2013-05-01 18:12:39 【问题描述】:

我想为 Google App Engine 配置我的 web.xml,但我的配置不起作用。我想将默认的index.html 更改为WebApp/index.html

这里是web.xml

<servlet>
    <servlet-name>App</servlet-name>
    <servlet-class>bg.app.AppServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>App</servlet-name>
    <url-pattern>/WebApp/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
    <welcome-file>WebApp/index.html</welcome-file>
</welcome-file-list>

【问题讨论】:

我不知道你的配置不起作用是什么意思,但是&lt;welcome-file-list&gt;声明需要在&lt;servlet&gt;元素之前。 @SotiriosDelimanolis 它没有;)。 【参考方案1】:

“欢迎文件”表示通过 URL 请求文件夹时需要提供的物理文件。例如。 //WebApp/WebApp/foo/。它并不代表“主页文件”或许多初学者似乎认为的那样。让欢迎文件指向子文件夹是没有意义的。当请求另一个子文件夹时,它会失败。

只要坚持index.html作为欢迎文件,将所需的主页文件放在/WebApp/文件夹中,然后在根文件夹/中创建另一个index.html文件,内容如下:

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Dummy homepage</title>
    <meta http-equiv="refresh" content="0; url=WebApp" />
  </head>
</html>

这将重定向到/WebApp/(搜索机器人会将其视为 301),这反过来会提供所需的主页文件。

另见:

How to configure welcome file list in web.xml Set default home page via <welcome-file> in JSF project Change default homepage in root path to servlet with doGet

【讨论】:

这很好用,并且与welcome-file-list 相比有很大的优势,因为地址栏中的URL 实际上会更改为上面元标记中指定的内容。

以上是关于如何使用子文件夹作为 web.xml 欢迎目录的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Tomcat 的 web.xml 中为欢迎文件映射过滤器?

tomcat服务设置默认欢迎页

JSP基础

Web.xml警告“对Web内容中不存在的主文件名引用”

web.xml中如何设置配置文件的加载路径

web.xml中如何设置配置文件的加载路径