`
sakakokiya
  • 浏览: 515989 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Servlet都有哪些方法?主要作用是什么?

阅读更多
HttpServlet 类包含 init() 、 destroy() 、 service() 等方法。其中 init() 和 destroy() 方法是继承的。
(1) init() 方法
在 Servlet 的生命期中,仅执行一次 init() 方法。它是在服务器装入 Servlet 时执行的。 可以配置服务器,以在启动服务器或客户机首次访问 Servlet 时装入 Servlet 。 无论有多少客户机访问 Servlet ,都不会重复执行 init() 。
缺省的 init() 方法通常是符合要求的,但也可以用定制 init() 方法来覆盖它,典型的是管理服务器端资源。 例如,可能编写一个定制 init() 来只用于一次装入 GIF 图像,改进 Servlet 返回 GIF 图像和含有多个客户机请求的性能。另一个示例是初始化数据库连接。缺省的 init() 方法设置了 Servlet 的初始化参数,并用它的 ServletConfig 对象参数来启动配置, 因此所有覆盖 init() 方法的 Servlet 应调用 super.init() 以确保仍然执行这些任务。在调用 service() 方法之前,应确保已完成了 init() 方法。
(2) service() 方法
service() 方法是 Servlet 的核心。每当一个客户请求一个 HttpServlet 对象,该对象的 service() 方法就要被调用,而且传递给这个方法一个“请求”( ServletRequest )对象和一个“响应”( ServletResponse )对象作为参数。 在 HttpServlet 中已存在 service() 方法。缺省的服务功能是调用与 HTTP 请求的方法相应的 do 功能。例如, 如果 HTTP 请求方法为 GET ,则缺省情况下就调用 doGet() 。 Servlet 应该为 Servlet 支持的 HTTP 方法覆盖 do 功能。因为 HttpServlet.service() 方法会检查请求方法是否调用了适当的处理方法,不必要覆盖 service() 方法。只需覆盖相应的 do 方法就可以了。
= 当一个客户通过 HTML 表单发出一个 HTTP POST 请求时, doPost ()方法被调用。 与 POST 请求相关的参数作为一个单独的 HTTP 请求从浏览器发送到服务器。当需要修改服务器端的数据时,应该使用 doPost() 方法。
= 当一个客户通过 HTML 表单发出一个 HTTP GET 请求或直接请求一个 URL 时, doGet() 方法被调用。 与 GET 请求相关的参数添加到 URL 的后面,并与这个请求一起发送。当不会修改服务器端的数据时,应该使用 doGet() 方法。
Servlet 的响应可以是下列几种类型:
一个输出流,浏览器根据它的内容类型(如 text/HTML )进行解释。
一个 HTTP 错误响应 , 重定向到另一个 URL 、 servlet 、 JSP 。
(3) destroy() 方法
destroy() 方法仅执行一次,即在服务器停止且卸装 Servlet 时执行该方法。典型的,将 Servlet 作为服务器进程的一部分来关闭。缺省的 destroy() 方法通常是符合要求的,但也可以覆盖它,典型的是管理服务器端资源。例如,如果 Servlet 在运行时会累计统计数据,则可以编写一个 destroy() 方法,该方法用于在未装入 Servlet 时将统计数字保存在文件中。另一个示例是关闭数据库连接。
当服务器卸装 Servlet 时,将在所有 service() 方法调用完成后,或在指定的时间间隔过后调用 destroy() 方法。一个 Servlet 在运行 service() 方法时可能会产生其它的线程,因此请确认在调用 destroy() 方法时,这些线程已终止或完成。
(4) GetServletConfig()方法
GetServletConfig ()方法返回一个 ServletConfig 对象,该对象用来返回初始化参数和 ServletContext 。 ServletContext 接口提供有关 servlet 的环境信息。
(5) GetServletInfo()方法
GetServletInfo ()方法是一个可选的方法,它提供有关 servlet 的信息,如作者、版本、版权。
当服务器调用 sevlet 的 Service ()、 doGet ()和 doPost ()这三个方法时,均需要 “请求”和“响应”对象作为参数。“请求”对象提供有关请求的信息,而“响应”对象提供了一个将响应信息返回给浏览器的一个通信途径。 javax.servlet 软件包中的相关类为 ServletResponse 和 ServletRequest ,而 javax.servlet.http 软件包中的相关类为 HttpServletRequest 和 HttpServletResponse 。 Servlet 通过这些对象与服务器通信并最终与客户机通信。 Servlet 能通过调用“请求”对象的方法获知客户机环境,服务器环境的信息和所有由客户机提供的信息。 Servlet 可以调用“响应”对象的方法发送响应,该响应是准备发回客户机的。
分享到:
评论

相关推荐

    jsp有哪些内置对象?作用分别是什么?分别有什么方法?

    主要方法有`setStatus()`, `setHeader()`, `getOutputStream()`或`getWriter()`用于输出响应。 3. **pageContext**:`PageContext`对象提供了访问JSP页面所有范围内变量的能力,包括request, session, application...

    华为招聘Java面试题:概念题:1. 描述Struts体系结构?对应各个部分的开发工作主要包括哪些?2. JSP有哪些内置对象和动作?它们的作用分别是什么?……

    每个动作标签都有其特定的作用和应用场景: - **`<jsp:include>`**:用于包含静态文件或动态页面,不会中断当前页面的执行。 - **`<jsp:param>`**:常与`<jsp:include>`配合使用,向被包含页面传递参数。 - **`...

    servlet相关的实例(共三个包)第一包

    Servlet生命周期包括初始化、服务、销毁三个阶段,其中,`init()`方法用于初始化,`service()`方法处理请求,而`destroy()`方法则在Servlet不再使用时清理资源。 接下来,我们关注JSP与Servlet的关系。JSP是一种...

    Servlet接口及方法

    本文档主要介绍了`Servlet`接口及其相关方法,以及`RequestDispatcher`接口的功能与作用。通过理解这些接口和方法,开发者可以更好地设计和实现自己的Servlet组件。 #### 二、RequestDispatcher接口 `...

    Servlet实验报告.pdf

    本实验报告的主要目的是掌握 Servlet 应用,熟悉 web 开发的 MVC 模式,了解 servlet 的工作流程和作用,并掌握 servlet 的方法 init()、destory()、doGet()、doPost()。 一、实验目的 1. 掌握 Servlet 应用,熟悉...

    JSP/Servlet Java面试逻辑题

    7、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 答:JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是类servlet。Servlet和JSP最主要的不同点在于,Servlet...

    servlet教程ppt讲解

    Servlet的主要作用是在服务器上运行,处理来自HTTP客户端的请求,并生成相应的响应。Servlet的框架主要由`javax.servlet`和`javax.servlet.http`两个包组成。`javax.servlet`包提供了所有Servlet需要实现的基础接口...

    Servlet 工作原理解析

    本文将详细解析Servlet的工作原理,包括Servlet API的基本概念、Tomcat作为Servlet容器的作用以及Servlet的生命周期等关键知识点。 首先,Servlet API是一组用于编写Servlet的Java接口和类。它是Java EE的一部分,...

    Servlet-Servlet生命周期

    通过本文的学习,我们不仅掌握了Servlet生命周期的概念,还深入了解了各个阶段的作用和意义。此外,我们还通过实际代码示例进一步加深了对Servlet工作原理的理解。在实际开发过程中,合理利用Servlet的生命周期特性...

    servlet的详细介绍

    Servlet是Java平台上的一个核心技术,它主要用于开发Web应用程序,特别是在B/S(浏览器/服务器)架构下。Servlet是一个Java对象,遵循Sun指定的J2EE规范,它扩展了Web服务器的功能,使得服务器能够处理HTTP请求并...

    servlet原理和实践

    11. **自定义Servlet方法** `doGet()`和`doPost()`是Servlet中最常用的方法,分别对应HTTP的GET和POST请求。你可以覆盖这些方法来实现特定的业务逻辑。 12. **获取用户输入** 通过`HttpServletRequest`对象,你...

    Servlet

    Servlet接口定义了三个主要方法:`init()`、`service()` 和 `destroy()`。这些方法构成了Servlet生命周期的主要部分。 - **`init()`** 方法:当Servlet第一次被加载到服务器时调用。这个方法通常用来完成初始化工作...

    Servlet笔记

    - Cookie的作用域:一个Servlet/JSP设置的Cookie能够被同一个路径下面或者子路径下面的Servlet/JSP读取。 - **Session**:更复杂的会话管理机制,用于跟踪用户在整个Web应用程序中的活动。通过`HttpSession`接口来...

    学习servlet,jsp,usebean,数据库封装的不错方法

    在Java Web开发中,Servlet、JSP(JavaServer Pages)和UseBean是核心的技术组件,它们主要用于构建动态网站。这个未完成的个人留言板项目恰好涵盖了这些技术,让我们深入了解一下它们。 1. **Servlet**: Servlet...

    servlet aip中文帮助

    【Servlet API 中文帮助概述】 Servlet API 是 Java 平台上的一个核心组件,...这份中文帮助文档是学习和查阅 Servlet API 的宝贵资料,对于理解Servlet的生命周期、处理流程以及配置管理等方面都有着重要的指导作用。

    servlet生命周期详解

    Servlet生命周期是Java Web开发中的核心概念,它涵盖了Servlet从创建到销毁的整个过程,主要分为初始化阶段、运行阶段和销毁阶段。这个过程完全由Servlet容器(如Tomcat、Jetty等)管理。 **初始化阶段** 在初始化...

    servlet-api 源码

    Servlet接口是Servlet API的核心,所有Servlet都必须实现这个接口。它包含`service()`方法,该方法由容器(如Tomcat、Jetty)调用,用于处理客户端的请求。`service()`方法会根据请求类型(GET、POST等)调用相应的`...

    servlet-api.jar 下载地址

    在本文中,我们将深入探讨Servlet API的核心概念、作用以及如何下载和使用servlet-api.jar。 1. **Servlet API概述** Servlet API是Java Servlet规范的一部分,定义了服务器端程序(Servlet)与Web服务器之间交互...

    达内培训课件-Servlet

    Servlet在Java Web应用中的作用主要有以下几点: 1. **请求处理**:Servlet通过实现Servlet接口或GenericServlet抽象类,可以拦截并处理HTTP请求,提供动态网页服务。 2. **数据交互**:Servlet可以与数据库进行交互...

    如何在Eclipse中添加Servlet-api.jar的方法

    ### 如何在Eclipse中添加Servlet-api.jar的方法 #### 知识点概述: 1. **Eclipse集成开发环境介绍** 2. **Servlet基础知识** 3. **Tomcat服务器简介** 4. **Servlet API的作用** 5. **如何在Eclipse中配置外部JAR...

Global site tag (gtag.js) - Google Analytics