HttpServletRequest的应用
2018-06-23 本文已影响7人
禅与发现的乐趣
Web客户端的请求通过service分发后,在各个请求方法(doMethod)中都会有封装了请求信息的HttpServletRequest对象。
HTTP请求消息的请求行可以分为三个部分:请求方式、资源路径和HTTP协议版本。
获取请求行的相关信息
获取请求方法
String getMethod();
有GET,POST,PUT等
获取请求URL
String getRequestURL()
返回请求中的资源名部分,也就是位于URL的主机和端口之后。
获取请求行中的参数部分
String getQueryString()
获取网络连接信息
# 获取请求的客户机的IP地址
String getRemoteAddr()
# 获取客户机所使用的网络接口的端口号
String getRemotePort()
# 获取Web服务器上接收当前请求的网络接口的IP地址
String getLocalAddr()
# 获取请求的协议名 http、https、ftp
String getScheme()
# 获取客户端发出请求时的完整URL,包括协议名、服务器名、端口号、资源路径等信息
String getRequestURL()
获取请求头信息
除了常用的getHeaders方法,还有一些对应的特定的方法,如getContentType等
BASE64并不是一种数据加密方式,而是一种数据编码方式,BASE64编码的数据是一种未加密的明文数据。BASE64是将二进制数据转换成可打印的ASCII字符的一种常见的编码方式。
浏览器传递参数信息的细节
需要注意的是,使用GET请求方式传递参数,URL的极限长度为1024个字节。如果超过了1024个字节,就不能使用GET方法,而应该使用POST方法。
URL中的参数部分的特殊字符必须进行URL编码后才能发送给Web服务器。
HTTP协议的POST请求方式,主要用于向Web服务器端程序提交FORM表单中的数据。当使用POST方式来提交FORM表单中的数据时,浏览器将各个表单字段元素及其数据作为HTTP消息的实体内容发送给Web服务器,而不是作为URL地址的参数传递给Web服务器。