自己动手写最简单的webserver

来源:互联网 发布:联通网络检测插件 编辑:程序博客网 时间:2024/05/10 22:27

说起服务器大家都会觉得很高大上,但其实其最最核心的无非是通过http端口传递数据流,现在我就贴出最最原始简单的webserver源码,只有不到20行代码就能实现一个加载静态html的服务器啦,希望大家自己试试就能取出对服务器神秘莫测的感觉了。

public class Demo {public static void main(String[] args) throws Exception {BufferedReader bufferedReader = null;OutputStream os = null;Socket socket = null;try {ServerSocket serverSocket=new ServerSocket(9999);while(true){System.out.println("waiting for clients");socket=serverSocket.accept();os=socket.getOutputStream();bufferedReader=new BufferedReader(new FileReader("D:/lttclaw.html"));String bufstr="";while((bufstr=bufferedReader.readLine())!=null){os.write(bufstr.getBytes());}}} catch (IOException e) {e.printStackTrace();bufferedReader.close();os.close();socket.close();}}}

这个demo我指定了本地D;\下的一个静态html文件,这个html也简单得很,贴代码:

<!DOCTYPE html><html><head><script>function myclick(){alert("i am clicked!");}</script></head><body><button onclick="myclick()">click on me</button></body></html>

然后我们将这个java代码运行起来,在本地测试的话就在浏览器上输入

http://localhost:9999/然后就能看到我们的页面已经显示出来了——


O(∩_∩)O~,就是这么简单,不过这个玩意儿只能当个玩具,但就是通过这个我们能看到webserver的核心使命,并打消我们对webserver的不了解带来的恐惧。



0 0
原创粉丝点击