springMVC的核心为一个DispatcherServlert,相关配置都是以这个servlet相关的,所以要先配置DispatcherServlert。在web.xml文件中加上:
<servlet> <servlet-name>mvc-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- spring mvc的配置文件 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>mvc-dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
这个所有的url都映射到这个dispatcher,由它分配到相应的Controller,返回时再解析到正确的View。这个配置指定了springMVC的配置文件的位置:classpath:springmvc-servlet.xml
再看springmvc-servlet.xml的内容:
1.注解识别
<context:annotation-config/>
2.自动扫描包
<context:component-scan base-package="com.mdahly.*" />
3.视图定位,指定了视图的前缀和后缀,Controller里的方法就只用返回jsp文件的名称
<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>
4.静态资源访问
<!-- 指定静态资源文件的位置(位于webapp目录下的resources文件夹, 该文件夹下面放的是一些图片文件、js文件、css文件) -->
<resources location="/resources/" mapping="/resources/**"></resources>
5.文件上传,设置了默认编码方式,文件大小限制和内存大小限制。
<!-- 文件上传 -->
<beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<beans:property name="defaultEncoding" value="UTF-8"/>
<beans:property name="maxUploadSize" value="10485760000"/>
<beans:property name="maxInMemorySize" value="81920000"/>
</beans:bean>