Servlet运行过程详解

比如,在浏览器地址栏输入
http://ip:port/web01/hello

step1,浏览器依据ip,port建立与servlet容器(容器同时
也是一个简单的web服务器)之间的连接。

step2,浏览器将请求数据打包(按照http协议,该数据包
也称为请求数据包)。

step3,浏览器发送请求数据包给容器。

step4,容器收到请求数据包之后,解析该数据包,并将
解析之后得到的数据封装到request对象上,同时,容器
还要创建response对象。

step5,容器要依据请求资源路径("/web01/hello")找到
servlet的配置,然后创建servlet对象。

step6,容器调用servlet对象的service方法。容器会将事先
创建好的request,response作为参数传递给service方法。

step7,在service方法里面,可以通过request对象获得
请求参数,并进行相应的处理,处理结果会放到response对象
里面。

step8,容器从response对象中取出处理结果,然后打包(
按照http协议,该数据包称之为响应数据包)。然后将
响应数据包发送给浏览器。

step9,浏览器收到响应数据包之后,解析处理结果,然后生成
相应的页面。

时间: 2024-10-10 12:38:09

Servlet运行过程详解的相关文章

Java编译程序和运行过程详解

java整个编译以及运行的过程相当繁琐,我就举一个简单的例子说明: 编译原理简单过程:词法分析 --> 语法分析 --> 语义分析和中间代码生成 --> 优化 --> 目标代码生成 Java程序从源文件创建到程序运行要经过两大步骤: 1.Java文件会由编译器编译成class文件(字节码文件),会经过编译原理简单过程的前三步: 2.字节码由java虚拟机解释运行,解释执行即为目标代码生成并执行.因为java程序既要编译的同时也要经过JVM的解释运行,所以说Java被称为半解释语言!

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

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

C++ 编译,运行过程 详解。

要更深入了解C++, 必须要知道一个程序从开始到结束都干了些什么, 怎么干的. 所以我从C++编译到运行过程,解析下程序是怎么跑的. 首先,初略的说一下之前C++的编译过程,C++编译过程包括预编译->汇编->编译->链接.称为一个可执行文件.(Windows平台下为.exe文件). 预编译主要展开包含的头文件,宏定义等操作.例如一个简单的main程序,编译预编译后,的文件对比.   可以看到里面的宏已经被去掉了.如果定了那个宏,那么宏里面的内容也会显示出来.头文件也是,如果你包含了你一

ASP.NET 运行时详解 揭开请求过程神秘面纱

对于ASP.NET开发,排在前五的话题离不开请求生命周期.像什么Cache.身份认证.Role管理.Routing映射,微软到底在请求过程中干了哪些隐秘的事,现在是时候揭晓了.抛开乌云见晴天,接下来就一步步揭开请求管道神秘面纱. 上篇回顾 在介绍本篇内容之前,让我们先回顾下上一篇<ASP.NET运行时详解 集成模式和经典模式>的主要内容.在上一篇随笔中,我们提到ASP.NET运行时通过Application的InitInternal方法初始化运行管道.ASP.NET运行时提供了两种初始化管道模

Servlet基础知识详解

Servlet基础知识详解 Servlet基础知识详解 Servlet程序执行全过程 Servlet映射路径 Servlet映射练习 Servlet生命周期 为什么要学习Servlet生命周期 Servlet重要的生命周期方法 模拟通过反射构造Servlet对象 Servlet单实例多线程 Servlet留给开发者的init方法 Servlet中核心对象学习 HttpServletRequest对象 HttpServletResponse对象 ServletConfig对象 ServletCon

使用HeartBeat实现高可用HA的配置过程详解

使用HeartBeat实现高可用HA的配置过程详解 一.写在前面 HA即(high available)高可用,又被叫做双机热备,用于关键性业务.简单理解就是,有2台机器 A 和 B,正常是 A 提供服务,B 待命闲置,当 A 宕机或服务宕掉,会切换至B机器继续提供服务.常见的实现高可用的开源软件有 heartbeat 和 keepalived. 这样,一台 web 服务器一天24小时提供web服务,难免会存在 web 服务挂掉或服务器宕机宕机的情况,那么用户就访问不了服务了,这当然不是我们期望

Linux系统启动过程详解

 Linux系统启动过程详解 启动第一步--加载BIOS当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬盘信息.内存信息.时钟信息.PnP特性等等.在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了. 启动第二步--读取MBR众所周知,硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,别看地方不大,

ASP.NET运行时详解 中篇

遗留问题 在ASP.NET运行时详解 上篇中遗留两个问题,包括Application的InitInternal方法执行细节.IIS6和II7经典模式请求管道管理类ApplicationStepManager和IIS7请求管道管理类PipelineStepManager的实现细节.这两个问题贯穿了整个ASP.NET运行过程.所以,要把ASP.NET运行过程了解清楚,这两个问题不得不解决.    为了大家更容易切入该篇的内容,我们先回顾下这两个问题: 1. Application的InitInter

开启 J2EE(六)— Servlet之Filter详解及乱码处理实例

定义和功能 Filter:过滤器,它能够在request到达Servlet之前预处理request,也可以在离开Servlet时处理response,通过对request或response的处理已达到过滤功能.但是Filter只是对request和response请求进行了拦截处理,通常不产生请求或者响应. 实现的接口 我们写Servlet需要继承一个类,Filter也一样,要实现一个接口(扩展性的体现啊):javax.servlet.Filter,并实现该接口的三个方法: <span styl