Java.Web - 转向 转发 随笔

一、页面转向

页面转向可以调用函数:

1
response.sendRedirect("xx.jsp");

  • 页面转向时request和response的信息都丢失了,它是重新发起一个定向请求,和原先的没有关系了.
  • 由于它是新的定向请求,所以效率不高。页面转向可以用在同一个应用中,也可以用在不同应用中。也就是说redirect可以转到外部系统。
1
2
3
4
response.sendRedirect("xx.jsp");
// 等同于
response.setStatus(302);
response.setHeader("Location","xx.jsp");

二、页面转发

页面转发调用函数:

1
request.getRequestDispatcher("xx.jsp").forward(request,response);

  • 页面转发效率高,同时request中的对象还可以在下一页面使用
  • 注:转发不能转发到本web服务器以外的地址

  • 转发:指一个web资源收到客户端请求,通知服务器去调用另外一个web资源进行处理。

1
2
3
4
5
6
7
// 获取username 的值
String u = request.getParameter("username");
// 设置request的属性
request.setAttribute("username",u);
// 使用转发的方法,把 request,response对象转发个下一个页面
// 所以下一个页面和上一个页面用的是同一个 request,response对象 ,可以获取相应的值
request.getRequestDispatcher("/servlet2").forward(request,response);
Gavin Liu wechat
欢迎您扫一扫上面的二维码,订阅我的微信公众号!