HttpServletRequest类
Posted 1997wy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HttpServletRequest类相关的知识,希望对你有一定的参考价值。
HttpServletRequest类
service方法中的request的类型是ServletRequest,而doGet/doPost方法的request的类型是HttpServletRequest,
HttpServletRequest是ServletRequest的子接口,功能和方法更加强大,
通过request获取请求行
获得客户端的请求方式:
获取页面地址
String getRequestURI();
获取web名称
String getContextPath();
通过request获取请求头
获取请求头
String getHeader(String name);
通过request获得请求体
获取参数
String getParameter(string name);
//获取一个name多个值
String【】 hobys=request.getParameterValues();
获取所有请求的参数值
Map<String.String[]> map=request.getParameterMap();
Map<String ,String[]> map=request.getParameterMap();
//遍历
Set<String > set=map.keyset();
for(String s:set){
sysout(s+"")
String[] str=map.get(s);
for(String ss:str){
sysout(ss+"")
}
}
request的其他功能
request是一个域对象
setAttribute(
String name,
Object o)
getAttribute(
String name)
removeAttribute(
String name)
请求转发
获得请求转发器----path
是转发的地址
RequestDispatcher
getRequestDispatcher(
String path)
通过转发器对象转发
requestDispathcer.forward(
ServletRequest request,
ServletResponse response)
中文转码
request.setcharacterEncoding("UTF-8");
转发与重定向的区别?
1
)重定向两次请求,转发一次请求
2
)重定向地址栏的地址变化,转发地址不变
3
)重新定向可以访问外部网站
转发只能访问内部资源
4
)转发的性能要优于重定向
注意:客户端地址与服务器端地址的写法?
客户端地址:
是客户端去访问服务器的地址,服务器外部的地址,特点:写上
web
应用名
称
直接输入地址:
重定向
服务器端地址:
服务器内部资源的跳转的地址,特点:不需要写
web
应用的名称
转发
以上是关于HttpServletRequest类的主要内容,如果未能解决你的问题,请参考以下文章
HttpServletRequest的Attribute和Parameter区别
根据请求的HttpServletRequest获取ip地址工具类
如何在一个类中获取HttpServletRequest 对象