ServletAPI文档中文版.docx

上传人:b****6 文档编号:3785866 上传时间:2022-11-25 格式:DOCX 页数:10 大小:22.11KB
下载 相关 举报
ServletAPI文档中文版.docx_第1页
第1页 / 共10页
ServletAPI文档中文版.docx_第2页
第2页 / 共10页
ServletAPI文档中文版.docx_第3页
第3页 / 共10页
ServletAPI文档中文版.docx_第4页
第4页 / 共10页
ServletAPI文档中文版.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

ServletAPI文档中文版.docx

《ServletAPI文档中文版.docx》由会员分享,可在线阅读,更多相关《ServletAPI文档中文版.docx(10页珍藏版)》请在冰豆网上搜索。

ServletAPI文档中文版.docx

ServletAPI文档中文版

ServletAPI文档中文版

、javax.servlet.Servlet接口

servlet抽象集是javax.servlet.Servlet接口,它规定了必须由

Servlet类实现由servlet引擎识别和管理的方法集。

Servlet接口的基本目标是提供生命期方法init()、service。

和destroy。

方法。

servlet接口中的方法

voidinit(ServletConfitconfig)throwsServletException在

servlet被载入后和实施服务前由servlet引擎进行?

次性调用。

如果init()产生溢出UnavailableException,贝Uservle退出服务。

返回传递到servlet的init()方

ServletConfiggetServletConfig()法的ServletConfig对象

voidservice(ServletRequestrequest,ServletResponse

response)throwsServletException,IOException处理request对象中描述的

请求,使用response对象返回请求结果

StringgetServletInfo()返回描述servlet的一个字符串

voiddestory()当servlet将要卸载时由servlet引擎调用

类(协议无关版本)

、javax.servlet.GenericServlet

GenericServlet是一种与协议无关的servlet,是一种跟本不对请求提

供服务的servlet,而是简单地从init()方法启动后台线程并在destory()中杀死。

它可以用于模拟操作系统的端口监控进程。

servletAPI提供了Servlet接口的直接实现,称为GenericServlet。

此类提供除了service()方法外所有接口中方法的缺省实现。

这意味着通过简单地扩展GenericServlte可以编写一个基本的servlet。

除了Servlet接口外,GenericServlet也实现了ServletConfig接口,

处理初始化参数和servlet上下文,提供对授权传递到init()方法中的ServletConfig对象的方法。

GenericServlet类中的方法

voiddestory()编飞组成单词“destory”的一个注册入口

StringgetlnitParameter(Stringname)返回具有指定名称的初始化参

数值。

通过凋用config.getlnitParameter(name)实现。

EnumerationgetInitParameterNames()返回此serv]et已编码的所有

初始化参数的?

个枚举类型值。

调用config.getInitParameterNames()获得列

表。

如果未提供初始化参数,则返回?

个空的枚举类型值(但不是null)

ServletConfiggetServletConfig()返回传递到init()方法的

ServletConfig对象

ServletContextgetServletContext()返回在config对象中引用的

ServletContext

StringgetServletInfo()返回空字符串

voidinit(ServletConfigconfig)throwsServletException在一实例

变量中保存config对象。

编写组成单词“init”的注册入口,然后调用方法init()

voidinit()throwsServletException可以被跳过以处理servlet初始

化.在config对象被保存后init(ServletConfigconfig)的结尾处自动被调

用.servlet作者经常会忘记调用super.init(config)

voidlog(Stringmsg)编写注册servlet的入口.为此调用servlet上

下文的log()方法.servlet的名字被加到消息文本的开头。

voidlog(Stringmsg,Throwablet)编写一个入口和servlet注册的栈

轨迹。

此方法也是ServletContext中相应方法的一个副本。

abstractvoidservice(Requestrequest,Responseresponse)throwsServletException,IOException由servlet引擎调用为请求对象描述的请求提

供服务。

这是GenericServlet中唯一的抽象方法。

因此它也是唯一必须被子类所覆盖的方法。

StringgetServletName()返回在Web应用发布描述器(web.xml)中指定的servlet的名字。

三、javax.servlet.http.HttpServlet类(HTTP版本)

虽然servletAPI允许扩展到其它协议,但最终所有的servlet均在Web环境下实施操作,只有几种servlet直接扩展了GenericServlet。

对servlet更一般的是扩展其HTTP子类HttpServlet。

HttpServlet类通过调用指定到HTTP!

青求方法的方法实现service。

亦即对DELETEHEADGETOPTIONSPOSTPUT和TRACE分别调用doDelete()、doHead()、doGet()、doOptions()、doPost()、doPut()和doTrace()方法,将请求和响应对象置入其HTTP指定子类。

HttpServlet类中的方法

VoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException由servlet引擎调用用处理一个HTTPGET请求。

输入参数、HTTP头标和输入流可从request对象、response头标和response对象的输出流中获得。

VoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException由servlet引擎调用用处理一个HTTPPOST#求。

输入参数、HTTP头标和输入流可从request对象、response头标和response对象的输出流中获得。

VoiddoPut(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException由servlet引擎调用用处理一个HTTPPUT青求。

本方法中请求URI指出被载入的文件位置。

VoiddoDelete(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException由servlet引擎调用用处理一个HTTPDELETE!

求。

请求URI指出资源被删除。

VoiddoOptions(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException由servlet引擎调用用处理一个HTTPOPTION请求。

返回一个Allow响应头标表明此servlet支持的HTTP方法。

一个servlet不需要覆盖此方法,因为HttpServlet方法已经实现规范所需的功能。

VoiddoTrace(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException由servlet引擎调用用处理一个HTTPTRAC请求。

使得请求头标被反馈成响应关标。

一个servlet不需要

覆盖此方法,因为HttpServlet方法已经实现HTTP规范所需的功能。

Voidservice(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOExceptionService(Requestrequest,Responseresponse)调用的一个立即方法,带有指定HTTPi青求和响应。

此方法实际上将请求导向doGet()、doPost()等等。

不应该覆盖此方法。

Voidservice(Requestrequest,Responseresponse)throwsServletException,IOException将请求和响应对象置入其指定的HTTP子类,并

调用指定HTTP的service()方法。

四、javax.servlet.ServletRequest类(协议无关版本)

ServletRequest接口封装了客户端请求的细节。

它与协议无关,并有一个指定HTTP的子接口。

ServletRequest主要处理:

1.找到客户端的主机名和IP地址

2.检索请求参数

3.取得和设置属性

4.取得输入和输出流

ServletRequest类中的方法

ObjectgetAttribute(Stringname)返回具有指定名字的请求属性,如果不存在则返回null。

属性可由servlet引擎设置或使用setAttribute()显式加入。

EnumerationgetAttributeName()返回请求中所有属性名的枚举。

如果不存在属性,则返回一个空的枚举。

StringgetCharacteEncoding()返回请求所用的字符编码。

IntgetContentLength()指定输入流的长度,如果未知则返回-1。

ServletInputStreamgetInputStream()throwsIOException返回与请求相关的(二进制)输入流。

可以调用getInputStream()或getReader()方法之

一。

StringgetParameter(Stringname)返回指定输入参数,如果不存在,返回null。

EnumerationgetParameterName()返回请求中所有参数名的一个可能为空的枚举。

String[]getParameterValues(Stringname)返回指定输入参数名的取值数组,如果取值不存在则返回null。

它在参数具有多个取值的情况下十分有用。

StringgetScheme()返回请求URI的子串,但不包含第一个冒号前的内容。

StringgetServerName()返回处理请求的服务器的主机名。

StringgetServerPort()返回接收主机正在侦听的端口号。

BufferedReadergetReader()throwslOException返回与请求相关输入数据的一个字符解读器。

此方法与getInputStream()只可分别调用,不能同时使用。

StringgetRemoteAddr()返回客户端主机的数字型IP地址。

StringgetRemoteHost()如果知道,返回客户端主机名。

voidsetAttribute(Stringname,Objectobj)以指定名称保存请求中

指定对象的引用。

voidremoveAttribute(Stringname)从请求中删除指定属性

LocalegetLocale()如果已知,返回客户端的第一现场或者为null。

EnumerationgetLocales()如果已知,返回客户端的第一现场的一个枚

举,否则返回服务器第一现场。

booleanisSecure()如果请求使用了如HTTPS^全隧道,返回true

RequestDispatchergetRequestDispatcher(Stringname)返回指定源

名称的RequsetDispatcher对象。

Trackback:

http:

//tb.blog.csdn.net/TrackBack.aspx?

Postld=1681301

五、javax.servlet.http.HttpServletRequest接口(HTTP版本)

HttpServletRequest类主要处理:

1•读取和写入HTTP头标

2.取得和设置cookies

3.取得路径信息

4.标识HTTP会话。

HttpServletRequest接口中的方法

StringgetAuthType()如果servlet由一个鉴定方案所保护,如HTTP基本鉴定,则返回方案名称。

StringgetContextPath()返回指定servlet上下文(web应用)的URL的前缀。

Cookie[]getCookies()返回与请求相关cookie的一个数组。

LonggetDateHeader(Stringname)将输出转换成适合构建Date对象的long类型取值的getHeader()的简化版。

StringgetHeader(Stringname)返回指定的HTTP头标指。

如果其由请求给出,则名字应为大小写不敏感。

EnumerationgetHeaderNames()返回请求给出的所有HTTP头标名称的

权举值。

EnumerationgetHeaders(Stringname)返回请求给出的指定类型的所有HTTP头标的名称的枚举值,它对具有多取值的头标非常有用。

intgetIntHeader(Stringname)将输出转换为int取值的getHeader()的简化版。

StringgetMethod()返回HTTP请求方法(例如GETPOST等等)

StringgetPathInfo()返回在URL中指定的任意附加路径信息。

StringgetPathTranslated()返回在URL中指定的任意附加路径信息,

被子转换成一个实际路径。

StringgetQueryString()返回查询字符串,即URL中?

后面的部份。

StringgetRemoteUser()如果用户通过鉴定,返回远程用户名,否则为null。

StringgetRequestedSessionId()返回客户端的会话ID

StringgetRequestURI()返回URL中一部分,从“/”开始,包括上下

文,但不包括任意查询字符串。

StringgetServletPath()返回请求URI上下文后的子串

HttpSessiongetSession()调用getSession(true)的简化版。

HttpSessiongetSession(booleancreate)返回当前HTTP会话,如果

不存在,则创建一个新的会话,create参数为true。

PrincipalgetPrincipal()如果用户通过鉴定,返回代表当前用户的java.security.Principal对象,否则为null。

booleanisRequestedSessionIdFromCookie()如果请求的会话ID由一个Cookie对象提供,则返回true,否则为false。

booleanisRequestedSessionIdFromURL()如果请求的会话ID在请求URL中解码,返回true,否则为false

booleanisRequestedSessionIdValid()如果客户端返回的会话ID仍然有效,则返回true。

BooleanisUserInRole(Stringrole)如果当前已通过鉴定用户与指定

角色相关,则返回true,如果不是或用户未通过鉴定,则返回false。

六、javax.servlet.ServletResponse接口(协议无关版本)

ServletResponse对象将一个servlet生成的结果传到发出请求的客户端。

ServletResponse操作主要是作为输出流及其内容类型和长度的包容器,它由servlet引擎创建.

ServletResponse接口中的方法

voidflushBuffer()throwsIOException发送缓存到客户端的输出内

容。

因为HTTP需要头标在内容前被发送,调用此方法发送状态行和响应头标,以确认请求。

intgetBufferSize()返回响应使用的缓存大小。

如果缓存无效则返加0。

StringgetCharacterEncoding()返回响应使用字符解码的名字。

除非显式设置,否则为ISO-8859-1

LocalegetLocale()返回响应使用的现场。

除非用setLocale()修改,否则缺省为服务器现场。

OutputStreamgetOutputStream()throwsIOException返回用于将返回的二进制输出写入客户端的流,此方法和getWrite()方法二者只能调用其一。

WritergetWriter()throwsIOException返回用于将返回的文本输出写入客户端的一个字符写入器,此方法和getOutputStream()二者只能调用其一。

booleanisCommitted()如果状态和响应头标已经被发回客户端,则返回true,在响应被确认后发送响应头标毫无作用。

voidreset()清除输出缓存及任何响应头标。

如果响应已得到确认,则引发事件IllegalStateException。

voidsetBufferSize(intnBytes)设置响应的最小缓存大小。

实际缓存大小可以更大,可以通过调用getBufferSize()得到。

如果输出已被写入,则产生IllegalStateException。

voidsetContentLength(intlength)设置内容体的长度。

voidsetContentType(Stringtype)设置内容类型。

在HTTPservlet中即设置Content-Type头标。

voidsetLocale(Localelocale)设置响应使用的现场。

在HTTPservlet中,将对Content-Type头标取值产生影响。

七、javax.servlet.http.HttpServletResponse接口(HTTP版本)

HttpServletResponse加入表示状态码、状态信息和响应头标的方法,它还负责对URL中写入一Web页面的HTTP会话ID进行解码。

HttpServletResponse接口中的方法

voidaddCookie(Cookiecookie)将一个Set-Cookie头标加入到响应。

voidaddDateHeader(Stringname,longdate)使用指定日期值加入带有指定名字(或代换所有此名字头标)的响应头标的方法。

voidsetHeader(Stringname,Stringvalue)设置具有指定名字和取值的一个响应头标。

voidaddIntHeader(Stringname,intvalue)使用指定整型值加入带有指定名字的响应头标(或代换此名字的所有头标)。

booleancontainsHeader(Stringname)如果响应已包含此名字的头标,则返回true。

StringencodeRedirectURL(Stringurl)如果客户端不知道接受

cookid,则向URL加入会话ID。

第一种形式只对在sendRedirect()中使用的URL进行调用。

其他被编码的URLs应被传递到encodeURL()

StringencodeURL(Stringurl)

voidsendError(intstatus)设置响应状态码为指定值(可选的状态信息)。

HttpServleetResponse定义了一个完整的整数常量集合表示有效状态值。

voidsendError(intstatus,Stringmsg)

voidsetStatus(intstatus)设置响应状态码为指定指。

只应用于不产生错误的响应,而错误响应使用sendError()。

八、javax.servlet.ServletContext接口

一个servlet上下文是servlet引擎提供用来服务于Web应用的接口。

Servlet上下文具有名字(它属于Web应用的名字)唯一映射到文件系统的一个目录。

一个servlet可以通过ServletConfig对象的getServletContext()方法得到servlet上下文的引用,如果servlet直接或间接调用子类GenericServlet,则可以使用getServletContext()方法。

Web应用中servlet可以使用servlet上下文得到:

1.在调用期间保存和检索属性的功能,并与其他servlet共享这些属性。

2•读取Web应用中文件内容和其他静态资源的功能。

3.互相发送请求的方式。

4.记录错误和信息化消息的功能。

ServletContext接口中的方法

ObjectgetAttribute(Stringname)返回servlet上下文中具有指定名字的对象,或使用已指定名捆绑一个对象。

从Web应用的标准观点看,这样的对象

是全局对象,因为它们可以被同一servlet在另一时刻访问。

或上下文中任意其他servlet访问。

设置servlet上下文中

voidsetAttribute(Stringname,Objectobj)具有指定名字的对象。

EnumerationgetAttributeNames()返回保存在servlet上下文中所有属性名字的枚举。

ServletContextgetContext(Stringuripath)返回映射到另一URL的

serv

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1