request请求转发(forward)、传递数据

转发

服务器收到请求后,从一个资源(jsp、Servlet)跳转到另一个资源(jsp、Servlet)

特点

  1. 服务器实现跳转

  2. 跳转后,浏览器地址栏不变

  3. 共享 request 对象中的数据

  4. 不可以转发到外部资源,如:不能转发到 http://www.baidu.com

  5. 可以转发 WEB-INF 下的资源

  6. 是一次请求

例子

request.getRequestDispatcher("result.jsp").forward(request,response);

注意:地址栏不变

例子:转发外部应用(失败)

request.getRequestDispatcher("http://www.baidu.com").forward(request,response);

例子:可以转发 WEB-INF 下的资源

req.getRequestDispatcher("/WEB-INF/test.html").forward(req, resp);

转发时传递数据

封装数据:

request.setAttribute("key",value);

获取数据:

request.getAttribute("key");