springMVC_05结果跳转方式

一.总结

  总共有四个,

  1.设置ModelAndView的值,根据view和视图解析器跳转到指定的页面

  2.通过servletapi对象来实现,不需要视图解析器

  3.通过springmvc来实现转发和重定向不需要视图解析器

  4.通过springmvc来实现转发需要视图解析器,

  注意:重定向不需要视图解析器

二.详细

  1.设置ModelAndView的值,根据view和视图解析器跳转到指定的页面

    页面:视图解析器前缀+viewname+视图解析器后缀

  public ModelAndView handleRequest(HttpServletRequest req,
   HttpServletResponse resp) throws Exception {
   // TODO Auto-generated method stub
   ModelAndView mv=new ModelAndView();
  
   //设置要显示到视图的信息
   mv.addObject("msg", "hello springmvc");
   //设置视图名称
   mv.setViewName("hello");
  
   return
mv;
   }
    视图解析器
  <!-- 配置渲染器 -->
   <bean id="jspViewResolver" 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"/>
   <!-- 例:视图名为:hello 渲染后:/WEB-INF/jsp/hello.jsp 该页面-->
   </bean>

  2.通过servletapi对象来实现,不需要视图解析器

     * @throws IOException */
@RequestMapping("/hello1")
public void hello(HttpServletRequest req,HttpServletResponse resp) throws IOException{
resp.getWriter().println("this is use servlet api to success");
}

  3.通过springmvc来实现转发和重定向不需要视图解析器

    转发1
@RequestMapping("/hello2")
public String hello2(){
//转发和重定向之间的区别,转发地址不变,重定向地址改变
//默认寻找webroot内的界面
return "index.jsp";
}
    转发2
    @RequestMapping("/hello2")
public String hello2(){
//转发和重定向之间的区别,转发地址不变,重定向地址改变
//转发1,默认寻找webroot内的界面
return "forward:index.jsp";
}
   重定向
    @RequestMapping("/hello2")
public String hello2(){
//转发和重定向之间的区别,转发地址不变,重定向地址改变
//转发1,默认寻找webroot内的界面
return "redirect:index.jsp";
}

  4.通过springmvc来实现转发需要视图解析器

@RequestMapping("/hello2")
public String hello2(){
//默认寻找设定的界面
return "forward:hello.do";
}
上一篇:IIS7 应用程序池回收


下一篇:MySQL rand(随机数)、floor(保留整数)、char(ASCII 转字符)、concat(字符串连接)