<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>