package cn.dali4.code05ex;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
/*使用浏览器访问我们服务器上的页面
*
* 步骤:
* 1.创建一个ServerSocket
* 2.获取浏览器请求信息
* 3.对浏览器请求信息第一行进行截取(第一行就是文件地址)
* 4.读写
*
* 客户端操作:在浏览器页面输入http://127.0.0.1:8080//02-code/web/index.html*/
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket ss = new ServerSocket(8080);//创建一个服务器socket
while(true){
Socket socket = ss.accept();//接受客户端套接字
InputStream is= socket.getInputStream();//获取网络字节输入流
BufferedReader br = new BufferedReader(new InputStreamReader(is));//网络字节输入流转换为缓冲字符输入流
String frline = br.readLine();//获取第一行请求信息
String [] arr1 = frline.split(" ");//字符串进行分割,找到中间部分
String htmlpath = arr1[1].substring(2);//字符串进行截取,不要前面的"/"
FileInputStream fis = new FileInputStream(htmlpath);//本地字节输入流读取文件
OutputStream os = socket.getOutputStream();//获取网络字节输出流
os.write("HTTP/1.1 200 OK\r\n".getBytes());//三行固定写法
os.write("Content-Type:text/html\r\n".getBytes());
os.write("\r\n".getBytes());
int len = 0;
byte [] bytes = new byte[1024];
while((len=fis.read(bytes))!=-1){
os.write(bytes);//写入数据
}
socket.close();
}
}
}
使用浏览器访问服务器端页面
最新推荐文章于 2024-05-12 22:33:53 发布