一、什么是Servlet?

Servlet是执行Webserver上的一个特殊Java类。其特殊用途是响应client请求并做出处理。使得client与server端进行交互。

二、生命周期 

Servlet生命周期是通过Web容器控制。主要分为下面几个阶段:

    1. 创建servlet的实例
    2. 初始化阶段,调用init()方法
    3. 响应请求。调用service()方法
    4. 销毁实例,调用destroy()方法
    5. 实例垃圾回收,调用finalize()方法

 三、Servlet中几个重要的方法:

在Servlet生命周期中。servlet的初始化(init())和销毁阶段(destroy())仅仅运行一次。Servic()方法是servlet的核心,主要是用来接收client请求并返回结果给client,每次client请求过来都被调用Service()方法,而且传递个这种方法一个“请求(servletRequest)对象和一个响应(servletResponse)对象做为參数”。

doGet()方法

当接收到Get请求时,Servlet的doGet()方法被调用。与GET 请求相关的參数加入到URL的后面,并与这个请求一起发送。

当不会改动server端的数据时,应该使用doGet()方法。

doPost()方法

当接收到Post请求时,Servlet的doPost()方法被调用。与POST请求相关的參数作为一个单独的HTTP 请求从浏览器发送到server。当须要改动server端的数据时。应该使用doPost()方法。

 四、Servlet中的类:

ServletRequestServletReponse在client请求过来的时候,调用Servlet时传递过来的。

其实,我们在创建Servlet类时通常使用的是HttpServletRequest和HttpServletReponse。他们分别代表从client而来的Http请求和处理请求的响应结果

ServletConfig:从图上能够看出,当初始化一个Servlet对象时,就会为这个对象创建一个ServletConfig对象,在ServletConfig对象中包括了Servlet初始化參数信息。此外,Servlet容器在调用servlet对象的init(servletconfig)方法时,会把servletConfig对象当做參数进行传递给Servlet。

ServletConfig接口提供方法,该方法返回:servlet名、Servlet上下文。初始化參数

ServletContext:是Servlet和Servlet容器之间进行通信的接口,其原理看下图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWluZ3h1YW55dW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

ServletContext存在于Web应用其中,当启动一个Web应用时,会自己主动创建一个ServletContext对象。

每个Web应用相应一个ServletContext对象。在Web应用其中能够存放Servlet或JSP。ServletContext提供全局訪问。即全部的对象能够共享一个ServletContext。Servlet对象能够通过getServletContext()方法訪问和操作容器中的各种资源。

ServletConfig 与 ServletContext的差别

  1.作用范围:ServletContext作用于整个Web应用(相当于全局变量)ServletConfig作用于某个特定的Servlet对象。其它的Servlet不能訪问。(相当于局部变量)

2.參数的訪问:ServletContext包括在ServletConfig中,在訪问ServletContext时先调用ServletConfig中的getServletConfig()方法,得到里面的getServletContext()方法。然后再调用getInitParameter()方法就能够获取它的參数。

訪问ServletConfig參数,仅仅须要调用getServletConfig()方法。然后调用getInitParameter()方法就可以。

总结:Servlet技术是JSP技术的基础。都是一种server端技术,是一种client与server反映的端部之间的相互作用。Servlet其核心是Service()方法。Service()调度请求的方法doGest(),doPost()处理。

J2EE请求和响应—Servlet的更多相关文章

  1. HeadFirst Jsp 04 (请求和响应作为servlet)

    servlet 的存在就是为了客服服务, servlet的任务是得到一个客户的请求, 再发回一个响应. 由上图可知, web 容器会在启动后就加载所有的servlet类, 并为之创建实例和初始化 注意 ...

  2. Java Servlet (1) —— Filter过滤请求与响应

    Java Servlet (1) -- Filter过滤请求与响应 版本: Java EE 6 参考来源: Oracle:The Java EE 6 Tutorial: Filtering Reque ...

  3. 对Servlet请求或响应进行JMockit测试

    对Servlet请求及响应进行mock方法, 通过getMockInstance方法对servlet进行打桩,对servlet提供的方法进行mock,替代真正的servlet请求或响应. 参考链接: ...

  4. Servlet请求和响应

    在Java Web中Servlet.请求和响应是最基本的三个对象,在Web容器的管理下,这三者能够完成基本的HTTP请求处理. Servlet的作用是为客户提供服务.servlet的角色是接受一个客户 ...

  5. Java Web之请求和响应

    Servlet最主要作用就是处理客户端请求并作出回应,为此,针对每次请求,Web容器在调用service()之前都会创建两个对象,分别是HttpServletRequest和HttpServletRe ...

  6. struts2基础——请求与响应、获取web资源

    一.请求与响应 Action1.含义:(1) struts.xml 中的 action 元素,也指 from 表单的 action 属性,总之代表一个 struts2 请求.(2) 用于处理 Stru ...

  7. 浏览器-Tomcat服务器-请求与响应

    浏览器访问服务器,本质就是请求资源. 比如请求静态资源:index.html,我们在浏览器地址栏输入:www.a.com/index.html,浏览器为了支持HTTP协议,发送的数据必须符合HTTP协 ...

  8. http请求头响应头大全

    转:http://www.jb51.net/article/51951.htm 本文为多篇“HTTP请求头相关文章”及<HTTP权威指南>一书的阅读后个人汇总整理版,以便于理解. 通常HT ...

  9. Axis2(10):使用soapmonitor模块监视soap请求与响应消息

    在Axis2中提供了一个Axis2模块(soapmonitor),该模块实现了与<WebService大讲堂之Axis2(9):编写Axis2模块(Module)>中实现的logging模 ...

随机推荐

  1. 自适应滤波器(Adaptive Filter)

    ======= Wikipedia的解释 ======= 自适应滤波器是能够根据输入信号自动调整性能进行数字信号处理的数字滤波器.作为对比,非自适应滤波器有静态的滤波器系数,这些静态系数一起组成传递函 ...

  2. C++中出现的计算机术语1

    access labels(訪问标号) 类的成员能够定义为 private,这能够防止使用该类型的代码訪问该成员. 成员还能够定义为 public,这将使该整个程序中都可訪问成员.  address( ...

  3. Android动态布局,并动态为TextView控件设置drawableLeft、drawableRight等属性加入图标

    注:(图中每个条目和图标都是由代码动态生成) 代码动态布局,并须要为每个条目设置图标,此时用到了 android:drawableLeft="@drawable/icon"  父x ...

  4. ANR的一个实例分析

    ANR是android经常出的超时提示,以前看过一个帖子,内容是mediaplayer在release的时候出的ANR,作者也是出了方法,什么加handler之类的. 最后都么有解决,咱们先看看那位同 ...

  5. hdu2647 逆拓扑,链式前向星。

    pid=2647">原文地址 题目分析 题意 老板发工资,可是要保证发的工资数满足每一个人的期望,比方A期望工资大于B,仅仅需比B多1元钱就可以.老板发的最低工资为888元.输出老板最 ...

  6. 参数传递方法(Delphi1.0与win16API使用pascal方法,即从左到右)

    参数传递方法李维的InsideVCL<第一章>中提到Windows定义的回调函数typedef LRESULT (CALLBACK*WNDPROC)(HWND,UNIT,WPARAM,LP ...

  7. Python语言总结 4.2. 和字符串(str,unicode等)处理有关的函数

    4.2.7. 去除控制字符:removeCtlChr Python语言总结4.2. 和字符串(str,unicode等)处理有关的函数Sidebar     Prev | Up | Next4.2.7 ...

  8. POJ 2318 TOYS(计算几何)

    跨产品的利用率推断点线段向左或向右,然后你可以2分钟 代码: #include <cstdio> #include <cstring> #include <algorit ...

  9. IE 兼容模式

    兼容模式的由来 早期的浏览器, IE 独大.这也就导致其很多东西和w3c 的标准有很多不一样的地方.譬如他有自己才看的懂得自定义Tag. 一个熟悉的名词--浏览器大战, 形象的刻画了这期间发生的事情. ...

  10. hdu1565+hdu1569(最大点权独立集)

    传送门:hdu1565 方格取数(1) 传送门:hdu1569 方格取数(2) 定理:1. 最小点权覆盖集=最小割=最大流2. 最大点权独立集=总权-最小点权覆盖集 步骤: 1. 先染色,取一个点染白 ...