spring mvc 请求转发和重定向

转载 2016年08月30日 22:41:17

请求重定向与请求转发的比较,HttpServletResponse.sendRedirect方法和RequestDispatcher.forward方法都可以让浏览器获得另外一个URL所指向的资源,但两者的内部运行机制有很大的区别。

1.RequestDispatcher.forward方法只能将请求转发给同一个Web应用中的组件,HttpServletResponse.sendRedirect不仅可以重定向到当前应用程序的其他资源,还可以重定向到同一个站点上的其他应用程序的资源,甚至是使用绝对URL重定向到其他站点的资源。对于sendRedirect如果传递的URL以”/”开头,他是相对于整个Web站点的根目录;对于forward如果传递的URL以”/”开头,它是相对于当前Web应用程序的根目录。

2.sendRedirect对浏览器做出的响应是重新发出对另外一个URL的访问请求,forward在服务器端内部将请求转发给另外一个资源,浏览器只知道发出了请求并得到了响应结果

3.forward的调用者与被调用者之间共享相同的request对象和response对象,他们属于同一个访问请求和响应过程;sendRedirect的调用者与被调用者使用各自的request和response对象,属于两个独立的访问请求和响应过程

请求重定向以redirect:开头,请求转发以forward:开头; 
样例如下:

@RequestMapping(value="/users")
@Controller
public class UserController {

    @RequestMapping(value="/queryuser",method = RequestMethod.GET)
    public String queryuser(Model model) throws Exception {
        return "forward:/users/uc";
    }

    @RequestMapping(value="/uc",method = RequestMethod.GET)
    public String quer(Model model) throws Exception {

        return "redirect:/#/home";
    }

     @RequestMapping(value = "/save", method = RequestMethod.GET)  
        public ModelAndView saveUser(HttpServletRequest request, HttpServletResponse response) throws Exception {  
            ModelAndView mv = new ModelAndView("forward:/users/uc");//默认为forward模式  
//        ModelAndView mv = new ModelAndView("redirect:/#/home");//redirect模式  
            return mv;  
        } 
} 

相关文章推荐

spring mvc 请求转发和重定向

spring mvc3中的addFlashAttribute方法 url: http://www.software8.co/wzjs/java/2943.html   记得在spring mvc...
  • jackpk
  • jackpk
  • 2014-02-12 16:15
  • 298535

spring mvc 重定向和请求转发

1. 需求背景     需求:spring MVC框架controller间跳转,需重定向。有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示。 本来以为挺简单的...

spring mvc 请求转发和重定向

spring mvc controller间跳转 重定向 传参 列表页面有查询条件,跳转后我的查询条件不能丢掉 为了解决这个问题,看了这个篇文章,感觉解释的很全。拿来记录分享。 原问题: ...

spring mvc 请求转发和重定向

请求重定向与请求转发的比较,HttpServletResponse.sendRedirect方法和RequestDispatcher.forward方法都可以让浏览器获得另外一个URL所指向的资源,但...

springMVC实现重定向

springMVC实现重定向    (1)如果处理方法的返回值是String         return "redirect:toSuccess.do"; (2)如果处理方法的返回...

SpringMVC请求转发与重定向以及视图与数据的返回

项目配置的viewResolver <property name="viewClass" value="org.springfram

Spring mvc 转发、重定向

spring控制器最后返回一个ModelAndView(urlName),其中urNamel可以是一个视图名称,由视图解析器负责解析后将响应流写回客户端;也可以通过redirect/forward:u...
  • yczz
  • yczz
  • 2010-10-13 09:03
  • 13137

spring mvc 请求转发和重定向

spring mvc controller间跳转 重定向 传参 url:http://zghbwjl.blog.163.com/blog/static/120336672201377952528...

spring mvc 请求转发和重定向

1. 需求背景     需求:spring MVC框架controller间跳转,需重定向。有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示。 本来以为挺...

SPRING MVC3.2案例讲解-请求重定向与请求转发

请求重定向与请求转发的比较,HttpServletResponse.sendRedirect方法和RequestDispatcher.forward方法都可以让浏览器获得另外一个URL所指向的资源,但...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)