5.1、ModeAndView(最常用的方式)
设置ModeAndView对象, 根据view的名称, 和视图解析器跳到指定的页面
页面: {视图解析器前缀} + viewName + {视图解析器后缀}
<!--视图解析器: 模板引擎 Thymeleaf Freemarker...(核心之一,不可省)--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver"> <!--前缀--> <property name="prefix" value="/WEB-INF/jsp/"/> <!--后缀--> <property name="suffix" value=".jsp"/> </bean>对应的controller类
//只要实现了Controller接口的类,说明这就是一个控制器了public class Controller01 implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { //返回一个模型视图 ModelAndView mv = new ModelAndView(); mv.addObject("msg","Controller01"); mv.setViewName("test"); return mv; }}5.2、ServletAPI(web的原始方法)
通过ServletAPI, 不需要视图解析器
1、通过HttpServletResponse进行输出
2、通过HttpServletResponse实现重定向
3、通过HttpServletRequest实现请求转发
![image.png](https://img-blog.csdnimg.cn/img_convert/ce608883cd291d5af3ac27114e93104f.png#clientId=udcf5c1db-737d-4&from=paste&height=464&id=u45e00c0b&margin=[object Object]&name=image.png&originHeight=410&originWidth=762&originalType=binary&ratio=1&size=195154&status=done&style=shadow&taskId=u2a97186e-c135-42cc-8ded-4618f2f6aa5&width=863)
通过SpringMVC来实现转发和重定向 - 无需视图解析器
测试前, 需将视图解析器注释掉
PS: 有视图解析器时, 视图解析器对重定向无效!!
@RequestMapping("/mvc3")
**public **String test3() {
_//重定向(视图解析器对重新定无效)
_return “redirect:/a.jsp”;
}