Spring MVCでは、

ControllerClassNameHandlerMapping

は、要求されたURLをControllerにマッピングするための規約を使用しています。クラス名を取り、存在する場合は ‘Controller’接尾辞を削除し、残りのテキストを小文字で、先頭に「/」を付けて返します。

この `ControllerClassNameHandlerMapping`クラスの使用法を示すために、以下のいくつかの例を参照してください。

1.前後

デフォルトでは、Spring MVCは `BeanNameUrlHandlerMapping`ハンドラマッピングを使用しています。

<beans ...>

  <bean name="/welcome.htm"
        class="com.mkyong.common.controller.WelcomeController"/>

  <bean name="/helloGuest.htm"
        class="com.mkyong.common.controller.HelloGuestController"/>

</beans>

<beans ...>

  <bean
   class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>

  <bean class="com.mkyong.common.controller.WelcomeController"/>

  <bean class="com.mkyong.common.controller.HelloGuestController"/>

</beans>

今、Spring MVCは要求されたURLを以下の規則に従ってマッピングしています:

WelcomeController ->/welcome**
HelloGuestController ->/helloguest**

  1. /welcome.htm – > WelcomeController.

  2. /welcomeHome.htm – > WelcomeController.

  3. /heloguest.htm – > HelloGuestController.

  4. /heloguest12345.htm – > HelloGuestController.

  5. /helloGuest.htm、

    /helloguest

    ** をマップできませんでした. “g”の場合はありません.

一致。

2.大文字と小文字を区別

上記の大文字と小文字を区別する問題を解決するには、 ”

caseSensitive

“プロパティを宣言し、それをtrueに設定します。

<beans ...>

  <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" >
       <property name="caseSensitive" value="true"/>
  </bean>

  <bean class="com.mkyong.common.controller.WelcomeController"/>

  <bean class="com.mkyong.common.controller.HelloGuestController"/>

</beans>

今、Spring MVCは要求されたURLを次の規則に従ってマッピングしています:

WelcomeController ->/welcome**
HelloGuestController ->/helloGuest**

  1. /helloGuest.htm – > HelloGuestController.

  2. /helloguest.htm、 “/helloGuest ** “のマッピングに失敗しました. “G”の場合はありません.

一致。

3. pathPrefix

さらに、接頭辞を指定して、要求されたURLをマップし、 ”

pathPrefix

“プロパティを宣言することができます。

<beans ...>

  <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" >
     <property name="caseSensitive" value="true"/>
     <property name="pathPrefix" value="/customer"/>
  </bean>

  <bean class="com.mkyong.common.controller.WelcomeController"/>

  <bean class="com.mkyong.common.controller.HelloGuestController"/>

</beans>

今、Spring MVCは要求されたURLを次の規則に従ってマッピングしています:

WelcomeController ->/customer/welcome**
HelloGuestController ->/customer/helloGuest**

  1. /customer/welcome.htm – > WelcomeController.

  2. /customer/helloGuest.htm – > HelloGuestController.

  3. /welcome.htm、失敗しました.

  4. /helloGuest.htm、失敗しました.

ソースコードをダウンロードする

ダウンロードする –

SpringMVC-ControllerClassNameHandlerMapping-Example.zip

(7KB)