java web开发中的转发和重定向问题的理解,要的是理解
if("zhangsan".equals(name)&&"123".equals(pass)){request.getRequestDispatcher("../ok.h...
if("zhangsan".equals(name)&&"123".equals(pass))
{
request.getRequestDispatcher("../ok.html").forward(request, response);
//转发:地址不变;表单的数据在ok.html还可以取得;服务器跳转,相当于POST方式
}
else
{
response.sendRedirect("../error.html");
//重定向:地址改变;表单的数据在error.html不可以取得;客户端跳转,GET方式
}
为啥是request.getRequestDispatcher("../ok.html").forward(request, response);
为啥是response.sendRedirect("../error.html");
谁能解释解释。谢谢 展开
{
request.getRequestDispatcher("../ok.html").forward(request, response);
//转发:地址不变;表单的数据在ok.html还可以取得;服务器跳转,相当于POST方式
}
else
{
response.sendRedirect("../error.html");
//重定向:地址改变;表单的数据在error.html不可以取得;客户端跳转,GET方式
}
为啥是request.getRequestDispatcher("../ok.html").forward(request, response);
为啥是response.sendRedirect("../error.html");
谁能解释解释。谢谢 展开
5个回答
展开全部
一、使用方法
转发:request.getRequestDispatcher("success.jsp").forward(request,response);
重定向:response.sendRedirect("success.jsp");
二、区别
1.转发在服务器端完成的;重定向是在客户端完成的
2.转发的速度快;重定向速度慢
3.转发的是同一次请求;重定向是两次不同请求
4.转发不会执行转发后的代码;重定向会执行重定向之后的代码
5.转发地址栏没有变化;重定向地址栏有变化
6.转发必须是在同一台服务器下完成;重定向可以在不同的服务器下完成
转发:request.getRequestDispatcher("success.jsp").forward(request,response);
重定向:response.sendRedirect("success.jsp");
二、区别
1.转发在服务器端完成的;重定向是在客户端完成的
2.转发的速度快;重定向速度慢
3.转发的是同一次请求;重定向是两次不同请求
4.转发不会执行转发后的代码;重定向会执行重定向之后的代码
5.转发地址栏没有变化;重定向地址栏有变化
6.转发必须是在同一台服务器下完成;重定向可以在不同的服务器下完成
展开全部
转发是向服务器请求了一次,在这个过程中request都有效,而重定向就不一样了,重定向其实是向服务器请求了两次,第一次向服务器请求,服务器给客户端一个响应码,客户端带着这个响应码再向服务器请求一次,request在第一次请求时有效,在第二次请求时request已被销毁,所以无效。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为啥是request.getRequestDispatcher("../ok.html").forward(request, response);
是同一个request请求,可以把request里面的东西带过去新页面,url地址栏不会改变。
为啥是response.sendRedirect("../error.html");直接跳转,不能将request里面的东西带过去,url地址栏会改变。
是同一个request请求,可以把request里面的东西带过去新页面,url地址栏不会改变。
为啥是response.sendRedirect("../error.html");直接跳转,不能将request里面的东西带过去,url地址栏会改变。
追问
能再详细点吗···,本人菜鸟哦
为啥不是 response.getRequestDispatcher("../ok.html").forward(request, response);
追答
两种方式都可以,只是看你需不需要用到request,需要用到request就用response.getRequestDispatcher,不需要用的话两种都可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
转发的页面上的返回按钮可以返回上一页,而重定向的不可以返回上个页面,原先的页面不存在了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
session
的生命周期默认是半个小时,如果你不清空缓冲,不重启服务器,会在浏览器端存放30分钟。所以你第二次访问也可以查看到用户信息。
的生命周期默认是半个小时,如果你不清空缓冲,不重启服务器,会在浏览器端存放30分钟。所以你第二次访问也可以查看到用户信息。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询