容器处理请求
2015-09-13 02:03
337 查看
实际上,用户点击一个链接,其url指向一个servlet,也就是说真正处理请求的是servlet.如果是这样,那就需要我们要过多的考虑一个servlet的生命周期的管理了,因此,我们这里使用容器,比如tomcat来对servlet管理,由容器调用合适的servlet的方法对请求做出处理,并管理servlet的生命周期,还负责将jsp代码翻译成正真的Java。
我们来看一下容器如何处理请求的:
容器接受到用户发送来的请求,一个指向servlet的URL。容器看出来是调用servlet,所以创建对象:HttpServletRequest 以及HttpServletResponse。但是容器仍然保留着响应对象的引用。
容器将创建或分配一个线程给要调用的servlet,然后将创建的请求对象以及相应对象传递给这个线程。
容器调用servlet的service()方法,根据请求的类型不同,servlet调用不同的doGet()或者doPost()方法。
servlet处理完之后,生成动态页面,并将需要的数据填充响应对象对象。
容器保留着相应对象的引用,因此,线程结束后,容器把相应对象转换成一个http响应,然后发回给客户。此时,也删除了HttpServletRequest 以及HttpServletResponse这两个对象。
我们来看一下容器如何处理请求的:
容器接受到用户发送来的请求,一个指向servlet的URL。容器看出来是调用servlet,所以创建对象:HttpServletRequest 以及HttpServletResponse。但是容器仍然保留着响应对象的引用。
容器将创建或分配一个线程给要调用的servlet,然后将创建的请求对象以及相应对象传递给这个线程。
容器调用servlet的service()方法,根据请求的类型不同,servlet调用不同的doGet()或者doPost()方法。
servlet处理完之后,生成动态页面,并将需要的数据填充响应对象对象。
容器保留着相应对象的引用,因此,线程结束后,容器把相应对象转换成一个http响应,然后发回给客户。此时,也删除了HttpServletRequest 以及HttpServletResponse这两个对象。
相关文章推荐
- ios 检测应用程序升级问题
- [Shell]Bash变量:环境变量的配置文件和登录信息
- linux磁盘及文件管理
- php的public、protected、private三种访问控制模式的区别
- [原]Mysql日志分析
- Android 关于inflate
- 2015百度校招之动态规划(兼职问题)
- POJ - 1962 Corporative Network(带权并查集)
- 基于 Android蓝牙4.0开发详细讲解,与硬件通信 史上最牛逼,最详细
- 活体检测
- Caused by: java.lang.ClassNotFoundException: javassist.util.proxy.MethodFilter
- 线性时间字符串转移
- [PHP学习教程 - 类库]001.全局唯一ID(GUID)
- LeetCode Word Break II
- LeetCode Word Break II
- composer更新不成功,启用国内镜像网站的配置更改办法
- JAVA学习基础篇第一周
- Leetcode Perfect Squares
- Spring与ehcache整合,通过Spring原生注解使用缓存
- UVALive 5902 Movie collection(树状数组)