【发布时间】:2013-11-15 20:46:12
【问题描述】:
使用 spray-io 构建我的第一个 servlet 很简单。
但是标题中引用的资源永远找不到。
... ...
这些recsources必须放在哪个目录中,或者如何引导spray查找那里?
简单的问题,但我想不通。
非常感谢x
少女
【问题讨论】:
标签: spray
使用 spray-io 构建我的第一个 servlet 很简单。
但是标题中引用的资源永远找不到。
... ...
这些recsources必须放在哪个目录中,或者如何引导spray查找那里?
简单的问题,但我想不通。
非常感谢x
少女
【问题讨论】:
标签: spray
对于 Spray 路由,我使用这些指令 -
pathPrefix("css") { 获取 { getFromResourceDirectory("css") } } ~
pathPrefix("js") { getFromResourceDirectory("js") } } ~
“css”和“js”必须在src/main/resources目录中
【讨论】:
如果您使用的是喷雾路由,那么它应该很容易,只需为您的静态资源提供一个路由。例如,您可以执行以下操作:
假设您的静态资源位于/css、/js 和/img 文件夹中:
def staticPrefixes = List("css", "js", "img") map { pathPrefix(_) } reduce { _ | _ }
使用pathPrefix,您将每个路径都设为不匹配路径的前缀。然后你需要一个指令来从请求中提取静态文件的路径,例如你可以这样做:
def stripLeadingSlash(path: String) = if (path startsWith "/") path.tail else path
val staticPath =
staticPrefixes &
cache(routeCache()) &
extract(ctx ⇒ stripLeadingSlash(ctx.request.uri.path.toString))
然后构建你的路由来管理你的资源:
val staticRoutes =
get {
staticPath { path ⇒
getFromResource(path.toString)
}
}
【讨论】: