gradle - Kotlin Web应用|链接css文件

标签 gradle kotlin

我是Kotlin和Java的新手,并从以下示例开始:https://kotlinlang.org/docs/tutorials/httpservlets.html

我使用Gradle来构建应用程序,并使其正常运行。在下一步中,我尝试链接CSS文件,但始终出现404错误。我在这里创建了css文件:src / main / resources / css / style.css

Gradle将文件复制到以下位置:build / resources / main / css / style.css,我使用此路径在源代码中将其链接。

package org.jetbrains.kotlin.demo

import javax.servlet.annotation.WebServlet
import javax.servlet.http.HttpServlet
import javax.servlet.http.HttpServletRequest
import javax.servlet.http.HttpServletResponse

@WebServlet(name = "Hello", value = "/hello")
class HomeController : HttpServlet() {
    override fun doGet(req: HttpServletRequest, res: HttpServletResponse) {
        res.writer.write(myView("nice headline"))
    }

    fun myView(headline: String ): String  {
        var content = """<!DOCTYPE html><html>
            |<head>
            |<link href="./build/resources/main/css/style.css" rel="stylesheet">
            |</head>
            |<body><h1>$headline</h1></body>
            |</html>""".trimMargin()
        return content
    }
}

知道这里有什么问题吗?
谢谢!

最佳答案

您需要提供CSS文件,您不能仅仅拥有到文件系统的相对链接,因为浏览器正在尝试读取服务器上未提供的路径。

如果在/style.css处提供它,则可以将href值作为style.css放置,否则,您想要将该值作为从/ sello开头的站点根目录(或相对于/ hello)从css文件的路径放置。

最简单的服务方式是将其添加为服务器上的第二个servlet,路径为style.css。有更好的方法,但是这些方法通常取决于服务器。

关于gradle - Kotlin Web应用|链接css文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46116102/

相关文章:

java - 如何为 Java 应用程序构建 docker 容器

kotlin - 保持可观察到的错误并返回所有值

android - 如何像在 Swift 中一样从 Kotlin 中的函数返回多个值?

rest - Kotlin 和改造 : Simple POST without Response

在错误的存储库中解决了 Gradle 依赖项

android - 无法合并dex Android

java - AppEngine 部署错误 : java. lang.UnsupportedClassVersionError

kotlin - 如何在 ktor http 客户端记录请求?

java - ArrayAdapter.clear kotlin

gradle - Gradle不断收到 “Could not get unknown property for root project”错误