【接收打印:浏览器客户端发送请求】
(1)服务器接收浏览器的请求,当浏览器发送请求后,服务器端会接收到客户端套接字对象
A、 服务器启动成功,执行 accept()方法,处于等待接收客户端发送请求状态
Socket clientSocket = serverSocket.accept();
(2) 接收到浏览器客户端套接字对象之后,从该套接字对象中获取输入流,
从输入流中读取浏览器客户端发送的请求,将 HTTP 的请求协议全部内容读取到之后打印输出到控制台
BufferedReader br =
new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String msgFromClient = null;
while((msgFromClient = br.readLine()) != null){
System.out.println(msgFromClient);
}
(3)启动 httpserver 服务器
(4)打开 FF 浏览器客户端,在浏览器地址栏上输入下面的 URL 并敲回车发起访问
http://localhost:8080/oa/login?username=zhangsan&password=123
(5)服务器端接收到客户端套接字对象并获取输入流将请求发送的数据读取到之后,输出到控制台
(6)目前服务器只能接收一次请求,我们可以加入循环语句,让服务器不断的接收客户端的请求
while(true){
Socket clientSocket = serverSocket.accept();
BufferedReader br = new
BufferedReader(newInputStreamReader(clientSocket.getInputStream()));
String msgFromClient = null;
while((msgFromClient = br.readLine()) != null){
System.out.println(msgFromClient);
}
}