手写一个Tomcat

这篇博客记录了作者如何参照《java架构沉思录》中的教程,一步步实现一个迷你版的Tomcat服务器。主要步骤包括:创建Socket服务、转发请求、封装HTTP的Request/Response对象、实现Servlet处理基类及具体Servlet、配置Servlet映射,以及启动和测试简易Tomcat的过程。通过这个实践,作者加深了对Tomcat工作原理的理解。
摘要由CSDN通过智能技术生成

(参考了公众号:java架构沉思录中的文章:教你写一个迷你版的tomcat
原文:https://www.jianshu.com/p/dcelee01fb90)
作为一个java学习的起步者,对tomcat的认识还是有很多的欠缺,在无意中发现了这篇文章,便在自己的环境下尝试搭建,收获良多:
分以下几个步骤:
(1)提供Socket服务
(2)进行请求的转发
(3)把请求和响应封装成request/response
代码实现如下:
1、工程截图:
在这里插入图片描述
2、封装请求对象:通过输入流,对HTTP协议进行解析,拿到了HTTP请求头的方法和URL:


/**
 * @author wangjie
 * @version 2018/11/9
 * 封装请求对象
 * 通过输入流,对http协议进行解析,拿到http请求头的方法和url
 */
public class MyRequest {
    private String url;
    private String method;

    public MyRequest(InputStream inputStream) throws IOException{
        String httpRequest ="";
        byte[] httpRequestBytes =new byte[1024];
        int length =0;
        if((length=inputStream.read(httpRequestBytes)) >0){
            httpRequest=new String(httpRequestBytes,0,length);
        }

        String httpHead = httpRequest.split("\n")[0];
        url=httpHead.split("\\s")[1];
        method=httpHead.split("\\s")[0];
        System.out.println(this);
    }
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
    public String getMethod() {
        return method;
    }
    public void setMethod(String method) {
        this.method = method;
    }
}

3、封装响应对象:基于HTTP协议的格式进行输出写

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值