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();
        }   
    }
}

最终实现效果

错误的显示

期待的结果

期待的结果

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

index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>我是你爸爸</title>
    <link rel="stylesheet" href="index.css">
</head>
<body>
    <div id="box">我是你爸爸哦<a href="mother.html">点击去找你妈妈</a></div>
    <img src="kitchen.jpg" alt="">
</body>
<script src="index.js"></script>
</html>

index.css
#box {
    font-size:50px;
}

index.js
let $id=document.getElementById("box");
$id.style.color="gold";

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

不知道为啥,求助!

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

posted @ 2020-01-05 11:24  言成言成啊  阅读(...)  评论(...编辑  收藏