Request&Response(重定向&转发)
Request和Response
- 1、Servlet视图
- 2、request对象
- 2.1、request的继承结构
- 2.2、request获取客户机信息
- 2.3、Request获取请求头信息
- 2.4、Request获取请求参数和乱码解决
- 2.4.1、获取请求参数
- 2.4.2、请求参数乱码的原因和解决方法
- 3、Response
- 3.1、概述
- 3.2、继承结构
- 3.3、常用方法
- 3.4、输出信息到客户端
- 3.4.1、输出信息到客户端api
- 3.4.2、响应乱码处理
- 3.4.5、response输出数据时的细节
- 3.5、Response实现定时刷新
- 3.6、Response实现禁止缓存
- 4、重定向与转发
- 4.1、重定向
- 4.2、转发
- 4.3、转发和重定向的区别
1、Servlet视图
先了解下框架
2、request对象
2.1、request的继承结构
虽然我们一直简称为Request,但实际上代表请求的接口为ServletRequest,其中定义了http请求相关的方法。
ServletRequest有一个子类HttpServletRequest,在ServletRequest的基础上增加了很多和http协议相关的方法。
既然Request代表HTTP,那么Http请求相关的请求行请求头实体内容等信息都可以通过这个对象获得。
2.2、request获取客户机信息
getRequestURL方法 – 返回客户端发出请求完整URL
getRequestURI方法 – 返回请求行中的资源名部分
getQueryString方法 – 返回请求行中的参数部分
getRemoteAddr方法 – 返回发出请求的客户机的IP地址
getMethod方法 – 返回客户机的请求方式
getContextPath方法 – 获得当前web应用的虚拟目录名称
2.3、Request获取请求头信息
getHeader(name)方法 — String
getHeaders(String name)方法 — Enumeration
getHeaderNames方法 — Enumeration
getIntHeader(name)方法 — int
getDateHeader(name)方法 — long(日期对应毫秒)
2.4、Request获取请求参数和乱码解决
2.4.1、获取请求参数
getParameter(String name) – String 通过name获得值
getParameterValues(String name) – String[] 通过name获得多值 如: 爱好
getParameterNames() – Enumeration 获得所有请求参数的name
getParameterMap() – Map
public class MyServlet03 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//1.getParameter(String name) -- String 通过name获得值
String uname = req.getParameter("name");
String uage = req.getParameter("age");
System.out.println(uname+"~"+uage);
//2.getParameterValues(String name) -- String[] 通过name获得多值 如: 爱好
String[] likes = req.getParameterValues("like");
System.out.println(likes);
//3.getParameterNames() -- Enumeration<String> 获得所有请求参数的name
Enumeration<String> names = req.getParameterNames();
while(names.hasMoreElements()){
String name = names.nextElement();
String value = req.getParameter(name);
System.out.println(name+"~"+value);
}
//4.getParameterMap() -- Map<String,String[ ]> key :name value: 多值
Map<String,String[]> map = req.getParameterMap();
System.out.<
还没有评论,来说两句吧...