自己动手写最简单的webserver

本文介绍了一个仅有20行代码的简易Web服务器实现方法,该服务器能够加载并展示静态HTML文件,帮助初学者理解Web服务器的基本原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说起服务器大家都会觉得很高大上,但其实其最最核心的无非是通过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的不了解带来的恐惧。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值