記錄一次SpringMvc的非註解式配置,可以url匹配到多個執行方法

RT,廢話不多說:

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
        xs:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">


    <!--

                                用於SpringMvc非註解式開發的配置與執行流程:

                                        handler: 它是一個web層的邏輯類。

                                        後臺業務分三層,而SpringMvc處於web層(用戶交互層)。

                                        然後每一個WEB層框架都有一個請求入口,SpringMvc的入口是一個Servlet;當用戶請求時會被tomcat適配servlet,
                                        如果匹配則執行servlet的doService方法。正式進入SpringMvc的執行流程...

                                        SpringMvc會先執行Handler映射器,獲取到一個Handler執行鏈,其中包括一個handler和多個Interceptor。

                                        當拿到執行鏈之後,通過handler獲取對應的handler適配器,由適配器執行handler。執行完handler後會返回一個ModelAndView對象...

                                        最後通過視圖解析器解析視圖響應頁面或者轉發請求。

    -->

    <!--
                    配置式的Handler需要實現一個MultActionController接口,提供一個方法名解析器;
                            並且執行業務邏輯的方法需要傳入request、response對象。否則無法匹配。
    -->
    <bean id="testController" class="com.bingco.control.TestController">
        <property name="methodNameResolver" ref="requestResolver" />
    </bean>

    <bean id="requestResolver" class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
        <property name="mappings">
            <props>
                <prop key="/test/method">method1</prop>
            </props>
        </property>
    </bean>

    <bean id="handlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="urlMap">
            <props>
                <prop key="/test/**">testController</prop>
            </props>
        </property>
    </bean>

    <bean id="handlerAdapter" class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />

    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages" />
        <property name="suffix" value=".jsp" />
    </bean>
</beans>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章