tomcat处理http请求
?
?
从上图可以看出Tomcat的核心是两个组件:连接器(Connector)和容器(Container)。Connector组件是负责生成请求对象和响应对象的,Tomcat默认的是HttpConnector,负责根据收到的Http请求报文生成Request对象和Response对象,并把这两个对象传递给Container,然后根据Response中的内容生成相应的HTTP报文。
Container是容器的父接口,所有子容器都必须实现这个接口,简单来说就是服务器部署的项目是运行在Container中的。Container里面的项目获取到Connector传递过来对应的的Request对象和Response对象进行相应的操作。
Connector可以根据不同的设计和应用场景进行替换。一个Container可以选择对应多个Connector。多个Connector和一个Container就形成了一个Service,有了Service就可以对外提供服务了。
?
Tomcat处理请求流程
? ? ? Tomcat要为一个Servlet的请求提供服务,需要做三件事:
1、创建一个request对象并填充那些有可能被所引用的Servlet使用的信息,如参数,头部、cookies、查询字符串等。一个request对象就是javax.servlet.ServletRequest或javax.servlet.http.ServletRequest接口的一个实例。
2、?创建一个response对象,所引用的servlet使用它来给客户端发送响应。一个response对象是javax.servlet.ServletRequest或javax.servlet.http.ServletRequest接口的一个实例。
3、?调用servlet的service方法,并传入request和response对象。这里servlet会从request对象取值,给response写值。
4、根据servlet返回的response生成相应的HTTP响应报文。
?
最后,回到原来的那个问题——在页面与action层之间创建vo来传递数据真没必要。
?
参考资料:http://blog.csdn.net/beijiguangyong/article/details/7439352
?????????http://www.ibm.com/developerworks/cn/java/j-lo-tomcat1/index.html