[Servlet] HttpServletRequest

HTTP请求消息和HTTP响应消息一样,也分为三部分,分别是请求行、请求消息头、消息正文。

获取请求行消息

HTTP请求信息中的第一行为请求行,格式如下:

GET /webdemo/servlet/HelloWorld?name=bill&age=52 HTTP/1/1

上面的请求行分为三部分,分别是请求方式(GET、POST、HEAD等)、资源路径和HTTP协议版本。

HttpServletRequest接口中定义了很多方法获取请求行中各部分的消息:

方法名功能
getMethod返回请求行中的请求方法(GET、POST、HEAD、PUT、DELETE)GET
getRequestURI返回请求行中的资源部分(不包含参数)/webdemo/servlet/HelloWorld
getQueryString返回请求行中的参数部分,也就是资源路径后面的“?”以后的所有内容,如果没有参数部分,返回nullname=bill&age=52
getProtocol返回请求行中的协议部分HTTP/1.1
getContextPath返回Web应用程序的上下文路径/webdemo
getServletPath返回web.xml中<url-pattern>标签定义的Servlet映射路径/servlet/HelloWorld
getParameter返回某一个参数的值,如获得name参数值得代码是getParameter(“name”)bill

获取网络连接消息

为了获取客户端和服务器与网络连接有关的信息,主要有以下一些方法:

方法名功能返回值
getRemoteAddr返回客户机用于发送请求的IP地址192.168.18.10
getRemoteHost返回发出请求的客户机的主机名,如果Servlet无法解析,则返回客户机的IP192.168.181.0
getRemotePort返回客户机所使用的网络接口的端口号(这个值是由客户机的网络接口随机分配的)1065
getLocalAddr返回Web服务器上接收请求的网络接口使用的IP地址192.168.18.254
getLocalName返回Web服务器上接收请求的网络接口使用的IP地址对应的主机名webserver
getLocalPort返回Web服务器上接收请求的网络接口的端口号8080
getServerName返回HTTP请求消息的Host字段的值的主机名部分localhost
getServerPort返回HTTP请求消息的Host字段的值的端口号部分8080
getScheme返回请求的协议名,如http、httpshttp
getRequestURL返回完整的请求URL(不包含参数部分),这个方法返回的是StringBuffer类型,而不是String类型http://localhost:8080/webdemo/servlet/HelloWorld
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值