如何配置在GAE上运行的Java EE以在html5Mode中使用Angular UI路由器?

时间:2017-01-21 19:35:53

标签: angularjs google-app-engine java-ee angular-ui-router

我正在尝试将我的Angular应用程序的UI路由器位置提供程序html5Mode设置为true:locationProvider.html5Mode(true)。虽然这适用于客户端(适当重定向),但我遇到问题服务器端。我在Google App Engine上运行实例Java Enterprise Edition。

我按照Java EE section in the Angular ui-router FAQ概述的web.xml配置了

<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">
   <error-page>
        <error-code>404</error-code>
        <location>/</location>
   </error-page>
   <servlet>
        <servlet-name>SystemServiceServlet</servlet-name>
        <servlet-class>com.google.api.server.spi.SystemServiceServlet</servlet-class>
        <init-param>
            <param-name>services</param-name>
            <param-value>
                <!-- stuff specific to my GAE app -->
            </param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>SystemServiceServlet</servlet-name>
        <url-pattern>/_ah/spi/*</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
</web-app>

遗憾的是,即使使用上述配置,当我浏览到基于客户端的路由时,我仍然从服务器收到404错误。我尝试了/index.html元素的各种值(index.htmlerror-page > location),结果相同。

我可能在我的配置中遗漏了一些明显的东西,但我对我做错了不知所措。

0 个答案:

没有答案