我的猜测是您的web.xml将任何路径映射到Spring DispatcherServlet,例如:
<servlet>
<servlet-name>app</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>app</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
@H_419_4@
由于<url-pattern>/</url- pattern>@H_419_4@任何请求都必须由Spring控制器处理,因此,Tomcat不提供静态文件。同样的模式
/*.html@H_419_4@也会有相同的效果。
如果只有几个页面,则可以在Spring的映射 *
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>index.html</url-pattern>
</servlet-mapping>
@H_419_4@
您也可以使用,<url-pattern>*.html</url-pattern>@H_419_4@或者,如果您的资源在
web@H_419_4@路径下并且那里只有静态资源:
<url- pattern>/web/*</url-pattern>@H_419_4@
也许所有这些操作都可以在Java代码中完成,而org.ema.server.ServerEntryPoint@H_419_4@您在web.xml中具有侦听器
我认为我写的映射web.xml@H_419_4@是在您的情况下在
getServletMappings@H_419_4@class 方法中完成的
org.ema.server.spring.config.AppInitializer@H_419_4@,我将其更改为使用比 ,不确定模式是否正确并且其他所有方法都可以正常工作,但现在可以正常工作
/rest- api/*``/``http://127.0.0.1:8080/index.html@H_419_4@
@Override
protected String[] getServletMappings() {
return new String[] { "/rest-api/*" };
}
@H_419_4@