跳转的五种方法
第一种:返回值跳转
注:返回值就是视图名称
@RequestMapping(path = "/testUser")
public String testUser(){
System.out.println("跳转");
return "success";
}
第二种:无返回值
注:方法名就是视图名
@RequestMapping(path = "/testVoid")
public void testVoid(){
System.out.println("跳转");
}
第三种:原声Servlet
注:要写全路径
@RequestMapping(path = "/testRequest")
public void testRequest(HttpServletRequest request, HttpServletResponse response) throws Exception{
System.out.println("跳转");
//request.getRequestDispatcher("/users/success.jsp").forward(request,response);
System.out.println(request.getContextPath());
response.sendRedirect(request.getContextPath()+"/users/success.jsp");
}
第四种:返回ModelAndView
注:第一种和第二种的底层也是这个实现的
@RequestMapping(path = "/testModelAndView")
public ModelAndView testModelAndView(){
ModelAndView mv = new ModelAndView();
mv.addObject("user","用户"); //保存数据到request域中(注:key:value)
System.out.println("跳转");
mv.setViewName("success");//跳转页面
return mv;
}
第五种:关键字跳转
注:关键字:forward转发 redirect重定向
@RequestMapping(path = "/testKeyword")
public String testKeyword(){
return "forward:/users/success.jsp";//转发
//return "redirect:/index.jsp";//重定向
}