1.设置ModelAndView对象
根据View的名称,和视图解析器,跳转到指定的页面。页面:视图解析器的前缀+view name +视图解析器的后缀名
跳转方式:转发
@RequestMapping("/hello.do")
public ModelAndView show(HttpServletRequest request, HttpServletResponse response)
{
ModelAndView mv = new ModelAndView();
mv.addObject("msg","hello hhh");
mv.setViewName("hello");
return mv;
}
2.通过Servlet API实现
这种方式不需要配置视图解析器。
通过HttpServletResponse实现
方法一
跳转方式:转发
@RequestMapping("/hello1.do")
public void show2(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.getWriter().println("hello HttpServlet API");
}
方法二:
跳转方式:重定向
@RequestMapping("/hello1.do")
public void show2(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.sendRedirect("index.jsp");
}
通过HttpServletRequest实现
跳转方式:转发@RequestMapping("/hello1.do")
public void show2(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
request.setAttribute("msg","request");
request.getRequestDispatcher("index.jsp").forward(request,response);
}
3.通过springMVC实现转发和重定向-----没有视图解析器
转发
方法一:
跳转方式:转发
@RequestMapping("/hello2.do")
public String show3() {
return "index.jsp";
}
方法二:
跳转方式:转发
@RequestMapping("/hello2.do")
public String show3() {
return "forward:index.jsp";
}
重定向
跳转方式:重定向
<pre name="code" class="plain">@RequestMapping("/hello2.do")
public String show3() {
return "redirect:index.jsp";
}
4.通过springMVC实现转发和重定向-----有视图解析器
转发:
@RequestMapping("/hello2.do")
public String show3() {
return "hello";
}
注意:重定向“redirect:index.jsp”不需要视图解析器