diff --git a/src/main/java/info/istlab/ServerTester/WebServer.java b/src/main/java/info/istlab/ServerTester/WebServer.java index 93085cf..cd60d8a 100644 --- a/src/main/java/info/istlab/ServerTester/WebServer.java +++ b/src/main/java/info/istlab/ServerTester/WebServer.java @@ -22,6 +22,7 @@ public WebServer(int port) { this(port, "127.0.0.1"); } + public WebServer(String bindaddress) { this(8081, bindaddress); } @@ -56,7 +57,8 @@ JOptionPane.showMessageDialog(null, "ドキュメントルートを " + rootdir.getAbsolutePath() + " に設定しました。"); } else { - System.out.println("[Web] ドキュメントルートは " + rootdir.getAbsolutePath() + " です。起動時に変更する場合は、askDocRootをtrueにしてください。"); + System.out.println( + "[Web] ドキュメントルートは " + rootdir.getAbsolutePath() + " です。起動時に変更する場合は、askDocRootをtrueにしてください。"); } File[] files = rootdir.listFiles(); @@ -67,10 +69,11 @@ while (thread != null) { try { Socket socket = serverSocket.accept(); - // System.out.println("---\nConnection Requst from: " + (socket.getInetAddress())); + // System.out.println("---\nConnection Requst from: " + + // (socket.getInetAddress())); new RequestHandler(socket, rootdir); - } catch(SocketException sx){ - thread = null; + } catch (SocketException sx) { + thread = null; } catch (IOException e) { thread = null; } @@ -121,7 +124,7 @@ String line; String[] get = null; // GETリクエストをスペースで区切った配列 while ((line = in.readLine()) != null) { - System.out.println("[Web] " +line); + System.out.println("[Web] " + line); // 先頭がGETだったら if (line.toLowerCase().startsWith("get ")) { get = line.split(" "); // GET / HTTP/1.1 をスペースで区切った配列get を得る @@ -135,8 +138,9 @@ // Response Headerの出力 String response = "HTTP/1.1 200" + CRLF + "Content-type: text/html; charset=UTF-8" + CRLF + CRLF; String content = null; - // もし、リクエストがfaviconだったら - if (get[1].endsWith(".ico")) { + if (get == null) { // GETリクエストではない場合 + } else if (get[1].endsWith(".ico")) { + // もし、リクエストがfaviconだったら response = "HTTP/1.1 200" + CRLF + "Content-type: image/x-icon" + CRLF + CRLF; } else if (get[1].endsWith(".java")) { response = "HTTP/1.1 200" + CRLF + "Content-type: text/plain; charset=UTF-8" + CRLF + CRLF;