<servlet> <servlet-name>SpringMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> <!-- <async-supported>true</async-supported> --> </servlet> <servlet-mapping> <servlet-name>SpringMVC</servlet-name> <!-- 此處能夠能夠配置成*.do,對應struts的後綴習慣 --> <url-pattern>*.do</url-pattern> </servlet-mapping>
<!-- 自動掃描該包,使SpringMVC認爲包下用了@controller註解的類是控制器 --> <context:component-scan base-package="com.zhangda.splatform.controller" /> <!-- 定義跳轉的文件的先後綴 ,視圖模式配置--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/view/" /> <property name="suffix" value=".jsp" /> </bean>
5.使用@RequestParam註解設定方法的參數名稱,例如:test(@RequestParam(value="username", required=false defaultValue="admin") String username)web
6 使用@RequestHeader 獲得請求頭,相似@RequestParamspring
7.使用@CookieValue 獲得cookie值,相似@RequestParam數據庫
8.能夠使用POJO做爲方法參數,能夠自動匹配,參數名直接使用pojo對象的屬性名,而不用pojo.屬性名。json
9.能夠使用servlet原生API做爲參數,支持類型以下: spring-mvc
10.ModelAndView:使用ModelAndView做爲方法的返回值類型,SpringMVC會把ModelAndView的model中的數據放到request域對象中。cookie
ModelAndView mav = new ModelAndView(); mav,addObject("time", new Date());
在對應的頁面上這樣接收:session
time:${requestScope.time}
11.能夠使用Map形式做爲方法參數,將數據放到map中,return返回頁面的名稱。mvc
12.使用@SessionAttributes將數據共享到session,能夠經過屬性名和屬性的對象類型指定,哪些數據能夠放到session中,該註解只能放到類上面。app
13.@ModelAttributes 更新操做,某個屬性值前臺不傳,而且不想被置空,使用該註解能夠從數據庫中取出對象。使用該註解標記的方法,會在每一個目標方法執行以前被SpringMVC調用,SpringMVC從Map中取出對象,並把表單請求參數賦給該對象的對應屬性,最後SpringMVC把上述對象傳入目標方法的參數。jsp
14.配置直接轉發的頁面,無須再通過handler
<mvc:view-controller path="/success" view-name="success"> <mvc:annotation-driven></mvc:annotation-driven>
15.重定向與轉發:使用返回的字符串開頭爲redirect或者forward。
16.返回json類型數據:方法上使用註解@ResponseBody,須要使用jackson的jar包
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.4</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.9.4</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.9.4</version> </dependency>
springmvc配置文件:
<!-- 定義跳轉的文件的先後綴 ,視圖模式配置--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/view/" /> <property name="suffix" value=".jsp" /> </bean> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <!--json視圖攔截器,讀取到@ResponseBody的時候去配置它--> <ref bean="mappingJacksonHttpMessageConverter"/> </list> </property> </bean> <!--json轉化器,它能夠將結果轉化--> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>application/json;charset=UTF-8</value> </list> </property> </bean>