1. 程式人生 > >SpringMVC中的種對映處理器

SpringMVC中的種對映處理器

在SpringMVC中處理請求到對應的Controller有三種:

一、BeanNameUrlHandlerMapping(預設)

       該處理器根據bean的name屬性對應到請求上

<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>可有可無

     例如:

           <bean name="/index3" class="com.controller.Controller1" > </bean>

         那麼此時http://localhost:8080/spring/index3     就會對應到該Controller1上,注意name中“/”必須有。

二、SimpleUrlHandlerMapping
該處理器為簡單對映處理  

   例如:

            <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">  
            <property name="mappings">  
                <props>  
                    <prop key="/index2">index1</prop>  //index2表示請求路徑,index1表示對應Controller的id
                </props>  
            </property>  
        </bean>  

<bean id="index1" class="com.controller.Controller1" ></bean>
        那麼此時http://localhost:8080/spring/index2     就會對應到該Controller1上
          

  如果我們的請求僅僅只是跳轉到一個頁面那麼就可以通過:

1. <bean name="/index" class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>

      當我們使用http://localhost:8080/spring/index 就可以直接跳轉到index.jsp,即該controller直接將請求路徑對應到與之同名的頁面。在這裡我們使用的預設的對映處理器,也可以使用SimpleUrlHandlerMapping,那麼此時頁面將跳轉到與key同名的頁面

2. <bean id="index1" class="org.springframework.web.servlet.mvc.ParameterizableViewController" >
         <property name="viewName" value="index"></property>
       </bean>

        在這裡使用的是SimpleUrlHandlerMapping方式。