1.HttpServletRequest的作用
1.获取请求行信息:请求方式,url和Http版本
方法 |
说明 |
String getMethod() |
获取请求方式的类型 |
StringBuffer getRequestURL() |
获取客户端发出请求完整URL |
String getRemoteAddr() |
获取IP地址 |
String getProtocol() |
获取当前协议名称和版本 |
2.获取请求头信息
方法 |
说明 |
String getHeader(String name) |
根据请求头的k关键字获取请求信息 |
Enumeration getHeaderNames() |
返回此请求包含的所有头信息枚举 |
3.获取请求体(请求数据)
方法 |
说明 |
String getParameters(String name) |
getParameter获得指定参数名对应的值。如果没有返回null,如果只有多个获得第一个。 例如:username=jack |
String[] getParameterValues(name) |
getParameterValues[] 获取请求数据key相同的多个数据 |
request.getParameterMap(); |
获得所有表单的数据 |
2.request作用域
- 1.request的生命周期
- 创建:浏览器给服务器发送请求后,tomcat创建request对象封装请求数据。
- 销毁:服务器给浏览器响应信息结束后销毁
简单的说生命周期就是在一次请求一次转发的过程中
2.1request域对象
方法 |
说明 |
void setAttribute(String name, Object o) |
往request域中设置值 |
Object getAttribute(String name) |
从request域中取值 |
void removeAttribute(String name) |
从request域中移除值 |
2.2请求转发
方法 |
说明 |
getRequestDispatcher(String path) |
获取请求转发器(request对象方法) |
void forward(ServletRequest request, ServletResponse response) |
将请求转发到另一个资源(Servlet)上 |
把参数赋给request,通过请求转发,通过其他的servlet进行处理
3request的使用
public class RequestServletDemo extends HttpServlet{
@override
protected void doPost(HttpServletRequest request,HttpServletResponse response){
request.setAttribute("name","张三");
request.getRequestDispatcher("/RequestServletDemo2").forward(request,response);
}
protected void doGet(ttpServletRequest request,HttpServletResponse response){
doPost(request,response);
}
}
public class RequestServletDemo2 extends HttpServlet{
@override
protected void doPost(HttpServletRequest request,HttpServletResponse response){
Object name = request.getAttribute("name");
System.out.println(name);
request.removeAttribute("name");
}
protected void doGet(ttpServletRequest request,HttpServletResponse response){
doPost(request,response);
}
}