一个较丰满的servlet web server,由简化的conector、HttpProcessor、bootstrap 和简单servelt处理器构成(2代码分析)

代码分析:

    类关系:

       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