SpringMVC中的重定向和转发的实现

1.请求转发和重定向的区别

请求重定向和请求转发都是web开发中资源跳转的方式。

请求转发是服务器内部的跳转

  地址栏比发生变化

  只有一个请求相应

  可以通过request域对跳转目标的请求

请求重定向是浏览器自动发起对跳转目标的请求

  地址栏会发生变化

  两次请求相应

    无法通过request域传递对象

2.SpringMVC中实现转发和重定向

(1)在SpringMVC中仍然可以使用传统方式实现转发和重定向

  request.getRequestDispatcher(" ").forward(request,response);

  response.sendRedirect(" ");

(2)在SpringMVC中也提供了快捷方式实现转发和重定向

只要在返回视图时,使用如下方式指定即可:

    /**
     * 实现转发
     */
    @RequestMapping("/hello11.action")
    public String hello11(HttpServletRequest request){
        request.setAttribute("name", "cjj");
        return "forward:hello.action";
    }
    
    /**
     * 实现重定向
     */
    @RequestMapping("/hello12.action")
    public String hello12(HttpServletRequest request){
        request.setAttribute("name", "cjj");
        return "redirect:/hello.action";
    }

(3)可以利用转发,实现允许用户访问WEB-INF下保存的指定资源

    /**
     * 通过转发 实现 访问到在WEB-INF目录下的资源
     * @throws Exception 
     */
    @RequestMapping("/toFile.action")
    public String toFile(String vname){
        if("form".equals(vname)){
            return vname;
        }else{
            return "err";
        }
    }

 

转载于:https://www.cnblogs.com/chuijingjing/p/9845713.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值