ServletRequest和ServletResponse(2)
来源:互联网 发布:苏州相城淘宝运营培训 编辑:程序博客网 时间:2024/04/25 07:37
2.1.2 ServletRequest和ServletResponse(2)
返回请求使用的协议的名字和版本,例如:HTTP/1.1。
public java.io.BufferedReader getReader() throws java.io.IOException返回BufferedReader对象,以字符数据方式读取请求正文。
public java.lang.String getRemoteAddr()返回发送请求的客户端或者最后一个代理服务器的IP地址。
public java.lang.String getRemoteHost()返回发送请求的客户端或者最后一个代理服务器的完整限定名。
public int getRemotePort()返回发送请求的客户端或者最后一个代理服务器的IP源端口,这个方法是在Servlet 2.4规范中新增的方法。
public RequestDispatcher getRequestDispatcher(java.lang.String path)返回RequestDispatcher对象,作为path所定位的资源的封装。
public java.lang.String getServerName()返回请求发送到的服务器的主机名。
public int getServerPort()返回请求发送到的服务器的端口号。
public void setCharacterEncoding (java.lang.String env)
throws java.io.Unsupported EncodingException
覆盖在请求正文中所使用的字符编码的名字。
下面我们看一下ServletResponse接口中的常用方法:
public void flushBuffer() throws java.io.IOException强制把任何在缓存中的内容发送到客户端。
public int getBufferSize()返回实际用于响应的缓存的大小。如果没有使用缓存,这个方法将返回0。
public java.lang.String getCharacterEncoding()返回在响应中发送的正文所使用的字符编码(MIME字符集)。
public java.lang.String getContentType()返回在响应中发送的正文所使用的MIME类型。
public ServletOutputStream getOutputStream()返回ServletOutputStream对象,用于在响应中写入二进制数据。javax.servlet. ServletOutputStream是一个抽象类,继承自java.io.OutputStream。
throws java.io.IOException
public java.io.PrintWriter getWriter() throws java.io.IOException返回PrintWriter对象,用于发送字符文本到客户端。PrintWriter对象使用getCharacterEncoding()方法返回的字符编码。如果没有指定响应的字符编码方式,默认将使用ISO-8859-1。
public boolean isCommitted()返回一个布尔值,指示是否已经提交了响应。
public void reset()清除在缓存中的任何数据,包括状态代码和消息报头。如果响应已经被提交,这个方法将抛出IllegalStateException异常。
public void resetBuffer()清除在缓存中的响应内容,保留状态代码和消息报头。如果响应已经被提交,这个方法将抛出IllegalStateException异常。
public void setBufferSize(int size)设置响应正文的缓存大小。Servlet容器将使用一个缓存,其大小至少是请求的尺寸大小。这个方法必须在响应正文被写入之前调用,如果内容已经被写入或者响应对象已经被提交,这个方法将抛出IllegalStateException异常。
public void setCharacterEncoding(java.lang.String charset)设置发送到客户端的响应的字符编码,例如,UTF-8。
public void setContentLength(int len)对于HTTP Servlet,在响应中,设置内容正文的长度,这个方法设置HTTP Content-Length实体报头。
public void setContentType(java.lang.String type)
设置要发送到客户端的响应的内容类型,此时响应应该还没有提交。给出的内容类型可以包括字符编码说明,例如:text/html;charset=UTF-8。如果这个方法在getWriter()方法被调用之前调用,那么响应的字符编码将仅从给出的内容类型中设置。这个方法如果在getWriter()方法被调用之后或者在响应被提交之后调用,将不会设置响应的字符编码。在使用HTTP协议的情况中,这个方法设置Content-Type实体报头。
细心的读者可能注意到了,在上面所列举的方法中,有的可能会抛出IllegalStateException异常,然而在函数声明时,却没有声明抛出此异常,这是为什么呢?java.lang.IllegalStateException是java.lang.RuntimeException的子类。我们知道对于RuntimeException及其派生的异常是由Java运行系统自动抛出并自动处理,不需要我们去捕获,所以也就不需要在函数声明时声明抛出异常了。
上面所列的方法,读者不需要将它们都记下来,只要大致看一下,有一个初步的印象就可以了。关键是要理解请求和响应对象能够提供哪些方法,读者可以从客户端与服务器端的交互过程来思考,想想哪些信息是需要获取到的。在Servlet中,用请求对象表示的是什么信息,用响应对象来做什么,哪些信息应该是从请求对象中得到,哪些信息应该是用响应对象来设置。只要理解了交互的过程及请求对象和响应对象所起的作用,当我们需要用到某个方法时,就可以在API文档中进行查找,用的次数多了,这些方法自然也就记住了。
- ServletRequest和ServletResponse(2)
- Servlet---ServletRequest和ServletResponse(2)
- ServletRequest和ServletResponse(1)
- 20150203-ServletResponse和ServletRequest
- ServletRequest和ServletResponse
- 深入理解ServletRequest和ServletResponse
- ServletRequest、ServletResponse和GenericServlet类
- Servlet---ServletResponse和ServletRequest(3)
- Servlet---ServletRequest和ServletResponse(1)
- ServletRequest和ServletResponse接口方法汇总
- Servlet 中ServletRequest和ServletResponse用法
- Servlet分析(3) servletRequest与 servletResponse
- about ServletRequest与ServletResponse
- 【servlet】servletContext / servletRequest/servletResponse
- ServletRequest与ServletResponse
- ServletRequest与ServletResponse -15
- 系统学习JavaWeb之四ServletRequest和ServletResponse浅读
- Servlet(5)—ServletRequest接口和ServletResponse接口
- 人类的心灵——赢的力量
- VC运行时库
- Don't Work for Money
- ASP.NET MVC 之Controller & Action (2)
- UTF-8 是什么东东?
- ServletRequest和ServletResponse(2)
- java中的字节流和字符流的存储区别
- Nucleus PLUS
- 日期控件CalendarExtender的使用
- Live a Life That Matters(活出一个有价值的生命)
- 分页相关的SQL
- YUI学习总结(2)
- Always make urself uncomfortable
- 简单的ajax实例