У меня есть этот индекс. html страница:
<html>
<head>
<title>My Site</title>
<link rel="stylesheet" type="text/css" href="css/example.css" />
</head>
<body>
<h2>Hello world</h2>
<p>Image:</p>
<img src="someimage.jpg" alt="W3Schools.com" width="104" height="142">
</body>
</html>
И я написал простой java Http-сервер. Этот сервер обрабатывает запрос, загружает index.html
из папки ресурсов и отвечает клиенту (браузеру). Клиент видит index.html
, но без ресурсов (изображения, CSS, js). Поскольку браузер после загрузки index.html
пытается загрузить все ресурсы, включенные в эту страницу. Но ресурсы на сервере. Я написал новый обработчик с путем вроде /assets/
и попытался заменить все ссылки на ресурсы в index.html
следующим образом:
<img src="someimage.jpg" width="104" height="142">
на
<img src="/assets/someimage.jpg" width="104" height="142">
После этого в /assets/
обработчик, я вырезал первую часть URI (/assets/
) и пробовал загрузить из ресурсов вторую часть URI (someimage.jpg
);
Работает, но не могу загрузить CSS. Потому что я заменяю pageAsString.replace("src=\"", "/assets/");
, но CSS в href="css/example.css"
Может быть, я что-то делаю не так, и этот подход плох? Как я могу вернуть index. html клиенту и дать возможность загрузки ресурсов с сервера?