一个http请求处理流程
流程图:
st=>start: 开始
e=>end: 结束
op=>operation: 服务器首先获取http的TCP socket连接
op1=>operation: 从socket中读取http协议内容
op2=>operation: 解析http协议请求头
op3=>operation: 获取请求头中的请求的资源的路径
op4=>operation: 获取servlet的路径
op5=>operation: 读取静态资源文件并返回
op6=>operation: 获取servelt名称
op7=>operation: 加载一个新的servlet实例
op8=>operation: 调用servlet的service方法
op9=>operation: 返回异常给客户端
op10=>operation: 返回异常给客户端
op11=>operation: 获取servlet的单例
op12=>operation: 返回servlet实例处理结果
cond=>condition: 请求资源是否是动态资源?
cond1=>condition: 该servlet名称是否存在?
cond2=>condition: servlet是否是单例?
st->op->op1->op2->op3->cond->op4->op6->cond1->cond2->op8->op12->e
cond(yes)->op4
cond(no)->op5->e
cond1(yes)->cond2
cond1(no)->op9->e
cond2(yes)->op11->op8
cond2(no)->op7->op8
这就是一个简化的流程