首先明白,重定向一定不会经过视图解析器,因为请求转发的页面是在地址栏直接访问的,是一个新的请求,如果经过视图解析器,拼接后的结果就是错误的,所以重定向一定不经过视图解析器。另外WEB-INF下的所有文件必须通过请求转发才能访问。

约定:在本项目存在/WEB_INF/pages/success.jsp文件,

SpringMVC的环境自行配置

方式一:SpringMVC提供的重定向

前端界面

<a href="${pageContext.request.ContextPath}/redirectMVC">SpringMVC方式重定向</a>

后台代码

//请求转发处理器
@RequestMapping("/redirectMVC")
public String forwardView(){
//不能由于上面介绍的原因,所以此处的写法是错误的
//return "redirect:/WEB_INF/pages/success.jsp";
//此处的写法是正确的
return "redirect:forwardMVC";
 }
@RequestMapping("/forwardMVC")
public String forwardMVC(){
return "success";
 }

方式二:Servlet原生支持的重定向

前端界面

<a href="${pageContext.request.ContextPath}/redirectCommon">传统方式重定向</a>

后台代码

//请求转发处理器
@RequestMapping("/redirectMVC")
public void forwardView(HttpServletRequest,HttpServletResponse){
response.sendRedirect(request.getContextPath()+"/项目名/forwardView");
 }

 

相关文章:

  • 2021-08-02
  • 2021-12-11
  • 2022-01-02
  • 2021-07-18
  • 2021-04-11
  • 2021-05-19
  • 2022-12-23
猜你喜欢
  • 2021-10-10
  • 2021-06-22
  • 2021-06-26
  • 2021-11-09
  • 2021-12-29
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案