使用Tomcat时,Request对象是我们经常使用的一个对象,在Controller中的RequestMapping方法上,我们可以添加一个HttpServletReqeust的参数,Spring会为我们自动传入这个参数,其真实类型是org.apache.catalina.connector.RequestFacade:
/**
* Facade class that wraps a Coyote request object.
* All methods are delegated to the wrapped request.
*
* @author Craig R. McClanahan
* @author Remy Maucherat
*/
@SuppressWarnings("deprecation")
public class RequestFacade implements HttpServletRequest {
...
}
Tomcat对这个类的解释很简单,就说是个Facade类型,包装了Coyote请求对象,所有的方法都代理给了被包装的请求也即Coyote请求对象。Coyote是Tomcat的Connector框架。