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

为什么会进入死循环。求详解

为什么会进入死循环?重定向时,进入main.jsp页面,就会调用第二个映射。难道是因为和request有关系吗?但是重定向用的是response方法啊?请大神告知???????????

正在回答

4 回答

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

  request.getRequestDispatcher(); 请求转发
    response.sendRedirect();  请求重定向

首先你要明白 请求转发实际只请求一次 对象会保存 浏览器的地址不会改变

请求重定向实际请求两次  对象不会保存 浏览器的地址会改变

这也就解释了为什么 用请求重定向 会死循环  它每次都会向你发送请求 而过滤器的dofilter方法 每次都重定向到main.jsp页面 

1 回复 有任何疑惑可以回复我~
#1

秦家小小神

看到最后一句明白了
2017-08-05 回复 有任何疑惑可以回复我~

当老师访问index,jsp时,就会调用一次过滤器,同时也会执行过滤器内的语句,执行重定向语句时等价于服务器告知用户界面重新请求main.jsp页面,如此便会再次调用过滤器,同样还会执行过滤器内的语句,由此产生循环,而转发,用户并不知道服务器执行了转发操作所以地址栏内的地址没有变,过滤器好像是只过滤用户请求的,我是这样理解的。

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

重定向相当于两次请求,所以再次请求就会调用过滤器

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

举报

0/150
提交
取消

为什么会进入死循环。求详解

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