• ServletRequest接口

定义

public interface ServletRequest

定义一个 Servlet 引擎产生的对象,通过这个对象, Servlet 可以获得客户端请求的数据 。这个对象通过读取请求体的数据提供包括参数的名称、值和属性以及输入流的所有数据。



方法

1、getAttribute

public Object getAttribute(String name);

返回请求中指定属性的值,如果这个属性不存在,就返回一个空值。这个方法允许访问一些不提供给这个接口中其他方法的请求信息以及其他 Servlet 放置在这个请求对象内的数据。

2、getAttributeNames

public Enumeration getAttributeNames();

返回包含在这个请求中的所有属性名的列表。

3、getCharacterEncoding

public String getCharacterEncoding();

返回请求中输入内容的字符编码类型,如果没有定义字符编码类型就返回空值。

4、getContentLength

public int getContentLength();

请求内容的长度,如果长度未知就返回-1。

5、getContentType

public String getContentType();

返回请求数据体的 MIME 类型,如果类型未知返回空值。

6、getInputStream

public ServletInputStream getInputStream() throws IOException;

返回一个输入流用来从请求体读取二进制数据。如果在此之前已经通过 getReader 方法获得了要读取的结果,这个方法会抛出一个 IllegalStateException。

7、getParameter

public String getParameter(String name);

以一个 String 返回指定的参数的值, 如果这个参数不存在返回空值。 例如, 在一个 HTTPServlet 中,这个方法会返回一个指定的查询语句产生的 参数的值或一个被提交的表单中的参数值。如果一个参数名对应着几个参数值,这个方法只能返回通过getParameterValues 方法返回的数组中的 第一个值。因此,如果这个参数有(或者可能有)多个值,你只能使用getParameterValues 方法。

8、getParameterNames

public Enumeration getParameterNames();

返回所有参数名的 String 对象列表,如果没有输入参数,该方法返回一个空值。

9、getParameterValues

public String[] getParameterValues(String name);

通过一个 String 对象的数组返回指定参数的值,如果这个参数不存在,该方法返回一个空值。

10、getProtocol

public String getProtocol();

返回这个请求所用的协议,其形式是协议/主版本号.次版本号。例如对于一个 HTTP1.0的请求,该方法返回 HTTP/1.0。

11、getReader

public BufferedReader getReader() throws IOException;

这个方法返回一个 buffered reader 用来读取请求体的实体,其编码方式依照请求数据的编码方式。如果这个请求的输入流已经被 getInputStream 调用获得,这个方法会抛出一个IllegalStateException。

12、getRemoteAddr

public String getRemoteAddr();

返回发送请求者的 IP 地址。

13、getRemoteHost

public String getRemoteHost();

返回发送请求者的主机名称。如果引擎不能或者选择不解析主机名(为了改善性能) ,这个方法会直接返回 IP 地址。

14、getScheme

public String getScheme();

返回请求所使用的 URL 的模式。例如,对于一个 HTTP 请求,这个模式就是 http。

15、getServerName

public String getServerName();

返回接收请求的服务器的主机名。

16、getServerPort

public int getServerPort();

返回接收请求的端口号。

17、setAttribute

public void setAttribute(String name, Object object);

这个方法在请求中添加一个属性,这个属性可以被其他可以访问这个请求对象的对象(例如一个嵌套的 Servlet)使用。注:以下方法将被取消

getRealPath

public String getRealPath(String path);

返回与虚拟路径相对应的真实路径,如果因为某种原因,这一过程不能进行,该方法将返回一个空值。这个方法和ServletContext 接口中的 getRealPath 方法重复。在 2.1 版中,ServletContext接口将阐明一个 Servlet 所能用的所有的路径的映射。该方法执行的结果将会与ServletContext 中 getRealPath 方法的结果完全一样。

18,getRequestDispatcher

public abstract RequestDispatcher getRequestDispatcher(String paramString);获得服务器转发对象。



  • ServletResponse接口

定义

public interface ServletResponse

定义一个 Servlet 引擎产生的对象,通过这个对象,Servlet 对客户端的请求作出响应。这个响应应该是一个 MIME 实体,可能是一个 HTML 页、图象数据或其他 MIME 的格式。



方法

1、getCharacterEncoding

public String getCharacterEncoding();

返回 MIME 实体的字符编码。这个字符编码可以是指定的类型,也可以是与请求头域所反映的客户端所能接受的字符编码最匹配的类型。在 HTTP 协议中,这个信息被通过Accept-Charset 传送到 Servlet 引擎。有关字符编码和 MIME 的更多信息请参看 RFC 2047。

2、getOutputStream

public ServletOutputStream getOutputStream() throws IOException;

返回一个记录二进制的响应数据的输出流。如果这个响应对象已经调用 getWriter,将会抛出 IllegalStateException。

3、getWriter

public PrintWriter getWriter throws IOException;

这个方法返回一个 PringWriter 对象用来记录格式化的响应实体。如果要反映使用的字符编码, 必须修改响应的 MIME 类型。在调用这个方法之前, 必须设定响应的 content 类 型 。如果没有提供这样的编码类型,会抛出一个UnsupportedEncodingException,如果这个响应对象已调用 getOutputStream,会抛出一个 getOutputStream。

4、setContentLength

public void setContentLength(int length);

设置响应的内容的长度,这个方法会覆盖以前对内容长度的设定。为了保证成功地设定响应头的内容长度,在响应被提交到输出流之前必须调用这个方法。

5、setContentType

public void setContentType(String type);

这个方法用来设定响应的 content 类型。这个类型以后可能会在另外的一些情况下被隐式地修改,这里所说的另外的情况可能当服务器发现有必要的情况下对 MIME 的字符设置 。为了保证成功地设定响应头的 content 类型,在响应被提交到输出流之前必须调用这个方法。

Servlet--ServletRequest接口,ServletResponse接口的更多相关文章

  1. Java EE javax.servlet中的ServletResponse接口

    ServletResponse接口 public interface ServletResponse 子接口:HttpServletResponse 实现类:HttpServletResponseWr ...

  2. Servlet基本用法二接口和类

    转自:http://www.cnblogs.com/xujian2014/p/4536168.html 一.摘要 本文主要简单介绍开发Servlet需要用到的接口和类. 二.ServletReques ...

  3. Servlet(5)—ServletRequest接口和ServletResponse接口

    ServletRequest接口: 使用ServletRequest接口创建对象,用于使客户端请求信息对Servlet可用,创建的对象作为参数传递之Servlet的Service() ServletR ...

  4. javaWEB中的ServletRequest,ServletResponse的使用,及简化Servlet方法

    首先说一下ServletRequest,ServletResponse类的使用方法: public void service(ServletRequest request, ServletRespon ...

  5. servlet之ServletRequest与ServletResponse (三)

    ·servlet的service()方法用于应答请求:每次请求都会调用service()方法 public void service(ServletRequest arg0, ServletRespo ...

  6. JavaWeb知识回顾-Servlet常用类、接口及其方法

    今天主要把servlet的一些常用的类.接口和方法简单回顾一下. javax.servlet包 1.javax.servlet.Servlet接口 接口用于开发servlet,所有的servlet都要 ...

  7. Servlet请求转发RequestDispatcher接口

    在Servlet中,利用RequestDispatcher对象,可以将请求转发给另外一个Servlet或JSP页面,甚至是HTML页面,来处理对请求的响应. 一,RequestDispatcher接口 ...

  8. Servlet请求转发 RequestDispatcher接口.RP

    在Servlet中,利用RequestDispatcher对象,可以将请求转发给另外一个Servlet或JSP页面,甚至是HTML页面,来处理对请求的响应. 一,RequestDispatcher接口 ...

  9. Java EE javax.servlet中的RequestDispatcher接口

    RequestDispatcher接口 public interface RequestDispatcher 一.介绍 定义一个对象,从客户端接收请求并将其发送到服务器上的任何资源(例如servlet ...

随机推荐

  1. JMeter插件之 BlazeMeter's XMPP----测试Openfire等

    JMeter也可以测试XMPP协议了,之前一直使用Tsung或者是直接写java代码结合Java request来进行,现在可以用BlazeMeter提供的插件来进行XMPP测试,无需过多编码. 首先 ...

  2. 日志采集框架Flume以及Flume的安装部署(一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统)

    Flume支持众多的source和sink类型,详细手册可参考官方文档,更多source和sink组件 http://flume.apache.org/FlumeUserGuide.html Flum ...

  3. duilib基本框架

    最近我一个同学在项目中使用到了duilib框架,但是之前并没有接触过,他与我讨论这方面的内容,看着官方给出的精美的例子,我对这个库有了很大的兴趣,我自己也是初学这个东东,我在网上花了不少时间来找相关的 ...

  4. Jerry的ABAP, Java和JavaScript乱炖

    写这个系列的初衷是SAP Chengdu office有越来越多的应届毕业生加入,这些新同事通过在大学的专业学习,具备了Java和JavaScript背景,但是进入SAP之后大家觉得ABAP没有Jav ...

  5. react 开发知识准备

    react react使用教程 babel babel 可用于ES6转换为ES5,jsx转换为原生js. ES6 ES6 语法 webpack webpack打包工具,它把不同的.相互依赖的静态资源都 ...

  6. selenium获取动态网页信息(某东)-具体配置信息

    需要安装的包: selenium 关于软件的驱动:selenium之 驱动环境配置chrome.firefox.IE 1 # encoding:utf-8 2 # Author:"richi ...

  7. 2-Sat+输出可行解(个人模版)

    2-Sat+输出可行解: //LightOJ 1251 #include<stdio.h> #include<string.h> #include<vector> ...

  8. JS 监听浏览器各个标签间的切换

    以前看到过一些网页,在标签切换到其它地址时,网页上的标题上会发生变化,一直不知道这个是怎么做的,最近查了一些资料才发现有一个 visibilitychange 事件就可以搞定,这里将介绍一下页面可见性 ...

  9. Visual Studio 2017 安装后无法创建c++或MFC项目

    话话不多说,直接上图

  10. Kubernetes volumes简介

    容器中的磁盘文件生命周期比较短暂,在一些比较复杂的容器应用中会产生一些问题.一.容器crash后,kubelet会重启该容器,但这些文件会丢失掉.二.pod中的多个容器经常需要共享文件.因此,Kube ...