欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HttpServletRequest的应用

程序员文章站 2024-02-04 13:53:16
...

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服务器。