基本类和接口
一、javax.servlet.Servlet接口
servlet抽象集是javax.servlet.Servlet接口,它规定了必须由Servlet类实现由servlet引擎识别和管理的方法集。
Servlet接口的基本目标是提供生命期方法init()、service()和destroy()方法。
servlet接口中的方法
void init(ServletConfit config)throws ServletException 在servlet被载入后和实施服务前由servlet引擎进行?次性调用。如果init()产生溢出UnavailableException,则 servle退出服务。
ServletConfig getServletConfig() 返回传递到servlet的init()方法的ServletConfig对象
void service(ServletRequest request, ServletResponse response)throws ServletException,IOException 处理request对象中描述的请求,使用response对象返回请求结果
String getServletInfo() 返回描述servlet的一个字符串
void destory() 当servlet将要卸载时由servlet引擎调用
二、javax.servlet.GenericServlet类(协议无关版本)
GenericServlet是一种与协议无关的servlet,是一种跟本不对请求提供服务的servlet,而是简单地从init()方法启动后台线程并在destory()中杀死。它可以用于模拟操作系统的端口监控进程。
servlet API提供了Servlet接口的直接实现,称为GenericServlet。此类提供除了service()方法外所有接口中方法的缺省实现。这意味着通过简单地扩展GenericServlte可以编写一个基本的servlet。
除了Servlet接口外,GenericServlet也实现了ServletConfig接口,处理初始化参数和servlet上下文,提供对授权传递到init()方法中的ServletConfig对象的方法。
GenericServlet类中的方法
void destory() 编飞组成单词“destory”的一个注册入口
String getInitParameter(String name) 返回具有指定名称的初始化参数值。通过凋用config.getInitParameter(name)实现。
Enumeration getInitParameterNames() 返回此serv]et已编码的所有初始化参数的?个枚举类型值。调用config.getInitParameterNames()获得列表。如果未提供初始化参数,则返回?个空的枚举类型值(但不是null)
ServletConfig getServletConfig() 返回传递到init()方法的ServletConfig对象
ServletContext getServletContext() 返回在config对象中引用的ServletContext
String getServletInfo() 返回空字符串
void init(ServletConfig config)throws ServletException 在一实例变量中保存config对象。编写组成单词“init”的注册入口,然后调用方法init()
void init()throws ServletException 可以被跳过以处理servlet初始化.在config对象被保存后init(ServletConfig config)的结尾处自动被调用.servlet作者经常会忘记调用super.init(config)
void log(String msg) 编写注册servlet的入口.为此调用servlet上下文的log()方法.servlet的名字被加到消息文本的开头。
void log(String msg,Throwable t) 编写一个入口和servlet注册的栈轨迹。此方法也是ServletContext中相应方法的一个副本。
abstract void service(Request request,Response response)throws ServletException,IOException 由servlet引擎调用为请求对象描述的请求提供服务。这是GenericServlet中唯一的抽象方法。因此它也是唯一必须被子类所覆盖的方法。
String getServletName() 返回在Web应用发布描述器(web.xml)中指定的servlet的名字。
三、javax.servlet.http.HttpServlet类(HTTP版本)
虽然servlet API允许扩展到其它协议,但最终所有的servlet均在Web环境下实施操作,只有几种servlet直接扩展了GenericServlet。对servlet更一般的是扩展其HTTP子类HttpServlet。
HttpServlet 类通过调用指定到HTTP请求方法的方法实现service(),亦即对DELETE、HEAD、GET、OPTIONS、POST、PUT和 TRACE,分别调用doDelete()、doHead()、doGet()、doOptions()、doPost()、doPut()和 doTrace()方法,将请求和响应对象置入其HTTP指定子类。
HttpServlet类中的方法
Void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException 由servlet引擎调用用处理一个HTTP GET请求。输入参数、HTTP头标和输入流可从request对象、response头标和response对象的输出流中获得。
Void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException 由servlet引擎调用用处理一个HTTP POST请求。输入参数、HTTP头标和输入流可从request对象、response头标和response对象的输出流中获得。
Void doPut(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException 由servlet引擎调用用处理一个HTTP PUT请求。本方法中请求URI指出被载入的文件位置。
Void doDelete(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException 由servlet引擎调用用处理一个HTTP DELETE请求。请求URI指出资源被删除。
Void doOptions(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException 由servlet引擎调用用处理一个HTTP OPTIONS请求。返回一个Allow响应头标表明此servlet支持的HTTP方法。一个servlet不需要覆盖此方法,因为 HttpServlet方法已经实现规范所需的功能。
Void doTrace(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException 由servlet引擎调用用处理一个HTTP TRACE请求。使得请求头标被反馈成响应关标。一个servlet不需要覆盖此方法,因为HttpServlet方法已经实现HTTP规范所需的功能。
Void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException Service(Request request,Response response)调用的一个立即方法,带有指定HTTP请求和响应。此方法实际上将请求导向doGet()、doPost()等等。不应该覆盖此方法。
Void service(Request request,Response response)throws ServletException,IOException 将请求和响应对象置入其指定的HTTP子类,并调用指定HTTP的service()方法。
四、javax.servlet.ServletRequest类(协议无关版本)
ServletRequest接口封装了客户端请求的细节。它与协议无关,并有一个指定HTTP的子接口。
ServletRequest主要处理:
1.找到客户端的主机名和IP地址
2.检索请求参数
3.取得和设置属性
4.取得输入和输出流
ServletRequest类中的方法
Object getAttribute(String name) 返回具有指定名字的请求属性,如果不存在则返回null。属性可由servlet引擎设置或使用setAttribute()显式加入。
Enumeration getAttributeName() 返回请求中所有属性名的枚举。如果不存在属性,则返回一个空的枚举。
String getCharacteEncoding() 返回请求所用的字符编码。
Int getContentLength() 指定输入流的长度,如果未知则返回-1。
ServletInputStream getInputStream()throws IOException 返回与请求相关的(二进制)输入流。可以调用getInputStream()或getReader()方法之一。
String getParameter(String name) 返回指定输入参数,如果不存在,返回null。
Enumeration getParameterName() 返回请求中所有参数名的一个可能为空的枚举。
String[] getParameterValues(String name) 返回指定输入参数名的取值数组,如果取值不存在则返回null。它在参数具有多个取值的情况下十分有用。
String get Protocol() 返回请求使用协议的名称和版本。
String getScheme() 返回请求URI的子串,但不包含第一个冒号前的内容。
String getServerName() 返回处理请求的服务器的主机名。
String getServerPort() 返回接收主机正在侦听的端口号。
BufferedReader getReader()throws IOException 返回与请求相关输入数据的一个字符解读器。此方法与getInputStream()只可分别调用,不能同时使用。
String getRemoteAddr() 返回客户端主机的数字型IP地址。
String getRemoteHost() 如果知道,返回客户端主机名。
void setAttribute(String name,Object obj) 以指定名称保存请求中指定对象的引用。
void removeAttribute(String name) 从请求中删除指定属性
Locale getLocale() 如果已知,返回客户端的第一现场或者为null。
Enumeration getLocales() 如果已知,返回客户端的第一现场的一个枚举,否则返回服务器第一现场。
boolean isSecure() 如果请求使用了如HTTPS安全隧道,返回true
RequestDispatcher getRequestDispatcher(String name) 返回指定源名称的RequsetDispatcher对象。
相关推荐
### Servlet+API+中文版知识点解析 #### 一、Servlet基础概念 - **Servlet定义**:Servlet是一种Java技术,用于创建动态网页。它允许开发者在服务器端处理客户端请求,并生成响应。Servlet通常作为Web应用程序的...
`ServletAPI中文版.chm`是Servlet API的中文帮助文档,可以离线浏览,通过目录结构快速查找所需API信息。`servletAPI(HTML版)`可能是另一种格式的Servlet API文档,可能包含更详尽的HTML网页形式,适合在浏览器中...
JSP最终会被编译成Servlet,因此JSP和ServletAPI有着紧密的联系。 CHM文件是一种常见的帮助文档格式,它是Microsoft HTML Help的压缩格式,包含了索引、目录和HTML页面,便于离线查看。在这个案例中,Servlet API的...
这个压缩包包含Servlet API的中文版和英文版,为开发者提供了方便的学习资源。下面将详细介绍Servlet API的主要内容及其重要性。 1. **Servlet接口**:Servlet API的核心是Servlet接口,它定义了服务器端程序需要...
Servlet API是Java Web开发中的核心组件,主要用于构建动态web应用程序。这个API定义了一组接口和类,使得服务器端能够处理HTTP请求并返回响应。本文将详细介绍Servlet API中的关键概念和重要类,特别是`Servlet`...
包含翻译后的API文档:javax.servlet-api-4.0.0-javadoc-API文档-中文(简体)版.zip; Maven坐标:javax.servlet:javax.servlet-api:4.0.0; 标签:javax、servlet、api、中文文档、jar包、java; 使用方法:解压翻译...
这个文档是Servlet API的中文版,对于中文使用者来说,更便于理解和学习。 1. **Servlet 接口**:Servlet 接口是所有Servlet类的基础,它定义了Servlet必须实现的一系列方法。这些方法包括: - `init...
### Servlet API 中文版在线知识点解析 #### 一、Servlet API 概述 Servlet API 是一个为开发基于 Java 的 Web 应用程序提供标准接口的集合。它定义了一系列的类和接口,允许开发者创建高性能、可扩展的Web应用。...
这个压缩包文件包含了Servlet API的中文版文档,方便开发者理解和使用Servlet技术。 1. **Servlet概览** - Servlet是Java编程语言中的一种接口,它允许服务器动态扩展其功能,用于生成动态网页内容。 - Servlet ...
包含翻译后的API文档:jakarta.servlet-api-4.0.4-javadoc-API文档-中文(简体)版.zip; Maven坐标:jakarta.servlet:jakarta.servlet-api:4.0.4; 标签:servlet、api、jakarta、jar包、java、中文文档; 使用方法:...
在Servlet API 2.1的中文版文档中,可能包含以下内容: - Servlet的生命周期管理:详细解释了Servlet如何被加载、初始化、服务以及销毁的过程。 - 请求和响应处理:解释了如何通过HttpServletRequest和...
这是一份关于2.1版Java Servlet API的说明文档,作为对这本文档的补充。 1.2 谁需要读这份文档 这份文档描述了Java Servlet API的最新版本2.1版。所以,这本书对于Servlet的开发者及servlet引擎的开发者同样...
Servlet API 中文版.mhtServlet API 中文版.mhtServlet API 中文版.mhtServlet API 中文版.mhtServlet API 中文版.mht
### Java Servlet API中文版帮助文档知识点详解 #### 一、Java Servlet API简介 **Java Servlet API** 是一种标准的应用程序接口(API),主要用于构建能够处理客户端请求并生成动态Web内容的服务器端应用程序。该...
这个“Servlet API 中文参考 chm版.rar”文件包含了一份关于Servlet API的中文参考文档,对于学习和理解Servlet技术至关重要。以下是对Servlet API及其相关概念的详细解释: 1. **Servlet**: Servlet是一种Java类,...
这个"Servlet API中文版"帮助文档是Java和JSP开发者的重要参考资料,详细解释了Servlet API的各种接口、类和方法。 在Servlet API中,最重要的类之一是`javax.servlet.Servlet`,它是所有Servlet的抽象基类。...
JSP Servlet API中文CHM文件则提供了关于这个API的中文文档,帮助开发者理解和使用Servlet技术。在Java Web应用程序中,Servlet API扮演着服务器端编程的核心角色,允许开发者创建动态网页并处理来自客户端的请求。 ...
这个“Servlet API中文版”很可能是针对Java开发者的一份文档,提供了详细的中文解释,帮助开发者理解并使用Servlet技术。Servlet API主要包含在Java的`javax.servlet`和`javax.servlet.http`包中,它是Java标准版...