在Servlet的API中,定义了一个HttpServletRequest接口,它继承自ServletRequest接口,专门用于封装Http的请求,由于HTTP请求包含着请求行,请求头和请求体三部分,因此在HttpServletRequest中分别定义了接受请求行,请求头和请求体的相关方法。
获取请求行相关信息的相关方法:
1、getMethod()方法:返回请求方法,请求方法通常是GET或者POST,但也有可能是HEAD、PUT或者DELETE。
2、getRequestURI()方法:返回URI(URI是URL从主机和端口之后到表单数据之前的那一部分)。
3、getRemoteAddr()方法:该方法用于获取请求客户端的IP地址
4、getRemotePort()方法:该方法用于获取请求客户端的端口号
5、getLocalAddr()方法:该方法用于获取服务器当前接收请求的IP地址
6、getContextPath()方法:该方法用于获取URL中属于web应用程序的路径
7、getProtocol()方法:该方法用于获取请求中的协议名和版本
获取请求头的相关方法:
1、getHeader(String name):该方法用于获取一个指定头字段的值,如果请求头中不包含该字段则返回null,如果包含多个该字段的值则获取第一个值。
2、getIntHeader(String name):该方法用于获取指定头字段的值,并且将其值转换为int类型,如果不存在该字段则返回-1,如果获取到的值不能转换为int则会发生NumberFormatException异常
3、getDateHeaders(String name):该方法用于获取指定头字段的值,并将其安装GMT时间格式转换成一个代表日期/时间的长整数。
4、getHeaderNames():该方法用于获取所有包含请求头字段的枚举类型
获取请求参数:
1、getParameter(String name):用于获取某个指定名称的参数值,如果请求中没有包含指定名称的参数,则返回null,如果有指定参数但是没有给设置值,则返回空串,如果包含多个该参数的值则返回第一个出现的参数值
2、getParameterNames():该方法用于返回一个包含请求消息中所有参数名的枚举集合
3、getParameterMap():该方法永远将请求中所有参数和值装入一个map对象然后返回