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”不需要视图解析器
一、设置ModelAndView对象。
1、根据View的名称和视图解析器跳转到指定的页面。
2、跳转的页面:视图解析器的前缀 + view name +视图解析器的后缀
3、属于转发方式
二、通过ServletAPI来实现(void)
1、springmvc配置文件不需要配置视图解析器
例子一:通过httpServletResponse来进行输出
例子二:通过httpServletResponse实现重定向
例子三:通过httpServletResponse实现转发
三、通过springmvc实现转发和重定向 -- 没有配置视图解析器(string)
例子一:转发的实现1
例子二:转发的实现2
例子三:重定向
三、通过springmvc实现转发和重定向 -- 有配置视图解析器(string)
视图解析器后缀为jsp
例子一:转发方式
例子二:(1)重定向到index.jsp页面
跟没有配置视图解析器时一样
(2)重定向到requestMapping为hello的方法。
若是直接写hello,也是表示重定向到requestMapping为hello的方法;但若web.xml中配置url 请求需以do结尾;则hello的请求会被拦截,报404错误。