JSPRequest和Response对象

上传人:碎****木 文档编号:220862297 上传时间:2021-12-09 格式:DOCX 页数:3 大小:16.76KB
返回 下载 相关 举报
JSPRequest和Response对象_第1页
第1页 / 共3页
JSPRequest和Response对象_第2页
第2页 / 共3页
JSPRequest和Response对象_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《JSPRequest和Response对象》由会员分享,可在线阅读,更多相关《JSPRequest和Response对象(3页珍藏版)》请在金锄头文库上搜索。

1、JSPRequest 和 Response 对象在前面的内容中,已经介绍 Request 和Response 对象,而在 Servlet 中还包含有类似的 ServletRequest 和 ServletResponse 对象,它们也是用来接收客户端恳求和响应客户端的。1. ServletRequest 对象 ServletRequest 对象是一个公共接口类继承自ServletRequest。客户端扫瞄器发出的恳求被封装成为一个 ServletRequest 对象,全部的信息包括恳求的地址、恳求的参数、提交的数据、上传的文件、客户端的IP 地址,以及甚至客户端操作系统都包含在其内。下面列出了

2、该对象包含的方法:l getAuthType返回这个恳求的身份验证模式。l getCookies返回一个数组,该数组包含这个恳求中当前的全部cookie。假设这个恳求中没有 cookie,返回一个空数组。l getDateHeader返回指定的恳求头部的值,这个值被转换成一个反映自 1970-1-1 日 GMT 以 来 的 精 确 到 毫 秒 的 长 整 数 。 如 果 头 部 不 能 转 换 , 抛 出 一 个IllegalArgumentException。假设这个恳求头部不存在,那么方法返回-1。l getHeader返回一个恳求头部的值,与上述方法不同的是,该方法返回一个字符串。假设这

3、个恳求头部不存在,这个方法返回-1。l getHeaderNames该方法返回一个 String 对象的列表,该列表反映恳求的全部头部名。有的引擎可能不允许通过这种方法访问头部,在这种状况下,这个方法返回一个空的列表。l getIntHeader返回指定的恳求头部的值,这个值被转换成一个整数。假设头部不能转换,抛出一个 IllegalArgumentException。假设这个恳求头部不存在,这个方法返回-1。l getMethod返回这个恳求使用的 方法,如 GET、POST、PUT。l getPathInfo 这个方法返回在这个恳求的 URL 的 Servlet 路径之后的恳求 URL 的

4、额外的路径信息。假设这个恳求URL 包括一个查询字符串,在返回值内将不包括这个查询字符串。这个路径在返回之前必需经过 URL 解码。假设在这个恳求的 URL 的 Servlet 路径之后没有路径信息。这个方法返回空值。l getPathTranslated 这个方法获得这个恳求的 URL 的 Servlet 路径之后的额外的路径信息,并将它转换成一个真实的路径。在进展转换前,这个恳求的 URL 必需经过 URL 解码。假设在这个 URL 的 Servlet 路径之后没有附加路径信息。这个方法返回空值。l getQueryString返回这个恳求URL 所包含的查询字符串。一个查询字串符在一个

5、URL中由一个“?”引出。假设没有查询字符串,这个方法返回空值。l getRemoteUser返回作了恳求的用户名,这个信息用来作 用户论证。假设在恳求中没有用户名信息,这个方法返回空值。l getRequestedSessionId返回这个恳求相应的 session id。假设由于某种缘由客户端供给的 session id 是无效的,这个 session id 将与在当前 session 中的 session id 不同,与此同时,将建立一个新的 session。假设这个恳求没与一个 session 关联,这个方法返回空值。l getRequestURI从 恳求的第一行返回恳求的 URL 中

6、定义被恳求的资源的局部。假设有一个查询字符串存在,这个查询字符串将不包括在返回值当中。例如,一个恳求通过 /catalog/books?id=1 这样的 URL 路径访问,这个方法将返回/catalog/books。这个方法的返回值包括了 Servlet 路径 和路径信息。假设这个URL 路径中的的一局部经过了 URL 编码,这个方法的返回值在返回之前必需经过解码。l getServletPath 这个方法返回恳求 URL 反映调用 Servlet 的局部。例如,一个 Servlet 被映射到/catalog/summer 这个 URL 路径,而一个恳求使用了/catalog/summer/c

7、asual 这样的路径。所谓的反映调用Servlet 的局部就是指/catalog/summer。假设这个Servlet 不是通过路径匹配来调用。这个方法将返回一个空值。l getSession包含 getSession()和 getSession(boolean create)两种方法,返回与这个恳求关联的当前的有效的 session。假设调用这个方法时没带参数,那么在没有 session 与这个恳求关联的状况下,将会新建一个 session。假设调用这个方法时带入了一个布尔型的参数,只有当这个参数为真时,session 才会被建立。为了确保 session 能够被完全维持。Servlet

8、开发者必需在响应被提交之前调用该方法。假设带入的参数为假,而且没有session 与这个恳求关联。这个方法会返回空值。l isRequestedSessionIdValid这个方法检查与此恳求关联的 session 当前是不是有效。如果当前恳求中使用的 session 无效,它将不能通过 getSession 方法返回。l isRequestedSessionIdFromCookie假设这个恳求的 session id 是通过客户端的一个cookie 供给的,该方法返回真,否那么返回假。l isRequestedSessionIdFromURL假设这个恳求的session id是通过客户端的U

9、RL的一局部供给的,该方法返回真,否那么返回假。2. ServletResponse 对象protected void service( ServletRequest req, ServletResponse resp) throws ServletException, IOException ServletResponse 对象是继承了 ServletResponse 的接口, Servlet 类的重载 service()、doGet()和 doPost()等方法,都有一个 ServletResponse 类型参数。 ServletResponse 对象供给了与 协议相关的一些方法,Serv

10、let 可通过这些方法来设置 响应头部向客户端写Cookie。下面列出该对象中,所包含的一些常用方法:l addCookie 在响应中增加一个指定的 cookie。可屡次调用该方法以定义多个 cookie。为了设置适当的头部,该方法应当在响应被提交之前调用。l containsHeader 检查是否设置了指定的响应头部。l encodeRedirectURL 对sendRedirect 方法使用的指定URL 进展编码。假设不需要编码, 就直接返回这个 URL。之所以供给这个附加的编码方法,是由于在 redirect 的状况下, 打算是否对 URL 进展编码的规章和一般状况有所不同。所给的 UR

11、L 必需是一个确定URL。相对 URL 不能被接收,会抛出一个 IllegalArgumentException。全部供给应sendRedirect 方法的 URL 都应通过这个方法运行,这样才能确保会话跟踪能够在全部扫瞄器中正常运行。l encodeURL对包含 session ID 的 URL 进展编码。假设不需要编码,就直接返回这个URL。Servlet 引擎必需供给 URL 编码方法。由于,在有些状况下,不得不重写URL, 如在响应恳求中包含一个有效的 session,但是这个 session 不能被非 URL 的的手段来维持。全部供给应 Servlet 的 URL 都应通过这个方法运

12、行,这样才能确保会话跟踪能够在全部扫瞄器中正常运行。l sendError用给定的状态码发给客户端一个错误响应。假设供给了一个message 参数, 这将作为响应体的一局部被发出,否那么效劳器会返回错误代码所对应的标准信息。调用这个方法后,响应马上被提交。在调用这个方法后,Servlet 不会再有更多的输出。l sendRedirect使 用 给 定 的 路 径 , 给 客 户 端 发 出 一 个 临 时 转 向 的 响 应SC_MOVED_TEMPORARILY。给定的路径必需是确定 URL。相对 URL 将不能被接收,会抛出一个 IllegalArgumentException。这个方法必需在响应被提交之前调用。调用这个方法后,响应马上被提交。在调用这个方法后,Servlet 不会再有更多的输出。l setDateHeader用一个给定的名称和日期值设置响应头,这里的日期值应当是反映自1970-1-1 日GMT以来的准确到毫秒的长整数。假设响应头已经被设置,新的值将掩盖当前的值。l setHeader用一个给定的名称和域设置响应头。假设响应头已经被设置,新的值将覆盖当前的值。l setIntHeader用一个给定的名称和整形值设置响应头。假设响应头已经被设置,新的值将掩盖当前的值。l setStatus这个方法设置了响应的状态码,假设状态码已经被设置,新的值将掩盖当前的值。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号