Java模拟编写BS服务器,与浏览器建立联系

        上篇我们了解了网络编程的基本知识,以及服务器与客户端的关系,接下来我们可以利用所学的知识建立一个简易的BS服务器,并通过浏览器进行访问。

一、利用Java构建一个服务器

        此时我们需要对代码进行优化,让服务器一直处于监听状态,方便时刻接收客户端发出的请求,即添加一个while(true)死循环;接着,再提升服务器的接收效率,即通过多线程同时接收不同客户端发出的请求;最后,通过同步锁控制线程的安全性。代码如下:

 二、由服务器向客户端回写访问的文件

        首先我们先通过getOutputStream()获取网络输出流对象os,先写入以下代码:(这是HTTP协议中固定的响应代码,目前不做讨论)

         接着,通过os调用write()方法向客户端输送文件,和上篇上传文件的方法一样,代码如下:

        最后,启动服务器,等待接收客户端发出的请求信息。

三、由浏览器向服务器发送请求

        此时我们需要在浏览器输入http://网络IP:端口号/文件路径,如:

        这是客户端访问服务器时发送的请求信息:

        请求信息的第一行就包含路径, 而我们的下面代码就是对浏览器的请求信息进行截取(只截取要访问文件的路径),所以用BufferedReader中的readLine读入第一行,接着调用split()方法将空格作为分离标记,接着调用substring()方法从下标为1的地方开始读(即W):

        获取到访问的文件路径后,回车搜索就可以访问服务器中的文件,页面如下:  

        那么,本篇简易模拟BS的内容就到这里,下篇我会写一些在制作程序以及操作时遇到的问题及解决方法,如:乱码、找不到指定路径、外部css无效果、以及图像无法加载到页面等,绝对干货。(欢迎评论区进行讨论)

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值