servlet运行过程

Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求之后:

1,WEB服务器收到该请求之后,会把请求教给相应的容器来处理,首先检查是否已经装载并创建了该Servlet的实例对象,如果是,则直接执行步骤4,否则执行步骤2;

2,装载并创建该Servlet的一个实例对象;

3,调用Servlet实例对象的init()方法(只调用一次);

4,创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象;

5,容器可以根据请求消息中的URL消息找到对应的Servlet,然后针对该请求创建一个单独的线程,同时把步骤4中创建的两个对象以参数的形式传递到新创建的线程中;

6,容器调用Servlet的service()方法并将请求和响应对象作为参数传递进去,service()方法会调用doPost()或doGet()方法来完成具体的响应任务,同时把生成的动态页面返回给容器;

7,容器把响应消息组装成HTTP格式返回给客户端。此时,这个线程运行结束,同时删除步骤2创建的两个对象。

5,WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。以下情况会调用destroy:①tomcat重新启动;②reload该webapp;③重启电脑。

可见Servlet处理请求的方式为线程的方式

          Servlet的处理流程

Servlet的生命周期可以分为加载、创建、初始化、处理客户请求和卸载5个阶段。

时间: 2024-08-14 23:36:34

servlet运行过程的相关文章

Servlet运行过程详解

比如,在浏览器地址栏输入http://ip:port/web01/hello step1,浏览器依据ip,port建立与servlet容器(容器同时也是一个简单的web服务器)之间的连接. step2,浏览器将请求数据打包(按照http协议,该数据包也称为请求数据包). step3,浏览器发送请求数据包给容器. step4,容器收到请求数据包之后,解析该数据包,并将解析之后得到的数据封装到request对象上,同时,容器还要创建response对象. step5,容器要依据请求资源路径("/we

servlet的运行过程

1.什么是Servlet? sun公司制订的一种用于扩展web服务器功能的 组件规范. (1)扩展web服务器功能: 早期的web服务器(比如apache web server, iis)只能够处理静态资源的请求(需要事先将页面 文件写好 ,并存放到服务器特定的目录下面), 不能够处理动态资源的请求(即依据请求参数,通过 计算,生成一个新的页面). 扩展方式,早期是使用CGI程序来扩展: CGI(common gateway interface),CGI是一个规范, 约定了web服务器与CGI程

Servlet运行原理

一:servlet定义 Servlet是一个Java应用程序,运行在服务器端,用来处理客户端请求并作出响应的程序. (Servlet对象 在Servlet容器启动时被初始化,当第一次被请求时,Servlet容器将其实例化,此时它贮存于内存中. 如果存在多个请求,Servlet不会再被实例化,仍然由此Servlet将其进行处理,每一个请求都是一个线程,而不是进程,因此,Servlet对请求的处理的性能非常高) 对于Servlet,它被设计为多线程的(如果它是单线程的,你就可以想象,当1000个人同

【转】Java学习---解析Java Servlet工作过程

[原文]https://www.toutiao.com/i6594316694657696264/ 解析Java Servlet工作过程 Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤: 编写一个Java类,实现servlet接口. 把开发好的Java类部署到web服务器中. Servlet的运行过程 Serv

IOS学习之路- 运行过程

1. 执行Main函数(在main.m文件中) 2. 加载MainStoryborad.storyboard文件 * 创建ViewController文件 * 根据storyboard文件中描述创建ViewController中的UIView(父层) * 创建UIView内部的所有子控件 * 将创建好的所有UIView对象跟ViewController做相应的关联(IBAction,IBoutlet  ) 3. 将程序的第一个控制器内部的UIview显示到手机屏幕上. IOS学习之路- 运行过程

OC学习小结之ios运行过程详解

1)ios核心类 UIView 视图,屏幕上能看得见的东西都是视图,例如:按钮.文本标签.和表格等 UIViewController:内部默认有个视图(UIView),负责管理UIView的生命周期.装配数据到UIView上显示.处理其事件 ios采用MVC模式:model -view -controller 2)运行过程 ios运行原理 1.先执行main函数 2.main函数调用UIApplicationMain函数 创建一个UIApplication实例,这个是一个单例对象,一个ios程序

程序启动和运行过程

摘抄自:http://www.cnblogs.com/kenshincui/p/3890880.html#runProcess 程序的运行过程 在几乎所有的程序开发中程序一般都是从main函数开始运行的,那么IOS程序也不例外,在上图中我们可以看到Xcode为我们生成了一个main.m文件: // // main.m // FirstIOS // // Created by Kenshin Cui on 14-2-23. // Copyright (c) 2014年 Kenshin Cui. A

从内存中分析程序的运行过程

我觉得图形是最可以直观一种解释方法,所以先把程序运行过程的图形解析流程给大家,通过图形来一步一步的理解才是最让人清楚,直观的: 流程图懂了,好多事情也就懂了!

深刻理解Servlet运行机制和生命周期

servlet 运行在servlet 容器中,其生命周期由容器来管理.servlet 的生命周期通过 javax.servlet.Servlet接口中的init(),servce(),和destory();方法表示.1,加载和实例化servlet 容器负责加载和实例化servlet 当容器启动或在容器中检测到需要这个servlet来响应一个请求 时.创建servlet实例.容器通过java 的反射API来创建servlet实例.所以servlet中不应该提供带参数的构造函数.2,初始化在serv