今天突然想写一个简单地Web服务器,根据我对Tomcat的了解,简单总结了一下写一个简单地服务器需要哪些步骤:
1.首先肯定要借助ServerSocket和Socket这两个类。
2.ServerSocket类指定服务器接口。
3.ServerSocket调用accept()方法生成一个Socket对象,Socket对象调用getInputStream()获得浏览器发来的Http请求的基本信息。
4.服务器解析Http请求的基本信息,从中取出浏览器想要访问的资源的具体位置。
5.服务器找到资源的具体位置,并将资源发送回浏览器
一步一步来进行解决:
第一步肯定是ServerSocket serverSocket = new ServerSocket(port);
然后使用一个While(true)死循环来实现持续监听。
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String message = bufferedReader.readLine();
这里message输出的就是浏览器发送请求的基本信息,如果浏览器地址栏是:127.0.0.1:port/test
那么message返回的信息就是 GET(请求方法) /test(请求资源)Http 1.1(请求协议版本)
那么就只要从message中把/test取出来就可以。
取出来请求的资源后,要做的就是找到资源并且把资源发送回浏览器。
但是仅仅将资源直接发送回浏览器&#x