TOMCAT设置默认页为index.do报错404的问题

有个项目,默认使用index.do,但是出现直接访问域名a.com是报404错误,如果使用a.com/index.do就正常,后面的目录也是这样的问题,考虑到前面是nginx,担心nginx的问题,排除后,发现是tomcat默认页的设置问题。

在tomcat的配置/tomcat/conf/web.xml

最后几行是关于默认页设置的,如下:

   <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

在首行增加index.do以后依然报错404

<welcome-file-list>
        <welcome-file>index.do</welcome-file>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

为什么呢?仔细看看web.xml的”Default Welcome File List”

<!– ==================== Default Welcome File List ===================== –>
<!– When a request URI refers to a directory, the default servlet looks  –>
<!– for a “welcome file” within that directory and, if present,  –>
<!– to the corresponding resource URI for display.  If no welcome file  –>
<!– is present, the default servlet either serves a directory listing,  –>
<!– or returns a 404 status, depending on how it is configured.

大概意思就是:

由于web.xml里面的默认页配置welcome-file 必须为物理存在的文件,那么对于index.do这样的首页,tomcat就不会继续往下处理,而直接返回404了。

怎么解决呢?

Tomcat只要找到存在这样一个名字的物理文件,就会转到下面继续处理,那就在在目录下建一个index.do空的文件即可.

此条目发表在Tomcat分类目录,贴了, 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注