Servlet--ServletRequest接口,ServletResponse接口
- 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接口的更多相关文章
- Java EE javax.servlet中的ServletResponse接口
ServletResponse接口 public interface ServletResponse 子接口:HttpServletResponse 实现类:HttpServletResponseWr ...
- Servlet基本用法二接口和类
转自:http://www.cnblogs.com/xujian2014/p/4536168.html 一.摘要 本文主要简单介绍开发Servlet需要用到的接口和类. 二.ServletReques ...
- Servlet(5)—ServletRequest接口和ServletResponse接口
ServletRequest接口: 使用ServletRequest接口创建对象,用于使客户端请求信息对Servlet可用,创建的对象作为参数传递之Servlet的Service() ServletR ...
- javaWEB中的ServletRequest,ServletResponse的使用,及简化Servlet方法
首先说一下ServletRequest,ServletResponse类的使用方法: public void service(ServletRequest request, ServletRespon ...
- servlet之ServletRequest与ServletResponse (三)
·servlet的service()方法用于应答请求:每次请求都会调用service()方法 public void service(ServletRequest arg0, ServletRespo ...
- JavaWeb知识回顾-Servlet常用类、接口及其方法
今天主要把servlet的一些常用的类.接口和方法简单回顾一下. javax.servlet包 1.javax.servlet.Servlet接口 接口用于开发servlet,所有的servlet都要 ...
- Servlet请求转发RequestDispatcher接口
在Servlet中,利用RequestDispatcher对象,可以将请求转发给另外一个Servlet或JSP页面,甚至是HTML页面,来处理对请求的响应. 一,RequestDispatcher接口 ...
- Servlet请求转发 RequestDispatcher接口.RP
在Servlet中,利用RequestDispatcher对象,可以将请求转发给另外一个Servlet或JSP页面,甚至是HTML页面,来处理对请求的响应. 一,RequestDispatcher接口 ...
- Java EE javax.servlet中的RequestDispatcher接口
RequestDispatcher接口 public interface RequestDispatcher 一.介绍 定义一个对象,从客户端接收请求并将其发送到服务器上的任何资源(例如servlet ...
随机推荐
- linux常用基本命令整理小结
linux系统遵循的基本原则 由目标单一的小程序组成,组合小程序完成复杂任务: 一切皆文件: 尽量避免捕捉用户接口: 配置文件保存为纯文本文件: Linux命令行常识 命令格式 命令+选项+参数 选项 ...
- 使用Tomcat的Reload提高开发速度(翻译)
欢迎转载http://www.cnblogs.com/coodream2009,有翻译的不太准确的地方请大家指出,我继续修改完善. 按照Java Servlet规范第四部分推荐的,Tomcat系统的实 ...
- Appium 命令行模式下遇到的问题总结及解决方案 npm ERR! tar.unpack unzip(或者untar) error
安装了GUI Appium后,卸载删除问题后,使用命令行模式安装. 一. 遇到问题: nalideMacBook-Pro:~ nali$ npm install -g appium npm ERR! ...
- linux rsync服务
1.rsync介绍rsync是一个开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具,rsync软件适用于nunix/linux/windows多操作系统上运行.官方网站:h ...
- linux设置静态IP和DNS以及改网卡名
ubuntu Ubuntu如果是desktop版,由于desktop版安装了NetworkManager,修改完interfaces文档中的内容,不会生效,需要先修改/etc/NetworkManag ...
- vs2008中xlslib与libxls库的编译及使用
C++用来操作Excel的方法很多,但是涉及到跨平台,同时又要对Excel的读写操作兼顾,而且免费的库,那应该是要用xlslib和libxls了.由于技术比较菜,折腾这个折腾了一个星期了.最开始是使用 ...
- LeetCode第[1]题(Java):Two Sum 标签:Array
题目: Given an array of integers, return indices of the two numbers such that they add up to a specifi ...
- group()与groups()的区别
group(num=0) 匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组. groups() 返回一个包含所有小组字符串的元组,从 1 ...
- Erlang epmd官方文档中文翻译
本文含epmd简介及官方文档之翻译,文档地址 http://erlang.org/doc/man/epmd.html翻译时的版本 R19.1 中英文水平都不咋地,不通顺处海涵,就酱. 简介 Erlan ...
- 2017广东工业大学程序设竞赛E题(倒水)
Description 一天,CC买了N个容量可以认为是无限大的瓶子,开始时每个瓶子里有1升水.接着~~CC发现瓶子实在太多了,于是他决定保留不超过K个瓶子.每次他选择两个当前含水量相同的瓶子,把一个 ...