Java Socket搭建一个简单地Web服务器(1)

本文介绍了使用Java的ServerSocket和Socket创建一个简单的Web服务器的步骤。通过监听端口、接收Http请求、解析请求信息、定位资源并设置HTTP响应头,实现服务器基本功能。文中还给出了实现代码片段。
摘要由CSDN通过智能技术生成

今天突然想写一个简单地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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值