SpringMVC的请求转发的三种方法

Posted kitor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC的请求转发的三种方法相关的知识,希望对你有一定的参考价值。

SpringMVC请求转发的三种方法

首先明白请求转发是一次请求,地址栏不会发生变化,区别于重定向。springmvc环境自行配置。

以下举例中存在如下文件/WEB-INF/pages/success.jsp

请求转发的第一种情况:请求转发经过视图解析器

 前端页面

<a href="$pageContext.request.contextPath/forwardMvcView">请求转发经过视图解析器</a>

后台代码

@RequestMapping("/forwardMvcView")
public String forwardMvcView()
return "success";

上面就是一种请求转发

请求转发的第二种情况:不经过视图解析器

前端页面

<a href="$pageContext.request.contextPath/forwardView">请求转发经过视图解析器</a>

后台代码(由于不经过视图解析器,所以需要自己拼接前后缀)forward:关键字后面的路径表示不再经过视图解析器

@RequestMapping("/forwardView")
public String forwardView()
return "forward:/WEB_INF/pages/success.jsp";

请求转发的第三种情况:请求转发传统的方式——原生Servlet

前端页面

<a href="$pageContext.request.contextPath/forwardCommon">请求转发经过视图解析器</a>

后台代码

@RequestMapping("/forwardCommon")
public  forwardCommon(HttpServletRequest request,HttpServletResponse response)
  request.getServletDispatcher("/WEB-INF/pages/success.jsp").forward(request,response);

 

以上是关于SpringMVC的请求转发的三种方法的主要内容,如果未能解决你的问题,请参考以下文章

Servlet 的三种跳转方式

Bean初始化操作-SpringMVC中@ControllerAdvice注解的三种使用场景

Bean初始化操作-SpringMVC中@ControllerAdvice注解的三种使用场景

Bean初始化操作-SpringMVC中@ControllerAdvice注解的三种使用场景

SpringMVC访问静态资源的三种方式(转)

SpringMVC访问静态资源的三种方式