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";
}
4.通过Spring MVC转发---没有视图解析器
转发:
@RequestMapping("hello2")
public String hello2(){
return "hello";
}
注意:重定向没有用到视图解析器:
@RequestMapping("hello2")
public String hello2(){
//请求转发
// return "hello";
//重定向
return "redirect:hello.do";
}