Java Dropwizard:无法提供静态HTML
我目前正在根路径“/”的Dropwizard中为静态html页面提供服务。到目前为止,我只收到一个错误页面,上面写着“HTTP错误404访问/时出现问题。原因:找不到” 我在做这件事的过程中,以及在本教程中都遵循了,对代码做了一些修改,以使我的服务能够工作。我的.yml文件中的根路径是Java Dropwizard:无法提供静态HTML,java,html,static,dropwizard,serving,Java,Html,Static,Dropwizard,Serving,我目前正在根路径“/”的Dropwizard中为静态html页面提供服务。到目前为止,我只收到一个错误页面,上面写着“HTTP错误404访问/时出现问题。原因:找不到” 我在做这件事的过程中,以及在本教程中都遵循了,对代码做了一些修改,以使我的服务能够工作。我的.yml文件中的根路径是/profile/v1,以允许我的getAll服务工作(当我第一次启动时,由于将多个servlet映射到路径/*,我遇到了一个错误。.yml如下所示: server: type: simple applic
/profile/v1
,以允许我的getAll服务工作(当我第一次启动时,由于将多个servlet映射到路径/*
,我遇到了一个错误。.yml如下所示:
server:
type: simple
applicationContextPath: /
rootPath: /profile/v1
此外,我在主应用程序类中的初始化是:
@Override
public void initialize(final Bootstrap<AutomationConfigServiceConfiguration> bootstrap) {
bootstrap.addBundle(new AssetsBundle("/../resources", "/", "index.html"));
}
其中/resources
是我保存静态资产的目录,位于java
目录之外
到目前为止,我已经能够让我的服务在这个设置中正常工作。例如,当我转到localhost:8080/profile/v1/name/getAll时,我能够从数据库中检索所有名称,如果我转到localhost:8080/profile/v1/titles/getAll,我从数据库中获取所有标题。如果我使用localhost:8080,带或不带“/”,我只是得到一个404页面,说它找不到“/”。理论上,这应该很简单,所以我不确定我还应该做什么
编辑:
当我转到/profile/v1时,我得到以下信息:
{
code: 404,
message: "HTTP 404 Not Found",
}
我应该提到,我不希望我的html在这里提供;我希望它在根目录下提供,因为我的所有服务都使用路径/profile/v1。这是为了帮助设置DNS而请求的。在对代码进行了几次修改后,使其处于工作状态
assets
目录位于${project Root}/src/main/resources
目录中
bootstrap.addBundle(new AssetsBundle("/assets/", "/"));
environment.jersey().setUrlPattern("/*"); /*this line should be removed*/
仅供参考,刚刚创建了一个带有静态资产的。对代码进行了几次修改后,使其处于工作状态
assets
目录位于${project Root}/src/main/resources
目录中
bootstrap.addBundle(new AssetsBundle("/assets/", "/"));
environment.jersey().setUrlPattern("/*"); /*this line should be removed*/
作为参考,刚刚创建了一个带有静态资产的。据我所知,您的静态页面应该可以从
localhost:8080/profile/v1
获得。这样做会带来404 json响应。我将编辑问题以包含此内容。据我所知,您的静态页面应该可以从localhost:8080/profile/v1
获得这会带来404JSON响应。我将编辑这个问题以包含这个。