转发 是向服务器请求了一次,在这个过程中request都有效,而重定向就不一样了。
重定向 是向服务器请求了两次,第一次向服务器请求,服务器给客户端一个响应码,客户端带着这个响应码再向服务器请求一次,request在第一次请求时有效,在第二次请求时request已被销毁,所以无效。
例如:if("zhangsan".equals(name)&&"123".equals(pass))
{
request.getRequestDispatcher(".html").forward(request, response);
//转发:地址不变;表单的数据在ok.html还可以取得;服务器跳转,相当于POST方式
}
else
{
response.sendRedirect(".html");
//重定向:地址改变;表单的数据在error.html不可以取得;客户端跳转,
} |