Java自制简易http服务器(1)

本文介绍了作者为了完成计算机网络原理课程作业,动手实践编写的一个简单HTTP服务器。这个服务器仅支持GET方法,返回200或404状态,并且采用直接的代码实现,不依赖高级库。旨在为读者提供一个基础的Java服务器实现思路和框架。

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

由于计算机网络原理这门课的作业……嗯,简单练习了下做一个简易的服务器


该简易服务器十分简陋(甚至只有两个状态(200和404),只接受get方法),同时也没有使用任何比较复杂的类和包。

代码基本纯暴力实现……

import java.io.*;
import java.net.*;

public class Java_web_test {
    public static void main(String args[]) throws IOException {
    ServerSocket tt=new ServerSocket(6699);//监听6699端口
while(true){ String rootpath=System.getProperty("user.dir")+File.separator+"静态网页";//网页文件夹叫做静态网页,前面的是获取系统下当前Java文件的路径 Socket mt = tt.accept(); BufferedReader asd =new BufferedReader(new InputStreamReader(mt.getInputStream()));//获得套接字传来的输入流 String m; m=asd.readLine();//读取首部第一行的请求文件 System.out.println(m); String[] array=m.split(" ");//按照空格分开 while(asd.ready()){//打印请求报文 m=asd.readLine(); System.out.println(m); } System.out.println(); File sll=new File(rootpath+array[1]);//获取请求文件 if(sll.isFile()){//文件存在,走200 BufferedReader mmt=new BufferedReader(new FileReader(rootpath+array[1])); m=mmt.readLine(); BufferedWriter ssd=new BufferedWriter(new OutputStreamWriter(mt.getOutputStream())); StringBuffer n=new StringBuffer();//存读取的文件数据 n.append("Http/1.1 200 OK \r\n\r\n");//造一个http报文头 int a=1,b=0; n.append(m); while(mmt.ready()){//数据全部写入缓冲 n.append(mmt.readLine()); a=n.length(); if(a==b){ break; } b=a; } ssd.write(n.toString()); System.out.println(n.toString());//打印写出报文 ssd.flush();//发送 } else{//不存在,走404 BufferedWriter sdd=new BufferedWriter(new OutputStreamWriter(mt.getOutputStream())); sdd.write("Http/1.1 404 ERROR \r\n\r\n"); sdd.flush(); } mt.shutdownOutput(); mt.close();//关闭端口 } }}



希望能给大家一个关于java服务器的简单思路和框架

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值