`
风子柒
  • 浏览: 56481 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

风言风语Web之servlet的生命周期

    博客分类:
  • web
阅读更多
     上回说到Tomcat的一些基本概念与功能,并且提到容器如Tomcat掌控着servlet的生死大权,这回就让我们一起来看看Tomcat是怎么行使这个生杀予夺的大权而servlet又是如何沦落到任“猫”宰割的地步的吧:



     接下来,我们来看图作文:
     第一段:首先当然是找到servlet类文件(讲到寻找servlet,不得不提容器在接受客户请求时会根据URL寻找servlet,但是那个servlet一般指的是已经完成了初始化的servlet,要注意区别开来)。Tomcat在启动时,或者在第一个请求到达时,加载servlet类文件。此时,这个servlet光辉的一生开始了。
     第二段:之后的事情JVM也会做,找到构造器,创建一个对象。
     好吧,这样,前面两段就已经结束了。是不是发现有种凤头、猪肚、豹尾的感脚啊?毕竟前面两步不是重点,而且熟悉Java的也会了解其中的门门道道。我们一起来摸一摸猪肚吧。
     第三段:这一部分的主要职责是调用init()方法完成servlet的初始化工作。有人会问:都已经有构造器了,为什么还要再调用一个init()函数进行初始化工作?介样子做岂不是多此一举?一开始我也支持这位有人君的idea,后面一打探,才发现这样做是有学问的:初始化工作目标是给servlet一些特有的东西,比如DB连接、一些只能初始化一次的变量或者来自web.xml文件中的参数(有些参数不适合硬编码到代码中,放在web.xml文件会更好),而这些都是通过ServletConfig得到的,我们不能强迫用户往构造器中传递一个或是多个参数,而在方法中参数的数量具有更好的可控性,事实上,我们会看到两个init方法,一个没有参数,一个有ServletConfig参数,但是有参的init方法会调用无参的init()方法。另一个原因导致init方法和构造器分离的原因是,若轻易将初始化工作全部放在构造器中,当在构造器中出错时(比如web.xml中参数出错)就会导致servlet无法被实例化,但是如果将这些功能放在init方法中,导致的后果最多是抛出一个异常而不会导致servlet的流产!这些也只是我对这点的一些粗浅的认识,希望大家可以将自己的意见留下来,不甚感激!需要注意的是,初始化工作必须在servlet处理请求之前完成!
     第四段:好的,servlet最荣幸的时刻到来了,它终于可以为人民服务啦!它先判断客户提出的是GET请求还是POST请求,并进入service()方法,然后分别进行处理。如果是GET请求,则调用doGet()方法,如果是POST请求就调用doPost()方法勒。doGet()和doPost()一般是需要我们覆盖的,具体在doPost()和doGet()中怎么处理就是按照你的旨意了。当然也有可能是其他的请求,但是很少会出现,因此不在考虑范围之内。而POST和GET也是有很多区别的,以后的博客中会讲到,还是期待一下额。
     第五段:人生啊,总是有阴晴圆缺,悲欢离合和生老病死,servlet亦如是。当服务器停止工作或者servlet发生了改变,都会致使当前servlet生命终结。当一个servlet要离开世间时,总是会调用destroy()方法,关闭一切已经打开的资源,并进行一些其它的告别处理。是的,servlet走的时候带走了一切,只留给我们许许多多的回忆和遐想。
     说到servlet的生命周期,就不得不说ServletConfig和ServletContext这一对儿,下一篇博客将会重点介绍这一对好基友!
     最后,就用一头猎豹作为这回的结尾吧,毕竟豹尾豹尾嘛(本来打算一开始插一张凤姐的头像作为凤头,但是为了社会治安我压制住了)!下回我们接着唠!


  • 大小: 7.9 KB
  • 大小: 70.8 KB
4
2
分享到:
评论
2 楼 Wikie 2012-02-24  
刚满一天啊,通宵刷上来了!实在是被博主的文风和才识所吸引!
1 楼 Wikie 2012-02-24  
I'm a tester!

相关推荐

    jsp班级信息管理系统

    在Myeclipse中,开发者可以创建动态Web项目,并集成Servlet、JSP和JavaBean等组件,构建出前后端交互的网页应用。JSP(JavaServer Pages)是一种动态网页技术,它允许在服务器端生成HTML,然后发送到客户端进行展示...

    努力的名言.doc

    6. 积极态度与决心:“一个人所能做的就是做出好榜样,要有勇气在风言风语的社会中坚定地高举伦理的信念”强调了积极态度和坚定决心在面对困难时的价值。 7. 批判性思维与勤奋:除了勤奋,批判性思维也被视为成功的...

    高考语文复习选修高三语言文字应用 四两拨千斤——虚词PPT课件.pptx

    这样的例子还有“有教无类”,其中的“无”也是虚词之一,强调了教育的平等性。 #### 知识点三:成语和虚词的应用 成语中往往包含着丰富的虚词使用实例,这些实例可以帮助我们更好地理解和记忆虚词。比如,...

    软件开发中没有所谓正确的方法

    我们之所以成功是因为我们使用的是远程开发人员。等等等等……  像这样的话每天我都能看见。  像这样的风言风语十分能蛊惑人心,它愚弄我们,让我们认为这是我们不能遇到阿拉丁的那个茶壶里的精灵的原因。终,...

    流言的近义词.docx

    流言蜚语的近义词众多,如风言风语、无稽之谈、飞短流长等,这些词汇所描述的现象,在技术领域同样存在,且往往与技术谣言、错误的编程技巧或误导性的技术趋势预测密切相关。 在技术飞速发展的今天,流言往往围绕着...

    沪版四年级语文下期中复习.doc

    (流)言(蜚)语 -> 风言风语、千言万语 接下来,我们要按照不同的要求列出相关的词语: (1)含有一个故事的成语:三顾茅庐、狐假虎威、亡羊补牢 (2)四个意思并列的字组成的词语:春夏秋冬、喜怒哀乐、酸甜苦辣 (3)...

    (中小学教育)中考常见易混成语辨析及难读字1.docx

    15. "风言风语"与"流言蜚语":前者无意,后者有意,后者多含贬义。 这些成语的辨析有助于学生在写作和阅读理解中准确使用成语,避免因混淆而造成的误解。同时,了解成语背后的故事和含义,也能丰富学生的词汇量和...

    读《当闲话象风一样吹来时》有感.doc

    《当闲话象风一样吹来时》这篇文章深深地触动了我,它以一个学生拾金不昧却遭误解的故事,揭示了现实生活中我们经常会遇到的一种...这样,我们才能在面对生活中的闲话和风言风语时,像风中的大树一样,坚韧而不动摇。

    三年级一字多义练习题(整理好的).doc

    - (1) "风言风语" - D、传说; - (2) "移风易俗" - A、风气,风俗; - (3) "风景优美" - B、景象; - (4) "作风" - C、态度。 10. **尽**: - (1) "尽心尽力" - C、全部用出; - (2) "取之不尽" - A、完; -...

    2013届高考语文第二轮专项复习 第二单元 语言知识及语言表达(中)教案

    - "无风不起浪,无根不长草":表示事情的发生总有原因,符合对于风言风语来源的解释。 - "不以为意":表示不把它放在心上,形容对小事的不在乎,用在这里恰当。 - "七手八脚":形容忙乱的样子,与"还在忙乎着"的场景...

    成语分类超级综合篇(7).docx

    - 带有"风'字的成语:风云变幻,风平浪静,风尘仆仆,风行一时,风驰电掣,风声鹤唳,风花雪月,风吹雨打,风吹草动,风言风语,风雨无阻,风雨交加,风雨同舟,风雨如晦,风雨飘摇,风和日丽,风度翩翩,风卷残云...

Global site tag (gtag.js) - Google Analytics