【SpringMVC】【请求转发和重定向】

视图解析器

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/view/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
  • forward:请求转发(去前后缀)
  • redirect:重定向.

基于返回mv对象

mv.setViewName("str");

  • str=”forward : 路径”        请求转发到一个jsp中
  • str=”forward : controller的映射”  请求转发到一个controller方法中
  • str=”redirect: 路径”         请求转发到一个非WEB-INF的jsp

常用:

  • str=”redirect : controller的映射”  重定向到一个controller方法中
  • str=”XXX”            根据前后缀,请求转发到 前缀/XXX.后缀
1:请求转发到jsp(默认的)
    @RequestMapping("/method1")
    public ModelAndView method1(HttpServletRequest req,ModelAndView mv) throws Exception{
        //请求转发到/WEB-INF/view/main.jsp
        mv.setViewName("main");  //默认加入前后缀
        return mv;
    }

    //访问非视图解析器的视图时,用forward
    @RequestMapping("/method3")
    public ModelAndView method3(HttpServletRequest req,ModelAndView mv) throws Exception{
        mv.setViewName("forward:WEB-INF/view/main.jsp");  //不添加前后缀
        return mv;
    }
2:请求转发到controller(必须用forward)
    @RequestMapping("/method4")
    public ModelAndView method4(HttpServletRequest req,ModelAndView mv) throws Exception{
        mv.setViewName("forward:method1");  
        return mv;
    }
3:重定向到controller
    @RequestMapping("/method5")
    public ModelAndView method5(HttpServletRequest req,ModelAndView mv) throws Exception{
        mv.setViewName("redirect:method3");  
        return mv;
    }
4:重定向到jsp
    @RequestMapping("/method5")
    public ModelAndView method5(HttpServletRequest req,ModelAndView mv) throws Exception{
        mv.setViewName("redirect:index.jsp");  
        return mv;
    }

基于返回字符串

由于返回是字符串,所以mv的设置将没有作用,要用req来传送值
  • str=”forward : 路径”        请求转发到一个jsp中
  • str=”forward : controller的映射”  请求转发到一个controller方法中
  • str=”redirect: 路径”         请求转发到一个非WEB-INF的jsp

常用:

  • str=”redirect : controller的映射”  重定向到一个controller方法中
  • str=”XXX”            根据前后缀,请求转发到 前缀/XXX.后缀
    @RequestMapping("method1")
    public String method1() throws Exception{
        return "redirect:method2";
    }

    @RequestMapping("method2")
    public String method2() throws Exception{
        return "forward:WEB-INF/view/main.jsp";
    }
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值