我有这个index.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>
我编写了一个简单的javahttp服务器。此服务器处理请求,加载 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返回给客户机并提供从服务器加载资源的能力?
1条答案
按热度按时间col17t5w1#
根据你的问题做了一个简单的单班专题。使img和script标签起作用:
alert.js可以是
图像是任何jpg图像
项目结构(我们有src和assets文件夹):
运行main方法并转到http://localhost:8080/主
一切都应该正常。
请注意,在java代码中,您应该更改文件系统中的路径。
ps基于http://www.microhowto.info/howto/serve_web_pages_using_an_embedded_http_server_in_java.html