一,springMVC与Spring整合
SpringMVC本就是Spring的一部分,因此两个框架并不需要整合,但是因为springmvc属于web层,所以我们希望将web层的配置单独拿出来。
1.创建工程并配置必要的依赖
2.在resources中创建三个配置spring文件:
spring-web.xml
spring-service.xml
spring-dao.xml
3.在web.xml中配置springmvc的前端控制器、spring的监听器、字符集过滤器
<filter>
<filter-name>character</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>character</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<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-web.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-service.xml,classpath:spring-dao.xml</param-value>
</context-param>
4.配置spring-web.xml
<context:component-scan base-package="com.lanou.controller"/>
<!--注解方式的处理器映射器和处理器适配器-->
<mvc:annotation-driven/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
5.配置spring-service.xml和spring-dao.xml
spring-service.xml:
<context:component-scan base-package="com.lanou.service"/>
</beans>
spring-dao.xml:
<context:component-scan base-package="com.lanou.dao"/>
</beans>
二,SpringMVC中静态资源的访问
因为在web.xml中配置的前端控制器,拦截了所有资源请求,这其中也包括了静态资源,比如html,js,jpg... 所以在访问这些资源时,会404,具体流程如下图:
![](https://images2018.cnblogs.com/blog/1291523/201806/1291523-20180608204221425-501106918.png)
可以在springmvc的配置文件中加入以下配置:
<mvc:default-servlet-handler/>
这样,静态资源就交给默认servlet来处理了。