SpringMVC:结果跳转方式
一、ModelAndView
设置ModelAndView对象,根据view的名称,和视图解析器跳到指定的界面。
页面:{视图解析器前缀}+viewname+{视图解析器后缀}
<!-- 视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean>
对应的Controller类:
public class HelloController implements Controller { @Override public ModelAndView handleRequest(javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse) throws Exception { //ModelAndView 模型与视图 ModelAndView modelAndView = new ModelAndView(); //封装对象,放在modelAndView中 modelAndView.addObject("msg","HelloSpringMVC!"); //封装要跳转的视图,放在modelAndView中 modelAndView.setViewName("hello"); return modelAndView; } }
二、ServletAPI
我们也可以使用原生的Servlet实现页面跳转,不需要视图解析器
1.通过HttpServletResponse进行输出
2.通过HttpServletResponse进行重定向
3.通过HttpServletResponse实现转发
本质上就是Servlet:
- Servlet(req, resp)
- doService(req, resp)