HttpServletRequest中的方法是哪个类实现的?

今天闲来无聊敲代码,忽然有点好奇HttpServletRequest这个接口中的方法到底是怎么实现的?

在这里插入图片描述
于是我跑了个servletDemo,在控制台将request打印了一下:
在这里插入图片描述
控制台输出:
在这里插入图片描述

request: org.apache.catalina.connector.RequestFacade@6c77d00e

RequestFacade???这是个什么对象啊?

从网上下载tomcat的源码查看一番:

在这里插入图片描述
发现RequestFacade类实现了HttpServletRequest类,覆写了其中的方法

在这里插入图片描述
度娘了一下,说Tomcat使用Facde模式对Request对象进行了包装,是为了屏蔽内部的catalina容器的相关方法,使用户免受非sevlet标准方法的干扰。

不是很懂,随手记录下,希望知道的小伙伴不吝赐教,谢谢

posted @ 2020-11-18 19:58  layman~  阅读(35)  评论(0编辑  收藏  举报