Spring框架——day03springMVC与Spring整合

一,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,具体流程如下图:

可以在springmvc的配置文件中加入以下配置:
    <mvc:default-servlet-handler/>
这样,静态资源就交给默认servlet来处理了。
 
原文地址:https://www.cnblogs.com/memo-song/p/9157518.html