springmvc中的转发、重定向和路径问题

springmvc.xml中配置了前后缀

在这里插入图片描述

controller层类配置

在这里插入图片描述

转发

1. 第一种情况

在这里插入图片描述

结果:多一个admin的路径

在这里插入图片描述

2. 第二种情况

在这里插入图片描述

结果:成功

3. 第三种情况(应该添加后缀)

在这里插入图片描述

结果:报错

在这里插入图片描述

4. 第四种情况

在这里插入图片描述

结果:找不到映射路径(多了admin路径)

在这里插入图片描述

5. 第五种情况

在这里插入图片描述

结果:多了前缀和后缀

在这里插入图片描述

6. 第六种情况(斜杠加不加,结果一样)

在这里插入图片描述

结果:多了前缀

在这里插入图片描述

7. 第六种情况(斜杠加不加,效果一样)

在这里插入图片描述

结果:成功

重定向

1. 第一种情况

在这里插入图片描述

结果:缺少admin的路径

在这里插入图片描述

2. 第二种情况

在这里插入图片描述

结果:成功

3. 第三种情况

在这里插入图片描述

结果:成功

4. 第四种情况

在这里插入图片描述

结果:多了admin的路径

在这里插入图片描述

5. 第五种情况

在这里插入图片描述

结果:多了admin的路径

在这里插入图片描述

6. 第六种情况

在这里插入图片描述

结果:成功

7. 第七种情况

在这里插入图片描述

结果:缺少后缀

在这里插入图片描述

8. 第八种情况

在这里插入图片描述

结果:多了admin的路径

在这里插入图片描述

总结

  • 在springmvc.xml中配有前后缀的情况下
    • 带有forward或者是redirect的String类型的方法的返回值,转发或重定向到前端页面,都需要写上页面的后缀
    • forward和redirect都没有写的情况下,不需要写后缀名
  • 带forward和redirect的最好都带上"/",防止因为controller层中的类上边有RequestMapping的注解,且里边有值,被自动补充了多余的路径的问题
  • 只要controller层中的String类型的方法的返回值不带forward和redirect,就是自动补充路径前后缀的转发操作
  • 重定向
    • 只要重定向中的路径没有".jsp"之类相似的后缀,就证明是重定向到另一个controller层中的方法
  • 路径
    • 相对路径(不加斜杠):自动补充路径的前后缀,包括RequestMapping路径
    • 相对于http://localhost:8080/项目名/controller类上边的RequestMapping
      绝对路径(加斜杠):程序员自己添写RequestMapping路径和后缀
      http://localhost:8080/项目名/
  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
SpringMVC提供了两种方式来实现重定向转发:逻辑视图名和重定向/转发关键字。 1. 逻辑视图名实现重定向转发 重定向转发可以通过在处理器方法返回逻辑视图名实现。具体实现方式如下: - 转发:在处理器方法返回逻辑视图名,SpringMVC会将逻辑视图名解析为对应的视图对象,并将请求转发到该视图。 ```java @RequestMapping("/forward") public String forward() { return "forward:/some/other/url"; } ``` - 重定向:在处理器方法返回逻辑视图名,并在逻辑视图名前加上"redirect:"前缀,SpringMVC会将逻辑视图名解析为重定向的目标地址,并将请求重定向到该地址。 ```java @RequestMapping("/redirect") public String redirect() { return "redirect:/some/other/url"; } ``` 2. 重定向/转发关键字实现重定向转发 重定向转发还可以通过使用SpringMVC提供的重定向/转发关键字实现。具体实现方式如下: - 转发:使用"forward:"关键字加上转发目标地址,SpringMVC会将请求转发到该地址。 ```java @RequestMapping("/forward") public String forward() { return "forward:/some/other/url"; } ``` - 重定向:使用"redirect:"关键字加上重定向目标地址,SpringMVC会将请求重定向到该地址。 ```java @RequestMapping("/redirect") public String redirect() { return "redirect:/some/other/url"; } ``` 总之,SpringMVC提供了多种方式来实现重定向转发,开发者可以根据实际需求选择合适的方式来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值