HttpServletRequest对象
在ServletAPI中,定义了一个HttpServletRequest接口,它继承自ServletRequest接口,专门用来封装HTTP请求
消息。由于HTTP请求消息分为请求行、请求消息头和请求消息体三部分,因此,在HttpServletRequest接口中定义了获取
请求行、请求头和请求消息体的相关方法
方法声明 功能描述
String getMethod() 该方法用于获取HTTP请求消息中的请求方式(如GET、POST等)
String getRequestURI() 该方法用于获取请求行中资源名称部分,即位于URL的主机和
端口之后、参数部分之前的部分
String getQueryString() 该方法用于获取请求行中的参数部分,也就是资源路径后面
问号(?)以后的所有内容
String getProtocol() 该方法用于获取请求行中的协议名和版本,例如,HTTP/1.0或
HTTP/1.1
String getContextPath() 该方法用于获取请求URL中属于WEB应用程序的路径,这个路径
以"/" 开头,表示相对于整个WEB站点的根目录,路径结尾不
含"/"。如果请求URL属于WEB站点的根目录,那么返回结果为空
字符串("")
String getServletPath() 该方法用于获取Servlet的名称或Servlet所映射的路径
String getRemoteAddr() 该方法用于获取请求客户端的IP地址,其格式类似于"192.168.0.3"
String getRemoteHost() 该方法用于获取请求客户端的完整主机名,其格式类似与
"pc1.hxzyah.com"。需要注意的是,如果无法解析出客户机的完整
主机名,该方法将会返回客户端的IP地址
int getRemotePort() 该方法用于获取请求客户端网络连接的端口号
String getLocalAddr() 该方法用于获取Web服务器上接收当前请求网络连接的IP地址
String getLocalName() 该方法用于获取Web服务器上接收当前网络连接IP所对应
的主机名
int getLocalPort() 该方法用于获取Web服务器上接收当前网络连接的端口号
String getServletName() 该方法用于获取当前请求所指向的主机名,即HTTP请求消息
中Host头字段所对应的主机名部分
int getServerPort() 该方法用于获取当前请求所连接的服务端口号,即如果HTTP请
求消息中Host头字段所对应的端口号部分
String getScheme() 该方法用于获取请求的协议名,例如 http、https或ftp
StringBuffer getRequestURL() 该方法用于获取客户端发出请求时的完整URL,包括协议、服务器名、
端口号、资源路径等信息,但不包括后面的查询参数部分。注意,
getRequestURL() 方法返回的结果是StringBuffer类型,而不是String
类型,这样更便于对结果进行修改