[javaEE] Servlet的调用过程和生命周期
在http协议的请求头中获取到要访问的资源,查找web.xml文件找到对应的servelet
Sevlet的生命周期
Servlet在第一次被访问的时候,服务器创建出Servlet对象,创建出对象以后会直接调用init方法做初始化操作,创建出的对象会一直驻留在内存中为对这个Servlet的访问服务,每次对这个Servlet的访问都会导致service方法执行,当web应用被移除出容器时或者服务器被关闭时,随着web应用的销毁Servlet会被销毁,在销毁之前,服务器会调用Servlet的destroy方法做一些善后的工作
每次调用service()方法的时候,会传递进来两个参数:Request对象,Response对象
Request对象里面包含 http请求头和实体内容
Response对象是空的
调用Response对象的getWriter().write()方法,往Response对象中写入内容
服务器把Response对象中的内容组织成Http协议返回给浏览器
Servlet的继承结构
Servlet——接口定义了Servlet应该具有的基本方法
|——GenericServlet 通用基本Servlet实现,把service方法设计为抽象方法,需要子类去实现
|——HttpServlet实现了父类中的service方法,判断当前的请求方式,调用对应的doXXX方法,需要子类去继承并覆盖对应的doGet()或者doPost()方法
Servlet的细节
一个<servlet>可以对应多个<servlet-mapping>
<url-partten>中可以使用*匹配符,由于*的引入,有可能一个路径被多个url-partten匹配,优先级:哪个最像找哪个,*.后缀 的优先级最低
在<servlet>下面可以配置<load-on-start-up>可以用来指定启动顺序
[javaEE] Servlet的调用过程和生命周期的更多相关文章
- JSP 和 Servlet 的工作原理和生命周期
JSP的英文名叫Java Server Pages,翻译为中文是Java服务器页面的意思,其底层就是一个简化的Servlet设计,是由sum公司主导参与建立的一种动态网页技术标准.Servlet 就是 ...
- .NET MVC执行过程 及 生命周期步骤
1.网址路由比对 2.执行Controller与Action 3.执行View并返回结果 Request 请求到来 IIS 根据请求特征将处理权移交给 ASP.NET UrlRoutingModule ...
- JavaWeb之 Servlet执行过程 与 生命周期
Servlet的概念 什么是Servlet呢? Java中有一个叫Servlet的接口,如果一个普通的类实现了这个接口,这个类就是一个Servlet.Servlet下有一个实现类叫HttpServle ...
- [转]JavaWeb之 Servlet执行过程 与 生命周期
https://www.cnblogs.com/vmax-tam/p/4122105.html Servlet的概念 什么是Servlet呢? Java中有一个叫Servlet的接口,如果一个普通的类 ...
- Servlet学习笔记(一)之Servlet原理、初始化、生命周期、结构体系
Servlet是用java语言编写的应用到Web服务器端的扩展技术,与java对象的区别是,Servlet对象主要封装了对HTTP请求的处理,并且它的运行需要Servlet容器的支持(以下会介绍原因, ...
- [转]servlet的执行原理与生命周期
一.先从servlet容器说起:大家最为熟悉的servlet容器就是Tomcat ,Servlet 容器是如何管理 Servlet? 先看一下tomcat的容器模型: 从上图可以看出 Tomcat 的 ...
- servlet的执行原理与生命周期
先从servlet容器说起:大家最为熟悉的servlet容器就是Tomcat ,Servlet 容器是如何管理 Servlet?先看一下tomcat的容器模型:从上图可以看出 Tomcat 的容器分为 ...
- jsp学习(1)jsp请求过程和生命周期
一.服务器处理jsp请求的过程: 以下步骤表明了 Web 服务器是如何使用JSP来创建网页的: 1.浏览器发送一个 HTTP 请求给服务器. 2.Web 服务器识别出这是一个对 JSP 网页的请求,并 ...
- Servlet的创建二以及生命周期
之前说Servlet可以通过实现Servlet接口来创建,但是我们看到了,需要重写该接口中的所有方法. 创建方式二:Servlet的创建还可以继承抽象类GenericServlet并重写其中的抽象方法 ...
随机推荐
- sql解决避免除以零的错误
在实际项目中,我们可能会遇到求百分比,比值等带除法的sql语句.这时,我们也许会遇到分母为零的情况.下面给出我总结的一些方法: 1. 用NULLIF函数: 首先说一下NULLIF函数的语法: NULL ...
- 实现输入框不可输入、解决Enable,Disable等不能更新值问题
当在前台JS中更新不可用输入框(TextBox.Enable ="false" or Input box ReadOnly ="True")的值时, 后台可能 ...
- 【VB6】全局键盘钩子
基本也没啥好说的,不要用到木马及恶意程序中是以前从VB.NET程序改到VB6的,阉割了一些功能,只提供键盘Hook功能想要截获热键可以在处理函数中返回1,里面有示例 下载地址 http://pan.b ...
- BZOJ 1016--[JSOI2008]最小生成树计数(kruskal&搜索)
1016: [JSOI2008]最小生成树计数 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 7429 Solved: 3098[Submit][St ...
- [学习笔记]区间dp
区间 \(dp\) 1.[HAOI2008]玩具取名 \(f[l][r][W/I/N/G]\) 表示区间 \([l,r]\) 中能否压缩成 \(W/I/N/G\) \(Code\ Below:\) # ...
- MySQL随手记
一.MySQL数据迁移(由远端主机迁移到本地) 1.导出数据库mysqldump -u root -p db > dump_db_date.sqlroot: 账户db: 需要导出的数据库名 2. ...
- Linux 下创建 sftp 用户并限定目录
Linux 下创建 sftp 用户并限定目录 1.创建 sftpUser 用户组 [root@XXX ~]# groupadd sftpUser 2.创建 sftpUser 用户并指定目录 [root ...
- SQL Server —— 查询数据库、表、列等
一.查询数据库(sys.databases —— select *from sys.databases where name='<数据库名>') select *from sys.data ...
- Spring WebSocket踩坑指南
Spring WebSocket踩坑指南 本次公司项目中需要在后台与安卓App间建立一个长连接,这里采用了Spring的WebSocket,协议为Stomp. 关于Stomp协议这里就不多介绍了,网上 ...
- C# 高效率创建字符串类(StringBuilder)
1.为什么需要StringBuilder类? 因为String类型代表不可变字符串,所以无法对当前String类型实例进行处理.所以FCL提供了System.Text.StringBuilder类型, ...