httpServletRequest对象、filter、servlet、servlet容器、catalina、tomcat、以及web容器之间的关系
学习servlet的时候经常感到疑惑
-
HttpServletRequest是服务器创建的?还是servlet容器创建的?
-
过滤器是服务器创建的?还是servlet容器创建的?
-
serlet容器和tomcat服务器是一回事么?
解答
- servlet容器处理servlet和jsp,web容器处理http请求和响应,各司其职,http是跨语言的,比如 apache是web容器,tomcat也是,可以接受请求和返回响应
- tomcat = servlet容器 + 其他 容器(container)
- tomcat中的servlet容器有个别名叫 catalina
-
Servlet过滤器能够对Servlet容器的请求和响应对象进行检查和修改,那么肯定实在产生请求对象之后才有的,所以也是servlet容器创建的
-
建议买本关于tomcat的书看看
-
Apache Tomcat 6.0 官方文档说明的第一句
- This is the top-level entry point of the documentation bundle for the Apache Tomcat Servlet/JSP container.
- 译文:这是Apache Tomcat Servlet/JSP container 的文档包顶级入口点
- 有一个疑问,servlet,fiter,struts2,strut2的拦截器是否都是在servlet容器中进行的 ? ? ?
请求响应流程
- 客户端发请求
http://www.baidu.com?name=tom
- web容器(也就是tomcat)接收这个请求
- 发送给servlet容器
- servlet容器创建servlet
- servlet容器创建HttpServletRequest对象给servlet