forward和redirect的用法

forward 表示 转发
redirect 表示 重定向

返回值为String时

  • return 默认为 forward 修饰(转发)

  • 转发:

    • returun “URL地址” 表示转发到指定的URL地址(前段页面)
    • returun “/URL地址” 表示转发到指定的URL地址(前段页面)
    • "forward:URL地址" 表示转发到指定的URL地址(前段页面)
    • "forward:/URL地址" 表示转发,与 controller 中指定RequestMapping 中的URL进行匹配,执行指定的方法。
  • 重定向:

    • "redirect:URL地址" 表示重定向到指定的URL地址(前段页面),由于在MVC中,重定向需要重新定向URL地址,且不经视图解析,所以如果页面放在WEB-INF下的话,则无法进行访问,可以通过 “redirect:/URL地址” 重定向到 controller 中其它方法,在通过其它方法转发到指定页面。
    • "redirect:/URL地址" 表示重定向,与 controller 中指定RequestMapping 中的URL进行匹配,执行指定的方法。
@Controller
public class UserController {

    @RequestMapping("/")
    public String toIndex() {
        return "index.jsp";
    }

	// 当返回值为String时,return默认为 forward
    @RequestMapping("text1")
    public String text1() {
        System.out.println("text1");
        return "login.jsp";
    }
	
	// redirect:/text3 
	// redirect: 后面的URL前面加上 / 表示重定向到 controller(控制器) 中的其它方法。
    @RequestMapping("text2")
    public String text2() {
        System.out.println("text2");
        return "redirect:/text3";
    }

    @RequestMapping("text3")
    public String text3(){
        System.out.println("text3");
        return "test.jsp";
    }

	// forward:/text2 
	// forward: 后面的URL前面加上 / 表示转发到 controller(控制器) 中的其它方法。
    @RequestMapping("text4")
    public String text4(){
        System.out.println("text4");
        return "forward:/text2";
    }

    @RequestMapping("text5")
    public String text5(){
        System.out.println("text5");
        return "redirect:/text2";
    }
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值