Java http сервер не загружает ресурсы (js, css, изображения) - PullRequest
0 голосов
/ 25 февраля 2020

Я создал простой HTTP-сервер. У меня есть этот индекс. html:

<html>
<head>
    <title>My Site</title>
    <link rel="stylesheet" type="text/css" href="../static/css/simple.css"/>
</head>
<body>

<h2>Hello world</h2>
<p>Image:</p>

<img src="../static/images/someimage.jpg" alt="W3Schools.com" width="400" height="400">
</body>
</html>

И простой обработчик:

public class MainHandler implements HttpHandler {

    public void handle(HttpExchange exchange) throws IOException {

        InputStream resourceAsStream = getClass().getResourceAsStream("/templates/index.html");
        InputStreamReader isReader = new InputStreamReader(resourceAsStream);
        BufferedReader reader = new BufferedReader(isReader);

        StringBuilder sb = new StringBuilder();
        String str;
        while ((str = reader.readLine()) != null) {
            sb.append(str);
        }

        String response = sb.toString();

        exchange.sendResponseHeaders(200, sb.length());
        OutputStream os = exchange.getResponseBody();
        os.write(response.getBytes());
        os.close();
    }
}

При открытии индекса. html - CSS и изображение не загружается.

Я добавил проект в репозиторий Github: simple-server и надеюсь, что кто-нибудь может помочь с этой проблемой.

...