1、设置ModelAndView对象,根据View名称和视图解析器跳到指定的页面
页面:视图解析器的前缀+viewname+视图解析器的后缀
ModelAndView mv = new ModelAndView();
// 封装要显示到视图中的数据
mv.addObject("msg", "hello springmvc annocation");
// 视图名
mv.setViewName("hello");
return mv;
2、通过ServletAPI对象来实现,不需要视图解析器的配置
2.1、通过HttpServletResponse来进行输出
@Controller
public class HelloController {
@RequestMapping("/hello")
public void hello(HttpServletRequest req, HttpServletResponse resp) throws IOException {
resp.getWriter().println("hello spring mvc use servlet api");
}
}
2.2、通过HttpServletResponse来实现重定向
@Controller
public class HelloController {
@RequestMapping("/hello")
public void hello(HttpServletRequest req, HttpServletResponse resp) throws IOException {
resp.sendRedirect("hello.jsp");
}
}
2.3、实现HttpServletRequest转发
public class HelloController {
@RequestMapping("/hello")
public void hello(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
req.setAttribute("msg", "servlet api forword");
req.getRequestDispatcher("hello.jsp").forward(req, resp);
}
}
3、通过Spring mvc实现转发和重定向-----没有视图解析器时
转发的实现:第一种
@RequestMapping("/hello1")
public String hello()
{
//转发
return "index.jsp";
}
第二种:
@RequestMapping("/hello1")
public String hello()
{
//转发2
return "forward:index.jsp";
}
重定向
@RequestMapping("/hello1")
public String hello()
{
//重定向:
return "redirect:index.jsp";
}
4、通过Spring mvc实现转发和重定向-----有视图解析器时
转发方式:
@RequestMapping("/hello1")
public String hello1()
{
//重定向:
return "hello";
}
注意:重定向"redirect:index.jsp"不需要视图解析器