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

来源:5-1 [Java Web] 过滤器的分类1

MeloZZZ

2017-03-06 16:59

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

写回答 关注

4回答

  • 慕移动9181930
    2022-03-26 21:45:47
  • qq_二区_0
    2017-04-09 14:08:55

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

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

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

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

    秦家小小神

    看到最后一句明白了

    2017-08-05 21:20:04

    共 1 条回复 >

  • 向上看
    2017-03-19 10:06:56

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

  • 不才小子
    2017-03-06 17:20:43

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

Java Web开发技术应用——过滤器

本课程主要是从实际生活当中的过滤器入手,详细讲解了Java Web过滤器

70492 学习 · 258 问题

查看课程

相似问题