SpringMVC 转发重定向和拦截器

转发和重定向
在控制器内部处理请求的方法中,默认返回字符串时的处理方式是转发,转发的值是view组件的名称,比如return "login",实质上会根据视图解析器(ViewResolver)得到最终负责显示的页面,而通过return redirect:路径这样的语法表示重定向,在redirect:右侧的内容是路径,这个路径通常使用相对的路径,是以当前客户端的地址栏中的路径为标准进行参考,
例如当前的地址为:http://localhost:8080/Project/user/reg,然后return "redirect:login",则会重定向到http://localhost:8080/Project/user/login,
如果return "redirect:/main/index"或者return "redirect:../main/index",则会重定向到http://localhost:8080/Project/main/index
forward:
不添加任何字段,那么spring中默认的是转发,比如return login,那么这个会经过视图解析器进行解析,跳转到指定的视图。但是如果添加了forward,那么就不经过视图解析器,而是直接进行跳转,我们一般都是转发到controller中的方法,比如return forward:../user/showLogin.do
redirect:
重定向 : return "redirect:login.do"
返回的是一个Controller方法的路径,而不是一个view,这个不会经过视图解析器,而是直接跳转
实例:

@RequestMapping(value = "login")
    public String login(String name,String pwd,Model model,HttpSession session) {
        
        if (name.equals("srd")&&pwd.equals("123")) {
            session.setAttribute("name", name);
            return "redirect:/main"; //重定向到main这个控制方法,main对应的就是转发到main.jsp
        }else {
            model.addAttribute("mes", "账号密码错误");
            return "login";
        }
    }
@RequestMapping(value = "main")
    public String toMain() {
        return "
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值