私はjavaを使用して簡単なhttpクライアントサーバを作ろうとしています。クライアントの要求とサーバーの応答が表示されます。たとえば、サーバーから返信されますhttpサーバとクライアントはヘッドを実装してメソッドを取得します
HTTP/1.0 200 OK
Connection: Close. etc.
私はエコークライアントサーバーを持っていました。今、私はエコーサーバをhttpサーバとして振舞っています。私は頭を実装する方法についてゴーグルを試してみましたが、クライアントで取得するが、私は通常、例のすべてがapacheフレームワークを使用して気づいた。これらのメソッドをApacheのフレームワークなしで実装する方法はありますか? 私はHTTPクライアントに変換しようとしている私のエコークライアント:
import java.io.*;
import java.net.*;
public class Ec1
{
public static void main(String[] args)
{
try
{
Socket s = new Socket("127.0.0.1", 80);
BufferedReader r = new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter w = new PrintWriter(s.getOutputStream(), true);
BufferedReader con = new BufferedReader(new InputStreamReader(System.in));
String line;
do
{
line = r.readLine();
if (line != null)
System.out.println(line);
line = con.readLine();
w.println(line);
}
while (!line.trim().equals("bye"));
}
catch (Exception err)
{
System.err.println(err);
}
}
}
マイHTTPサーバ:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Echo
{
protected void start() {
ServerSocket s;
System.out.println("Webserver starting up on port 80");
try {
// create the main server socket
s = new ServerSocket(80);
} catch (Exception e) {
System.out.println("Error: " + e);
return;
}
Socket clientSocket = null;
System.out.println ("Waiting for connection.....");
try {
clientSocket = s.accept();
System.out.println("Connection, sending data.");
BufferedReader in = new BufferedReader(new InputStreamReader(
clientSocket.getInputStream()));
PrintWriter out = new PrintWriter(clientSocket.getOutputStream());
String str = ".";
while (!str.equals(""))
str = in.readLine();
out.println("HTTP/1.0 200 OK");
out.println("Content-Type: text/html");
out.println("Server: Bot");
out.println("");
out.println("<H1>Welcome to the Ultra Mini-WebServer</H2>");
out.flush();
clientSocket.close();
s.close();
} catch (Exception e) {
System.out.println("Error: " + e);
}
}
public static void main(String args[]) {
WebServer ws = new WebServer();
ws.start();
}
}