HttpProcessor内幕
1. HttpProcessor
导读:HttpProcessor是什么
1.1 HttpConnector中创建HttpProcessor的方法
// 创建Processor
// 不超过
private HttpProcessor createProcessor() {
synchronized (processors) {
if (processors.size() > 0) {
return ((HttpProcessor) processors.pop());
}
// 如果maxProcessors设置为-1,则表示processors大小没有限制
// 如果maxProcessors>0且当前processor超过maxProcessors,则直接返回null,不进行处理
if ((maxProcessors > 0) && (curProcessors < maxProcessors)) {
return (newProcessor());
} else {
if (maxProcessors < 0) {
return (newProcessor());
} else {
return (null);
}
}
}
1.2 HttpProcessor process()的实现
private void process(Socket socket) {
/**
1.根据Socket创建Request/Response
2.parseConnection()
parseRequest()
parseHeaders()
3. todo 调用对应的处理类来处理
4.关闭套接字
*/
}
HttpProcessor的产生???