request对象和response对象
1. request对象和response对象的原理
- request和response对象是由服务器创建的。
- request对象获取请求消息的,response对象设置响应消息。
2. requset功能
- 获取请求消息数据
- 获取请求方式:GET
String getMethod()
- 获取虚拟目录
String getContextPath()
- 获取Servlet路径
String getServletPath()
- 获取请求URI
String getRequestURI()
- 获取请求头数据:通过请求头的名称获取请求头的值
String getHeader(String name)
- 其他功能
- 获取请求参数的通用方式:不论是get还是post请求方式都可以使用下列方法来获取请求参数
根据参数的名称获取参数值的数组String getParameter(String name):
- 中文乱码
request.setCharacterEncoding("utf-8");
- 请求转发
- 通过request对象请求转发对象:
RequestDispatcher requestDispatcher = context.getRequestDispatcher("/gp"); //转发的请求路径 requestDispatcher.forward(request,response); //调用forward实现请求转发;
context.getRequestDispatcher("/gp").forward(request,response);
- 特点:
1.浏览器地址栏路径不发生变化
2.只能转发到当前服务器内部资源中
3.转发是一次请求
- 共享数据
- 域对象:一个有作用范围的对象,可以在范围内共享数据
- request域:代表一次请求范围,一般用于请求转发多个资源中共享数据
- 方法:
void setAttribute(String name,Object obj):存储数据
Object getAttitude(String name):通过键获取值
void removeAttribute(String name):通过键移除键值对
- 域对象:一个有作用范围的对象,可以在范围内共享数据
ServletContext getServletContext()