用于静态文件的angular / spa应用程序的码头路由

时间:2018-07-02 18:45:23

标签: angular jetty

我设法通过Jetty提供了一个角度应用程序的静态实例。当我尝试从地址栏连接到直接URL时,会出现问题。由于所有的路由都是通过angular / client完成的,所以我如何才能让码头简单地允许angular处理所有路由。我已经看到一些设置,这些设置可以将所有404错误重定向到索引,但是在检查请求时将状态代码保留为404。我还没有看到如何最好地服务于所有角度航线并在正确的页面上提供正确的状态代码。这是我当前的设置:

主要码头类别:

package example;


import java.io.File;
import java.net.URL;
import java.util.jar.Attributes;
import java.util.jar.JarFile;

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.*;
import org.eclipse.jetty.util.StringUtil;
import org.eclipse.jetty.webapp.WebAppContext;

public class AngularJSWebApp {

    public static void main(String[] args) throws Exception {
        // The simple Jetty config here will serve static content from the webapp directory
        String webappDirLocation = "src/main/webapp/src";

        // The port that we should run on can be set into an environment variable
        // Look for that variable and default to 8080 if it isn't there.
        String webPort = System.getenv("PORT");
        if (webPort == null || webPort.isEmpty()) {
            webPort = "8080";
        }
        Server server = new Server(Integer.valueOf(webPort));

        WebAppContext webapp = new WebAppContext();
        webapp.setContextPath("/");
        webapp.setDescriptor(webappDirLocation + "/WEB-INF/web.xml");
        webapp.setResourceBase(webappDirLocation);

        server.setHandler(webapp);
        server.start();
        server.join();
    }
}

web.xml文件为:

<?xml version="1.0"?>
<web-app>

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

<error-page>
      <error-code>404</error-code>
      <location>/index.html</location>
</error-page>


</web-app>

有没有一种方法可以将所有路由定向到角度并从前端提供正确的状态?

0 个答案:

没有答案