Request

请求
        请求行 请求头 请求体

一.操作请求行

1.格式:

  请求方式 请求资源 协议/版本

2.常用方法:

String getMethod():获取请求方式
String getRemoteAddr():获取ip地址
String getContextPath() :在java中获取项目名称
getRequestURI():获取的是 从项目名到参数之前的内容  /day10/regist
getRequestURL():获取的带协议的完整路径   http://localhost/day10/regist
String getQueryString():get请求的所有参数   username=tom&password=123
String getProtocol():获取协议和版本 

例如:请求行
            GET /day10/row?username=tom&password=123 HTTP/1.1

二.操作请求头

1.格式:

key/value(value可以是多个值)

2.常用方法:

★String getHeader(String key):通过key获取指定的value (一个)
Enumeration getHeaders(String name) :通过key获取指定的value(多个)
Enumeration getHeaderNames() :获取所有的请求头的名称
int getIntHeader(String key):获取整型的请求头
long getDateHeader(String key):获取时间的请求头
user-agent:浏览器内核 msie firefox chrome
referer:页面从那里来 防盗链

三.操作请求参数 ★

username=tom&password=123&hobby=drink&hobby=sleep

1.常用方法:

String getParameter(String key):获取一个值
String[] getParameterValues(String key):通过一个key获取多个值
Map<String,String[]> getParameterMap():获取所有的参数名称和值

四.请求的中文乱码:

对于get请求:参数追加到地址栏,会使用utf-8编码,服务器(tomcat7)接受到请求之后,使用iso-8859-1解码,所以会出现乱码
对于post请求,参数是放在请求体中,服务器获取请求体的时候使用iso-8859-1解码,也会出现乱码
通用的方法:

new String(参数.getBytes("iso-8859-1"),"utf-8");

针对于post请求来说:只需要将请求流的编码设置成utf-8即可

request.setCharacterEncoding("utf-8");

 

转载于:https://www.cnblogs.com/NEWHOM/p/6694092.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值