c 服务器 java服务器_java搭建web服务器

今天用Java实现了一个简易版的web服务器,但是出了点问题,目前为止,还不知道如何解决。

我把代码和问题放在这里,有大佬看到的话,帮忙解决一下。

public class TcpServer {

public static void main(String[] args) throws IOException {

ServerSocket server=new ServerSocket(4000);

while(true) {

Socket socket=server.accept();

new Thread(()->{

try {

BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));

String str=br.readLine();

String[] strArr=str.split(" ");

String path=strArr[1].substring(1);

//构造方法中绑定要读取的html路径

FileInputStream fis=new FileInputStream(path);

int len=0;

byte[] b=new byte[1024];

OutputStream os=socket.getOutputStream();

//写入http协议响应头,固定写法

os.write("HTTP/1.1 200 OK\r\n".getBytes());

os.write("Content-Type:text/html\r\n".getBytes());

//必须写入空行,否则浏览器不解析

os.write("\r\n".getBytes());

while((len=fis.read(b))!=-1) {

os.write(b, 0, len);

}

fis.close();

socket.close();

} catch (IOException e) {

e.printStackTrace();

}

}).start();

}

}

}

最终实现效果

f5cedee20af9d0d4628a66eeb473d65d.png

期待的结果

ee8f8d9bc74d732e6345d2c9ba2f545a.png

下面分别附上index.html,index.css,index.js的代码

index.html

我是你爸爸
我是你爸爸哦 点击去找你妈妈

index.css

#box {

font-size:50px;

}

index.js

let $id=document.getElementById("box");

$id.style.color="gold";

通过运行结果,可以看出,js的引用成功加载出来了,但是css的引用效果没有加载上去。

不知道为啥,求助!

个人猜测是多线程的执行结果?是不是应该先加载css再执行HTML?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值