/**
*
* <p>标题: ServletRequest</p>
* <p>
* 功能描述:Servlet由Servlet容器来管理,当客户请求到来时,容器创建一个ServletRequest对象,封装请求数据,
* 同时创建一个ServletResponse对象,封装响应数据。这两个对象将被容器作为service()方法的参数传递给Servlet,
* Servlet利用ServletRequest对象获取客户端发来的请求数据,利用ServletResponse对象发送响应数据。
*
* </p>
* <p>创建日期: 2016年1月15日 下午3:45:03</p>
* <p>作者: 年华</p>
* <p>版本: 1.0</p>
*/
public interface ServletRequest{
//返回以name为名字的属性的值。如果该属性不存在,这个方法将返回null。
public Object getAttribute(String name);
//返回请求中所有可用的属性的名字。如果在请求中没有属性,这个方法将返回一个空的枚举集合。
public Enumeration getAttributeNames();
//回请求正文使用的字符编码的名字。如果请求没有指定字符编码,这个方法将返回null
public String getCharacterEncoding();
//覆盖在请求正文中所使用的字符编码的名字
public void setCharacterEncoding(String env) throws java.io.UnsupportedEncodingException;
//以字节为单位,返回请求正文的长度。如果长度不可知,这个方法将返回-1。
public int getContentLength();
//返回请求正文的MIME类型。如果类型不可知,这个方法将返回null。
public String getContentType();
//返回一个输入流,使用该输入流以二进制方式读取请求正文的内容。ServletInputStream是一个抽象类,继承自java.io.InputStream。
public ServletInputStream getInputStream() throws IOException;
//返回请求中name参数的值。如果name参数有多个值,那么这个方法将返回值列表中的第一个值。如果在请求中没有找到这个参数,这个方法将返回null。
public String getParameter(String name);
//返回请求中包含的所有的参数的名字。如果请求中没有参数,这个方法将返回一个空的枚举集合。
public Enumeration getParameterNames();
//返回请求中name参数所有的值。如果这个参数在请求中并不存在,这个方法将返回null。
public String[] getParameterValues(String name);
//返回请求中包含所有参数的值,key为name,value为值
public Map getParameterMap();
//返回请求使用的协议的名字和版本,例如:HTTP/1.1。
public String getProtocol();
//协议头
public String getScheme();
//返回请求发送到的服务器的主机名。
public String getServerName();
//返回接收到请求的IP接口的主机名,这个方法是在Servlet 2.4规范中新增的方法。
public int getServerPort();
//返回BufferedReader对象,以字符数据方式读取请求正文。
public BufferedReader getReader() throws IOException;
//返回发送请求的客户端或者最后一个代理服务器的IP地址。
public String getRemoteAddr();
//返回发送请求的客户端或者最后一个代理服务器的完整限定名。
public String getRemoteHost();
//在请求中保存名字为name的属性。如果第二个参数o为null,那么相当于调用removeAttribute(name)
public void setAttribute(String name, Object o);
//移除请求中名字为name的属性。
public void removeAttribute(String name);
//返回接收到请求的网络接口的IP地址,这个方法是在Servlet 2.4规范中新增的方法。
public Locale getLocale();
//接受客户的地区基于accept - language头。如果客户机请求不提供一个accept - language头,这个方法返回一个枚举包含一个语言环境,服务器的缺省语言环境。
public Enumeration getLocales();
//返回一个布尔值表示这个请求是否通过一个安全通道,比如HTTPS。
public boolean isSecure();
//返回RequestDispatcher对象,作为path所定位的资源的封装。
public RequestDispatcher getRequestDispatcher(String path);
//弃用,使用ServletContext # getRealPath代替。
public String getRealPath(String path);
//返回发送请求的客户端或者最后一个代理服务器的IP源端口,这个方法是在Servlet 2.4规范中新增的方法
public int getRemotePort();
//获得本地名称,也就是服务器的名称
public String getLocalName();
//获得本地IP,也就是服务器的IP地址
public String getLocalAddr();
//返回接收到请求的网络接口的IP端口号,也就是Tomcat监听的端口,这个方法是在Servlet 2.4规范中新增的方法。
public int getLocalPort();
}