尝试使用 Spark Web 框架提供静态文件时,我应该将文件放在哪里?
我无法在网上找到任何东西——我开始怀疑我对 Eclipse 和 Java 项目的类路径、相对路径等一无所知。
这一段关于 Spark 中的静态文件指的是/public
,但我不知道那会在哪里。使用 windows,Eclipse Luna 和我的项目被转换为使用 Maven。
我已经尝试查看 GitHub 上的代码,但我试图找到它有点超出我的深度。
尝试使用 Spark Web 框架提供静态文件时,我应该将文件放在哪里?
我无法在网上找到任何东西——我开始怀疑我对 Eclipse 和 Java 项目的类路径、相对路径等一无所知。
这一段关于 Spark 中的静态文件指的是/public
,但我不知道那会在哪里。使用 windows,Eclipse Luna 和我的项目被转换为使用 Maven。
我已经尝试查看 GitHub 上的代码,但我试图找到它有点超出我的深度。
首先,您必须告诉 Spark 在哪里搜索静态文件,如下所示:
Spark.staticFiles.location("/public");
在 2.5 之前的 Spark 版本中,您应该使用:
Spark.staticFileLocation("/public");
然后您的项目应该public
在资源文件夹下有一个文件夹,如下所示
/src/main/resources/public/style.css
例如,我在style.css
那里添加了一个文件,因此您应该像这样访问它:
http://localhost:4567/style.css
如果要提供非类路径文件夹,则应使用
Spark.staticFiles.externalLocation("/path/to/dir");
在 2.5 之前的 Spark 版本中,您应该使用:
Spark.externalStaticFileLocation("/path/to/dir");
我将样式表放在静态内容下方,如下所示:
staticFileLocation( "/web" );
/web/
|-- index.html
+-- styles/
+
+--- default.css
和 index.html
... <link href="styles/default.css" rel="stylesheet" type="text/css" />
我还有其他生成的 HTML 页面,就像 freemarker 一样。他们只是收集路径:
显示索引获取它的 CSS 方式。
来源:https ://groups.google.com/d/msg/sparkjava/5vMuK_5GEBU/vh_jHra75u0J
在 Eclipse 上右键单击您的项目,选择 create New -> Package。给新包起个名字等。
把你的静态资源放在那个包下,这样我们就可以确定它们在你的类路径下。
src/main/resources
Spark.staticFileLocation("/public");
为Spark.staticFileLocation("public");