SpringMVC的返回值类型

  最近去面试有两次问道了SpringMVC的返回值,第一次没答上来了,第二次也没答上来了,因为项目中用的SpringMVC的返回值类型是ModelAndView,回答的时候只说了String和ModelAndView。回来查了一下知道SpringMVC的返回值类型,SpringMVC的返回值类型有ModelAndView,String,void,Map,Model,下面是实现代码。

web.xml

[html]  view plain  copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.5"   
  3.     xmlns="http://java.sun.com/xml/ns/javaee"   
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
  6.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  7.   <display-name></display-name>   
  8.   <welcome-file-list>  
  9.     <welcome-file>index.jsp</welcome-file>  
  10.   </welcome-file-list>  
  11.   <servlet>  
  12.               <servlet-name>springMVC</servlet-name>  
  13.               <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
  14.               <init-param>  
  15.                       <param-name>contextConfigLocation</param-name>  
  16.                       <param-value>  
  17.                              <!-- classpath*:springController.xml -->  
  18.                              classpath*:springControllerZhujie.xml  
  19.                       </param-value>  
  20.               </init-param>  
  21.   </servlet>  
  22.     
  23.   <servlet-mapping>  
  24.                 <servlet-name>springMVC</servlet-name>  
  25.                 <url-pattern>/</url-pattern>  
  26.   </servlet-mapping>  
  27.   
  28.  <context-param>  
  29.                  <param-name>contextConfigLocation</param-name>  
  30.                  <param-value>classpath*:springDAO.xml</param-value>  
  31.   </context-param>   
  32.   <listener>  
  33.                  <listener-class>  
  34.                        org.springframework.web.context.ContextLoaderListener  
  35.                  </listener-class>  
  36.   </listener>  
  37.   
  38. </web-app>  


SpringMVC配置文件springControllerZhujie.xml

[html]  view plain  copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       
  3.     xmlns="http://www.springframework.org/schema/beans"      
  4.     xmlns:mvc="http://www.springframework.org/schema/mvc"      
  5.     xmlns:context="http://www.springframework.org/schema/context"      
  6.     xmlns:aop="http://www.springframework.org/schema/aop"      
  7.     xmlns:tx="http://www.springframework.org/schema/tx"      
  8.     xsi:schemaLocation="http://www.springframework.org/schema/beans     
  9.         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd    
  10.         http://www.springframework.org/schema/mvc    
  11.         http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd    
  12.         http://www.springframework.org/schema/context    
  13.         http://www.springframework.org/schema/context/spring-context-3.0.xsd     
  14.         http://www.springframework.org/schema/aop      
  15.         http://www.springframework.org/schema/aop/spring-aop-3.0.xsd     
  16.         http://www.springframework.org/schema/tx     
  17.         http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">   
  18.         <!-- 将 com.wangbiao.springMVC包下带有注解的java类放入SpringIOC容器中,生成实例-->  
  19.         <context:component-scan base-package="com/wangbiao/springMVC"></context:component-scan>  
  20.         <!-- 对应分别提供了AbstractHandlerMethodMapping , AbstractHandlerMethodAdapter 主要作用相当于HandleMapping,HandleAdapter-->  
  21.         <mvc:annotation-driven/>  
  22.           
  23.          <!--视图解析器-->    
  24.         <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">    
  25.             <!-- webroot到一指定文件夹文件路径 -->    
  26.             <property name="prefix" value="/"/>    
  27.             <!-- 视图名称后缀  -->    
  28.             <property name="suffix" value=".jsp"/>    
  29.         </bean>    
  30.     </beans>  

[java]  view plain  copy
  1. package com.wangbiao.springMVC;  
  2.   
  3. import java.util.HashMap;  
  4. import java.util.Map;  
  5.   
  6. import javax.servlet.ServletContext;  
  7. import javax.servlet.http.HttpServletRequest;  
  8. import javax.servlet.http.HttpServletResponse;  
  9.   
  10. import org.springframework.context.ApplicationContext;  
  11. import org.springframework.stereotype.Controller;  
  12. import org.springframework.ui.Model;  
  13. import org.springframework.web.bind.annotation.RequestMapping;  
  14. import org.springframework.web.bind.annotation.RequestMethod;  
  15. import org.springframework.web.servlet.ModelAndView;  
  16. import org.springframework.web.servlet.View;  
  17. import org.springframework.web.servlet.mvc.multiaction.MultiActionController;  
  18. @Controller  
  19. @RequestMapping("/return")  
  20. public class HelloWorld extends  MultiActionController{  
  21.   
  22.     /* 
  23.      * 返回值为ModelAndView类型的 
  24.      */  
  25.     public ModelAndView sayHelloWorld(HttpServletRequest request, HttpServletResponse response) {  
  26.         String param = request.getParameter("param");  
  27.         System.out.println("springMVC测试:helloWorld;"+param);  
  28.         ModelAndView mv = new ModelAndView();  
  29.         User user = (User) this.getApplicationContext().getBean("user");  
  30.         mv.addObject("content""springMVC HelloWorld:"+param);  
  31.         mv.setViewName("springMVC/helloWorld");  
  32.         ServletContext ctx = this.getServletContext();    
  33.         return mv;  
  34.     }  
  35.     /* 
  36.      * 返回值为String类型的,视图名就是返回值 
  37.      */  
  38.     @RequestMapping(value="/returnString",method=RequestMethod.GET)  
  39.     public String returnString(Model model) {  
  40.         model.addAttribute("test""return string!!!");  
  41.         System.out.println("springMVC测试:helloWorld;");  
  42.         return "return/returnString";  
  43.     }  
  44.       
  45.     /* 
  46.      * 返回值是void类型的,由于没有返回值 
  47.      * 它默认的展示视图名和url中的一段是一样的即returnVoid.jsp 
  48.      */  
  49.     @RequestMapping("/returnVoid")  
  50.     public void returnVoid(Model model){  
  51.         model.addAttribute("test""return void!!!");  
  52.     }  
  53.       
  54.     /* 
  55.      * 返回值是void类型的,由于没有指定视图名 
  56.      * 它默认的展示视图名和url中的一段是一样的即returnVoid.jsp 
  57.      */  
  58.     @RequestMapping("/returnModel")  
  59.     public Model returnModel(Model model){  
  60.         model.addAttribute("test""return Model!!!");  
  61.         return model;  
  62.     }  
  63.       
  64.     /* 
  65.      * 返回值是void类型的,由于没有指定视图名 
  66.      * 它默认的展示视图名和url中的一段是一样的即returnVoid.jsp 
  67.      */  
  68.     @RequestMapping("/returnMap")  
  69.     public Map returnMap(Model model){  
  70.         Map map = new HashMap<String,String>();  
  71.         map.put("test""return map!!!");  
  72.         return map;  
  73.     }  
  74.       
  75.   
  76. }  

returnString.jsp

[html]  view plain  copy
  1. <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>  
  2. <%  
  3. String path = request.getContextPath();  
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  5. %>  
  6.   
  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  8. <html>  
  9.   <head>  
  10.     <base href="<%=basePath%>">  
  11.       
  12.     <title>My JSP 'returnString.jsp' starting page</title>  
  13.       
  14.   </head>  
  15.     
  16.   <body>  
  17.     123456 ${test }<br>  
  18.   </body>  
  19. </html>  


运行链接
http://3g.fang.com:8000//SpringMVC/return/returnString

显示


运行链接http://3g.fang.com:8000//SpringMVC/return/returnVoid,显示:
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值