为了账号安全,请及时绑定邮箱和手机立即绑定

重定向问题

为啥请求重定向是客户端行为,而请求转发是服务器行为

正在回答

3 回答

我的理解是:response.sendRedirect("xxx.jsp")和request.getRequestDispatcher("xxx.jsp"),从字面上看,

response对象是响应,所谓响应,简单理解就是先回到客户端,至于回到客户端之后做什么鬼,不知道,看response对象调用什么方法咯,有可能是调用getAttrbute(),setArrtbute(),sendRedirect()等等,方法各有各的含义,需要那个功能就调用相应的方法。

而重定向的时候,response对象调用的是sendRedirect()方法,并且sendRedirect()方法是用来请求东西的,sendRedirect()方法的参数就是要请求的东西。既然是回到客户端重新发送请求,客户端来的东西当然是客户端干的“好事”咯,

拙见,大神看到,有何不足,望指正哈……



0 回复 有任何疑惑可以回复我~

概念性问题百度即可。重定向,浏览器的地址会发生变化,会发起新的请求;转发,原先的request对象和reponse对象继续可用。

0 回复 有任何疑惑可以回复我~

可以这么理解:重定向就相当于将请求重新往服务器发送,差不多就像是:在请求到达页面后,然后在页面将这个请求返回给客户端,并让客户端重新转向正确的页面;而转发像是:在请求到达某个页面后,重新以此页面为起点,再往另外的页面跳转。      

所以重定向就像是客户端自己修改请求(“自己改错”),转发就像是服务器帮忙修改(“别人帮忙改错,自己不插手改错过程”)

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JAVA遇见HTML——JSP篇
  • 参与学习       248282    人
  • 解答问题       3071    个

Java Web入门级教程JSP,带你轻松的学习JSP基础知识

进入课程

重定向问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信