一、页面转向
页面转向可以调用函数:
response.sendRedirect("xx.jsp");
页面转向时request和response的信息都丢失了,它是重新发起一个定向请求,和原先的没有关系了.由于它是新的定向请求,所以效率不高。页面转向可以用在同一个应用中,也可以用在不同应用中。也就是说redirect可以转到外部系统。
response.sendRedirect("
xx.jsp
");
等同于
response.setStatus(302);
response.setHeader("Location","
xx.jsp
");
二、页面转发
页面转发调用函数:
request.getRequestDispatcher("xx.jsp").forward(request,response);
页面转发效率高,同时request中的对象还可以在下一页面使用
注:转发不能转发到本web服务器以外的地址
转发:指一个web资源收到客户端请求,通知服务器去调用另外一个web资源进行处理。
// 获取username 的值
String u = request.getParameter("username");
// 设置request的属性
request.setAttribute("username",u);
// 使用转发的方法,把 request,response对象转发个下一个页面
// 所以下一个页面和上一个页面用的是同一个 request,response对象 ,可以获取相应的值
request.getRequestDispatcher("/servlet2").forward(request,response);