本文主要是介绍读懂tomact源码二:Connector,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我对tomact的源码不了解,可以说基本不了解,看到一篇文章感觉挺好的,http://www.importnew.com/21112.html,分享下。
tomact有2个核心模块一个Connector和Container。我们今天说说Connector吧。
protocol
tomact中server的配置
<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
1
2
3
Connector类的代码片段
“`
/**
* Set the Coyote protocol which will be used by the connector.
*
* @param protocol The Coyote protocol name
*/
public void setProtocol(String protocol) {
if (AprLifecycleListener.isAprAvailable()) {if ("HTTP/1.1".equals(protocol)) {setProtocolHandlerClassName("org.apache.coyote.http11.Http11AprProtocol");} else if ("AJP/1.3".equals(protocol)) {setProtocolHandlerClassName("org.apache.coyote.ajp.AjpAprProtocol");} else if (protocol != null) {setProtocolHandlerClassName(protocol);} else {setProtocolHandlerClassName("org.apache.coyote.http11.Http11AprProtocol");}
} else {if ("HTTP/1.1".equals(protocol)) {setProtocolHandlerClassName("org.apache.coyote.http11.Http11Protocol");} else if ("AJP/1.3".equals(protocol)) {setProtocolHandlerClassName("org.apache.coyote.ajp.AjpProtocol");} else if (protocol != null) {setProtocolHandlerClassName(protocol);}
}
}“`
我们可以看到org.apache.coyote.http11.Http11Protocol是默认的协议,这里我们也可以配置其他的吧。
ProtocolHandler
继承关系
到这里我们可以看到了server中配置的协议和ProtocolHandler的关系;页可以知道了server中,除了配置协议,也可以直接配置类的名字。
这篇关于读懂tomact源码二:Connector的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!