私は好奇心のためにJavaでHTTPサーバーを構築しようとしています。Javaソケットを使用してWebブラウザにファイルを送信するには?
私はHTTPがソケットを使用していることを知っています(私が間違っていると私を修正します)。したがって、最初にServerSocket
クラスを使用してプログラミングを開始しました。
public class Server
{
public static void main(String[] args) throws IOException
{
System.out.println("Listening.....");
ServerSocket ss = new ServerSocket(80);
while(true)
{
Socket s = ss.accept();
Scanner sc = new Scanner(s.getInputStream());
while(sc.hasNextLine())
{
String line = sc.nextLine();
if(line.equals(""))
break;
else
System.out.println(line);
}
System.out.println("-------------------------------");
PrintStream ps = new PrintStream(s.getOutputStream());
ps.println("Hello from Server");
s.close();
ps.close();
sc.close();
}
}
}
(私は複数のユーザーにサービスを提供するために、私の実際のコードでThread
を使用しています。私は、基本的なコードを単に提供してきました。)
私は、Webブラウザからのすべてのヘッダを取得しています。しかし、どのようにファイルや画像を送信できますか?
単純なHTMLの場合は、ファイルを読み取り、PrintStream
を使用してWebブラウザで印刷できます。
しかし、JavaScript、画像などをブラウザに送信するにはどうすればよいですか?