1.设置ModelAndView对象,根据View的名称和视图解析器跳转到指定的页面。
页面:视图解析器的前缀+view name+视图解析器的后缀
public class HelloController extends AbstractController { @Override protected ModelAndView handleRequestInternal( HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse) throws Exception { String username = paramHttpServletRequest.getParameter("username"); System.out.println("username:" + username); ModelAndView mav = new ModelAndView("index"); mav.addObject("hello", username); return mav; } }
2.通过ServletApi对象来实现,不需要视图解析器的配置
通过httpServletResponse来进行输出
@Controller public class HelloController { @RequestMapping("hello.do") public void hello(ServletRequest req, ServletResponse res) throws IOException{ res.getWriter().println("this is servlet api "); } }
通过HttpServletResponse实现重定向
3.通过Spring mvc实现转发和重定向---没有视图解析器
转发的两种方式:
@RequestMapping("hello1") public String hello1(){ //请求转发的第一种方式 // return "index.jsp"; //请I去转发第二种方式 return "forward:index.jsp"; }
@RequestMapping("hello1") public String hello1(){ //请求转发的第一种方式 // return "index.jsp"; //请I去转发第二种方式 // return "forward:index.jsp"; //重定向 return "redirect:index.jsp"; }
转发:
@RequestMapping("hello2") public String hello2(){ return "hello"; }
@RequestMapping("hello2") public String hello2(){ //请求转发 // return "hello"; //重定向 return "redirect:hello.do"; }