web项目默认首页index.html无法访问问题
问题描述:可以访问以.jsp为后缀的页面,不能访问.html为后缀的页面
我们用idea创建的web项目一般会有默认的访问首页index.jsp,但是如果我们不想用index.jsp而是创建了一个html文件,idnex.html,会发现根本访问不了,直接404了
这里我们使用jsp文件可以直接访问首页
但是改成hmtl文件后直接404了
这里改成了html文件
显示404,访问不了首页
问题原因
找了好长时间才发现是web.xml文件配置问题
检查web.xml中的【url-pattern】的设置
原因:【/】:它会拦截所有的url,如:/test,/test1.html,/1.jpg……,但是除了以jsp结尾的url不会交给前端控制器。所以导致了不能访问html文件。对于*.jsp,由于servlet容器中内置了jspServlet,所以不会被 ‘/’拦截
解决方案
添加如下配置
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
在上述代码前插入以下代码,那么符合相应的【url-pattern】规则的访问,就会由默认servlet处理。
此方法不仅适用于.html配置文件,同样适用于.jpg .css .png文件