一个较丰满的servlet web server,包含conectorProcessorbootstrap (2代码分析)
Posted 10000miles
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个较丰满的servlet web server,包含conectorProcessorbootstrap (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,但还是不能透彻了解作者的本意。
以上是关于一个较丰满的servlet web server,包含conectorProcessorbootstrap (2代码分析)的主要内容,如果未能解决你的问题,请参考以下文章
JavaWeb — Servlet(Server Applet)
我应该如何从带有嵌入式码头的 web.xml 加载 servlet?