Tomcat与Servlet工作流程

原创 2015年06月26日 22:27:33

什么是Tomcat

    Tomcat服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器

什么是Servlet

    Servlet是在服务器上运行的小程序。,说白了Servlet就一个应用程序,用于提供服务。

什么是JSP

    JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计

 

    jsp的本质就是Servlet当将jsp部署到Tomcat上的时候,访问该页面的时候,会在tomcatwork\Catalina\localhost目录下产生*.java文件。

 

    如果单纯的用Servlet 的out.Println()来输出网页你肯定会发疯的 jsp就是为了解决这个问题而诞生的

 

    JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

 

 

通过了解以上的概念。来分析一下Servlet的执行过程。

 

Servlet的生命周期:

 

    Init()方法:Servlet的生命周期中,仅执行一次init()方法。在Tomcat服务器装入Servlet时执行的,负责初始化Servlet对象。可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet,都不会重复执行init()方法。

 

    Service()方法:也是Servlet的核心,负责响应客户的请求。

 

    经常看到Servlet里面有doGet()方法和doPost()方法。在这三个方法中。Servlet默认情况下,无论是get请求还是post请求,都会经过service()方法来处理,之后在转到对应的doGetdoPost方法上。

 

    Destroy()方法:仅执行一次,在服务器端停止且卸载Servlet时执行该方法。当Servlet对象退出生命周期时,负责释放占用的资源。一个Servlet在运行service()方法时可能会产生其他的线程,因此需要确认在调用destroy()方法时,这些线程已经终止或完成。

 

ServletTomcat上的执行流程:

 

    通过上面这个图,可以看出Servlet在接收client请求的时候,分别创建一个request对象和一个response对象。然后把HttpRequest对象与HttpResponse对象作为参数传给HttpServlet 对象。

 

创建Servlet对象的时机:

    1、Servlet容器启动时:读取web.xml配置文件中的信息,构造指定的Servlet对象,创建ServletConfig对象,同时将ServletConfig对象作为参数来调用Servlet对象的init方法。

    2、在Servlet容器启动后:客户首次向Servlet发出请求,Servlet容器会判断内存中是否存在指定的Servlet对象,如果没有则创建它,然后根据客户的请求创建HttpRequest、HttpResponse对象,从而调用Servlet对象的service方法。

    3、ServletServlet容器在启动时自动创建Servlet,这是由在web.xml文件中为Servlet设置的<load-on-startup>属性决定的。从中我们也能看到同一个类型的Servlet对象在Servlet容器中以单例的形式存在。

 

    通过了解了Servlet的声明周期以及执行过程。在修改调试Servlet的时候,才知道什么时候需要重新启动Tomcat,从而提高编码的速度。

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

Tomcat的安装与第一个servlet程序的部署

在前两天,终于进入到了servlet的学习,本来我的想法是先学习一下xml、ajax、jquery之后再来学习servlet,但是,把前面的三本教程一看,这的学到什么时候才能进入正题,索性直接进入se...
  • xn6517
  • xn6517
  • 2015年10月30日 20:41
  • 7236

Tomcat与Servlet之间的关系

Servlet(小服务程序)是一个与协议无关的、跨平台的Web组件,它基于Java技术开     发,由Servlet容器所管理。和运行在客户端浏览器中的Applet(小应用程序)相似,Servle...
  • u013770825
  • u013770825
  • 2014年03月02日 16:10
  • 3214

Servlet和Tomcat的基础知识

前言: Servlet是什么?Servlet容器是什么?Tomcat是什么?Tomcat的组成结构以及Tomcat的工作模式。 最近没事在翻《Tomcat与Java Web开发技术详解》,本文...
  • PirateLeo
  • PirateLeo
  • 2013年02月25日 22:47
  • 15899

Tomcat如何创建Servlet? Servlet的执行流程

Tomcat如何创建Servlet? A.先到缓存中寻找有没有这个对象 如果没有: 1、通过反射去创建相应的对象(执行构造方法)    2、tomcat会把对象存放到缓存中    3、执行初始...
  • chenmixuexi_
  • chenmixuexi_
  • 2017年06月23日 11:03
  • 531

深入理解Tomcat系列之六:Servlet工作原理

前言Servlet是Web开发中的核心技术,作为一名合格的开发人员,就必须清楚Servlet的工作原理。本章没有对Servlet技术本身进行详细的说明,只是针对开发过程中一次Servlet的请求的处理...
  • u011116672
  • u011116672
  • 2016年03月27日 21:31
  • 5529

JAVA学习篇--Servlet详解

servlet由来        做过BS项目的人都知道,浏览器能够根据HTML静态标记语言来显示各式各样的网页。但是如果我们需要在网页上完成一些业务逻辑:比如登陆验证。或者说网页显示的内容在服务器的...
  • hejingyuan6
  • hejingyuan6
  • 2014年06月12日 21:19
  • 40045

tomcat 部署,配置 servlet 过程全记录。

本人系菜鸟,刚刚学习servlet,感觉到编写servlet倒是不太难,但部署起来就晕了。在网上看了很多文章,最后终于搞定了,下面以菜鸟的角度(本人不是高手,嘿嘿 所以……)记录下部署的全过程,以备来...
  • shuidao
  • shuidao
  • 2007年08月11日 13:54
  • 8372

tomcat中Servlet的工作机制

在研究Servlet在tomcat中的工作机制前必须先看看Servlet规范的一些重要的相关规定,规范提供了一个Servlet接口,接口中包含的重要方法是init、service、destroy等方法...
  • wangyangzhizhou
  • wangyangzhizhou
  • 2016年08月22日 08:27
  • 5552

Tomcat版本与Servlet、JSP等版本的支持关系

http://tomcat.apache.org/whichversion.html Apache Tomcat Versions Apache Tomcat™ is an open sourc...
  • jackpk
  • jackpk
  • 2015年05月29日 14:39
  • 19478

对Servlet及tomcat关系的理解,以及Action与servletAPI的关系,以及httpServletRequest

看struts2权威指南时,遇到struts与servlet API的调用。不怎么理解,与同事讨论了一下。更迷惑了,研究了一阵子,原来自己对Servlet根本就不怎么明白。几经周折,终于柳暗花明了。。...
  • Truong
  • Truong
  • 2014年03月11日 22:13
  • 6933
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Tomcat与Servlet工作流程
举报原因:
原因补充:

(最多只允许输入30个字)