解决: springmvc跳转时 请求转发没问题,重定向 redirect 404 的问题

404 在我们搭建项目时是比较常见的问题,一般都是路径错误,或者路径找不到的原因。
只是有的比较常见,而有的则是隐式的出现,今天遇到的这个问题就属于是隐式的。

在这里插入图片描述

在 SpringMVC 中与跳转页面相关的是在 Controller 层,所以在 SpringMVC 中遇到这类问题应该从 Controller 层下手。

今天在实现 Login 功能的时候,成功则跳转到一个新的页面,又不需要传递信息,当然首选 重定向(redirect) 呀,结果是遇到了可爱的 404,这时,比 404 更巧妙的我灵机一动,选择用 请求转发试试(Controller 默认是请求转发),结果就是跳转成功啦!

在这里插入图片描述
请求转发: 跳转成功
在这里插入图片描述
重定向:跳转失败:
在这里插入图片描述

为什么呢?而且更奇葩的是在 idea 中 按住 Ctrl + 鼠标点击可以实现页面的跳转,但是无论如何就是 404,我的天啊!!!

原因:经过不放弃的寻求,终于知道了其中的猫腻,究其本质,还是请求转发和重定向的区别,如果不理解这一点的小伙伴,一定要好好的去看一下,重定向是二次请求(这次真的是幡然醒悟),而 SpringMVC在我们每次请求时都会去寻找对应的 Controller,也就是分发器去找对应的 RequestMapping。
回看这个问题,重定向的时候相当于是再次请求,这时候就会去寻找对应的 RequestMapping(“teacher/teacherIndex”),但是在我们的项目中根本找不到这个 Controller,所以 404 啦(终于想通了,希望正在看的你也能理解),怎么解决呢,写一个对应的Controller 就可以啦。

在这里插入图片描述
在这里插入图片描述

总结:

其本质是 重定向与 SpringMVC 中前端控制器的结合使用,在实战中才能真正理解 请求转发和重定向的具体使用,万变不离其宗,希望你也能搞定 404,加油,少年!有帮助的同时点点小赞哦!

  • 15
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潘小蓝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值