如何解析Java套接字编程中index.html文件中包含的style.css的路径

时间:2018-09-23 04:01:54

标签: java sockets

我正在尝试使用Java套接字编程来创建http服务器。

比方说,我正在从名为“ web”的特定目录中提供静态文件(html,js,css等)。假设我在“ web”中有另一个目录“ hello”。

当来自客户端或浏览器的请求为/ hello或/ hello /时,我将显示保留在“ hello”目录下的index.html文件。因此,我们假设“ hello”是上下文路径。

现在,我的index.html文件包含一个style.css。因此,来自客户端的请求分别是/ hello和/style.css,但是这里我没有style.css文件的完整路径。

那么我怎么知道应该从“ hello”目录中提供style.css文件?

1 个答案:

答案 0 :(得分:1)

如果文档是从/hello/发送的(带有斜杠)并引用了资源style.css,则浏览器将请求/hello/style.css。服务器中不需要其他逻辑。

如果文档是从/hello提供的(不带斜杠)并引用资源style.css,则浏览器将请求/style.css。除了解决此资源命名问题并保持URL一致之外,不考虑将文档重定向到/hello/的HTTP地址,即可提供服务。

您也可以将资源引用为/hello/style.css,从而完全避免了问题。