代码分析:
类关系:
BootStrap主程序负责服务器的启动,控制HttpConnector组件;
HttpConnector类负责Http链接和线程管理,控制HttpProcessor组件;
HttpProcessor类负责Http协议的解析和res/req的创建,同包下的其他类是为解析req解耦出来的相关类,为获取响应writer的相关类;request对象属性在本应用中的到 近乎完全的解析,response好像只可以用writer由程序员自行设置响应头?书上没做说明,自己看代码也无法从静态关系中么;StaticResourceProcessor 处理静态资源类没做的变化,ServletProcessor加载类也没做过大的演进作用依然是动态加载servlet组件。
对象关系:
HttpProcessor负责解析Http信息,如RequestLine,RequestHeader,而requestParameter留在程序员获取paramater时再隐式地执行parameter解析过程。
程序中最令人怅惘的是response对象的属性,在交给servlet程序员之前,res是否有一些默认的或者服务器应该自动设置的Header信息?还是全部交由程序员赋 值?很抓狂,res代码也没看出一二三来,虽然在HttpProcessor中setHearder,但还是不能透彻了解作者的本意。
原文地址:https://www.cnblogs.com/10000miles/p/9224485.html
时间: 2024-10-09 12:05:25