リクエストがあったときにブラウザにHTMLファイルを送信したい場合、問題なくHTMLをブラウザに送信できます。私は、HTMLにCSSを適用しようとしていますが、Chromeは私にエラーを与えている:Javaソケット - HTMLがCSSとして解釈されています
Resource interpreted as Stylesheet but transferred with MIME type text/html
私はそれがindex.html
とmain.css
の両方を示しているChromeでソース]タブに移動しますが、彼らは両方のindex.html
の内容を持っているときはいつでも。 main.css
はスタイルシートリンクとして追加されましたindex.html
私は何とかCSSをブラウザとHTMLに送信しなければならないと仮定していますか?現時点で
これは私が使用しているJavaコードです:
String webPageContents = null;
BufferedReader webpage = new BufferedReader(new FileReader("data/index.html"));
while ((webPageContents = webpage.readLine()) != null) {
String httpResponse = "HTTP/1.1 200 OK\r\n\r\n" + webPageContents;
socket.getOutputStream().write(httpResponse.getBytes("UTF-8"));
}
EDIT:
final ServerSocket server = new ServerSocket(8080);
System.out.println("Listening on 8080");
while (true) {
try (Socket socket = server.accept()) {
socket.getOutputStream().write(sendFiles(socket, "index.html", "html;").getBytes("UTF-8"));
socket.getOutputStream().write(sendFiles(socket, "main.css", "css;").getBytes("UTF-8"));
}
}
}
private static String sendFiles(Socket socket, String fileName, String memeType) throws IOException {
String webPageContents = null;
BufferedReader webpage = new BufferedReader(new FileReader("data/" + fileName));
String httpResponse = null;
while ((webPageContents = webpage.readLine()) != null) {
httpResponse = "HTTP/1.1 200 OK Content-Type:text/" + memeType +"\r\n\r\n" + webPageContents;
}
return httpResponse;
}
:
を私がように私のコードを変更したAdninの答えを1としてしかし、HTMLページにスタイルを適用して表示する代わりに、CSSをブラウザに表示しています。
ブラウザはcssを単独でダウンロードすることができます。そのリクエストの処理方法を確認する必要があります。 –