Я работаю с Java и Eclipse и использую HttpServer.Мне нужно написать простой сервер и пару веб-страниц.Это каталог моего проекта:
Demo
|
--bin
|
|
--doc
| |
| --js
| --index.html
| --ciao.html
|
--src
|
--server
|
--RootHandler.java
Когда я подключаюсь к localhost через правильный порт, RootHandler
в Java дает мне файл index.html
, который является моей домашней страницей, и все в порядке:
public void handle(HttpExchange arg0) throws IOException {
// TODO Auto-generated method stub
if (arg0.getRequestURI().getPath().equals("/")) {
StringBuilder text = new StringBuilder("");
try {
File f = new File("./doc/index.html");
BufferedReader br = new BufferedReader(new FileReader(f));
String line;
while ((line = br.readLine()) != null) {
text.append(line + "\n");
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
arg0.sendResponseHeaders(200, text.length());
OutputStream os = (OutputStream) arg0.getResponseBody();
os.write(text.toString().getBytes());
os.close();
}
}
Проблема в том, что я захожу на свою домашнюю страницу и хочу изменить страницу или включить Javascript.Если в index.html
я просто использую тег привязки, как это:
<a href="ciao.html">Ciao</a>
, он не работает.Страница загружается навсегда, и запрос нового ciao.html
остается «ожидающим».Обратите внимание, что новая страница находится в том же каталоге, что и index.html
.
Я пробовал другие пути, такие как:
/ciao.html
./ciao.html
/doc/ciao.html
doc/ciao.html
и многие другие, но никто не работал.Чего мне не хватает?Какой корневой каталог моего веб-сайта?
Очевидно, что проблема также возникает, когда я хотел бы включить скрипт, потому что он не работает, и его варианты тоже не работают:
<script type="text/javascript" src="/js/bootstrap.js"></script>