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";
}
本文详细介绍了如何使用Spring MVC控制器实现页面跳转与重定向,包括使用ModelAndView对象、Servlet API、Spring MVC自带的转发与重定向功能,并通过实例代码进行演示。
1160

被折叠的 条评论
为什么被折叠?



