【drp 9】Servlet生命周期
一、基本概念
Servlet(Server Applet):全称Java Servlet,是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。
Servlet生命周期:
servlet有良好的生存期定义,包括加载,实例化,初始化,处理请求以及服务结束!这个生存周期分别由java.servlet.Servlet接口的init,service和destroy方法表达!
1,第一个到服务器的HTTP请求被委派到servlet容器。
2,servlet容器装载,然后再调用这个servlet的service()方法。
3,然后servlet容器产生多个线程,每个线程执行一个单一的servlet实例的service()方法的处理多个请求。
二、主要方法概述
2.1,init()
<span style="font-family:KaiTi_GB2312;font-size:18px;">public void init() throws ServletException {
// Initialization code...
}</span>
Servlet被服务器实例化后,容器运行其init方法,这个方法只运行一次,作用于servlet整个生命周期!
2.2,service()
<span style="font-family:KaiTi_GB2312;font-size:18px;">public void service(ServletRequest request,
ServletResponse response)
throws ServletException, IOException{
}</span>
service()方法是主要的方法来执行实际的任务。请求到达时,运行servlet的service方法检查HTTP请求类型(GET,POST,PUT,DELETE等),并调用doGet,doPost方法,doPut,doDelete,等适当的方法。由于service是调用其他方法,所以,在实际运用的时候,主要重写相应的doGet、doPost方法等。什么时候重写doGet或是doPost,请看博客:[drp
8]get和post的区别,以及乱码问题的解决
2.3,destroy()
<span style="font-family:KaiTi_GB2312;font-size:18px;">public void destroy() {
// Finalization code...
}</span>
这个方法,是servlet生命周期的最后一步,在整个生命周期中只执行一次,在这个方法中,可以做关闭数据库连接,停止后台线程等释放内存类似的工作。
三、总结
对于servlet生命周期的理解,其实感觉和平常用的try{ }catch{ }finally{ }代码段很像,在我们用try的时候,会在之前声明一些变量或者赋值等,算是一种前期准备,这个就相当于init初始化方法,然后,我们在try语句段去执行我们真正想要执行的方法,也就是servlet里面的service方法。最后捕捉完异常,我们会用finally语句段去做最后的处理,如:关闭数据库,事务回滚等,这就等同于servlet的destroy方法。
对于基础知识的总结学习,还任重而道远!
【drp 9】Servlet生命周期的更多相关文章
- Servlet 生命周期与web容器的关系
servlet生命周期由web容器(如tomcat)管理,初始化一次,直到web容器关闭才会被销毁.1.servlet是单例多线程,每个请求过来容器都会启用一个新线程 2.servlet在容器中保持单 ...
- 测试Servlet生命周期学习笔记
测试环境:windows xp旗舰版 软件环境:myclipse8.5+tomcat7.0 ****************************************************** ...
- Servlet生命周期及工作原理
1 Servlet生命周期Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁. init():在Servlet的生命周期中,仅执行一次init()方 ...
- Java开发之Servlet生命周期
Servlet会在服务器启动或第一次请求该Servlet的时候开始生命周期,在服务器结束的时候结束生命周期.无论请求多少次Servlet,最多只有一个Servlet实例.多个客户端并发请求Servle ...
- Java Servlet系列之Servlet生命周期
Servlet生命周期定义了一个Servlet如何被加载.初始化,以及它怎样接收请求.响应请求,提供服务.在讨论Servlet生命周期之前,先让我们来看一下这几个方法: 1. init()方法 在Se ...
- servlet生命周期与工作原理
→ Jsp的本质是Servlet,Servlet是服务器端的小程序,运行在服务器,用于处理及响应客户端的请求. Servlet和JSP的区别: servlet是特殊的Java类,必须继承HttpS ...
- javaWeb中servlet开发(3)——Servlet生命周期
生命周期:是一个程序的存在周期,servlet由于是受容器的管理,所以容器来决定其生命周期 1.servlet生命周期 2.servlet生命周期对应的方法 3.servlet生命周期代码 publi ...
- Servlet 生命周期、工作原理
按照单例的编码规则,Servlet本身只是一个Java,结构并不是单例结构. 只是Web容器在维护这些Servlet的时候只给创建一个实例存在JVM中,用户请求服务时,服务器只调用它已经实例化好的Se ...
- Servlet生命周期+工作原理
Servlet生命周期+工作原理 1.Servlet的生命周期: Servlet加载,加载,服务,销毁. 2.典型函数解释: Init():这个函数是用来初始化Servlet对象的.在 ...
随机推荐
- Java的clone机制(及String的特殊性)
1. Clone&Copy 假设现在有一个Employee对象,Employee tobby =new Employee(“CMTobby”,5000),通常我们会有这样的赋值Employee ...
- SparkStreaming入门及例子
看书大概了解了下Streaming的原理,但是木有动过手啊...万事开头难啊,一个wordcount 2小时怎么都运行不出结果.是我太蠢了,好了言归正传. SparkStreaming是一个批处理的流 ...
- PLSQL_闪回删除FlashBack Drop表误删除如何进行恢复(案例)
2014-06-25 Created By BaoXinjian
- ADO.NET(查询、属性扩展)
一.ADO.NET 融合面向对象的查询语句 1.只查询一条数据 //数据访问中的select方法 public stu select(string xuehao) { stu s = null; cm ...
- poj 3040 Allowance
Allowance Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 1842 Accepted: 763 Descript ...
- DB2 SQL性能调优秘笈
SQL优化技巧 1.去除在谓词列上编写的任何标量函数 2.去除在谓词列上编写的任何数学运算 3.SQL语句的Select部分只写必要的列 4.尽可能不用Distinct 5.尽量将In子查询重写为Ex ...
- 帝国CMS商城功能高级使用
一.常见问题1.为什么自定义模型加入购物车提示“非商城表的信息”?答:模型要使用商城的功能,要先到:后台>商城>商城参数设置:“指定使用商肠能的数据表”勾选你这个自定义模型表,才可以使用. ...
- git config(转载)
From:http://www.g2w.me/2013/10/cache-github-credential-for-https-repository/ http://openwares.net/li ...
- URL编码CFURLCreateStringByAddingPercentEscapes使用(ARC)
URL 编码:CFURLCreateStringByAddingPercentEscapes If you have tried to send any information using a GET ...
- Python基础03 序列
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! sequence 序列 sequence(序列)是一组有顺序的元素的集合 (严格的 ...