2.1.2 ServletRequest和ServletResponse(1)
Servlet由Servlet容器来管理,当客户请求到来时,容器创建一个ServletRequest对象,封装请求数据,同时创建一个ServletResponse对象,封装响应数据。这两个对象将被容器作为service()方法的参数传递给Servlet,Servlet利用ServletRequest对象获取客户端发来的请求数据,利用ServletResponse对象发送响应数据。
ServletRequest和ServletResponse接口都在javax.servlet包中定义,我们首先看一下ServletRequest接口中的常用方法。
public java.lang.Object getAttribute(java.lang.String name) |
返回以name为名字的属性的值。如果该属性不存在,这个方法将返回null。
public java.util.Enumeration getAttributeNames() |
返回请求中所有可用的属性的名字。如果在请求中没有属性,这个方法将返回一个空的枚举集合。
public void removeAttribute(java.lang.String name) |
移除请求中名字为name的属性。
public void setAttribute(java.lang.String name, java.lang.Object o) |
在请求中保存名字为name的属性。如果第二个参数o为null,那么相当于调用removeAttribute(name)。
public java.lang.String getCharacterEncoding() |
返回请求正文使用的字符编码的名字。如果请求没有指定字符编码,这个方法将返回null。
public int getContentLength() |
以字节为单位,返回请求正文的长度。如果长度不可知,这个方法将返回-1。
public java.lang.String getContentType() |
返回请求正文的MIME类型。如果类型不可知,这个方法将返回null。
public ServletInputStream getInputStream() |
返回一个输入流,使用该输入流以二进制方式读取请求正文的内容。javax.servlet.ServletInputStream是一个抽象类,继承自java.io.InputStream。
public java.lang.String getLocalAddr() |
返回接收到请求的网络接口的IP地址,这个方法是在Servlet 2.4规范中新增的方法。
public java.lang.String getLocalName() |
返回接收到请求的IP接口的主机名,这个方法是在Servlet 2.4规范中新增的方法。
public int getLocalPort() |
返回接收到请求的网络接口的IP端口号,这个方法是在Servlet 2.4规范中新增的方法。
public java.lang.String getParameter(java.lang.String name) |
返回请求中name参数的值。如果name参数有多个值,那么这个方法将返回值列表中的第一个值。如果在请求中没有找到这个参数,这个方法将返回null。
public java.util.Enumeration getParameterNames() |
返回请求中包含的所有的参数的名字。如果请求中没有参数,这个方法将返回一个空的枚举集合。
public java.lang.String[] getParameterValues(java.lang.String name) |
返回请求中name参数所有的值。如果这个参数在请求中并不存在,这个方法将返回null。
public java.lang.String getProtocol() |