오락기/spring

ControllerClassNameHandlerMapping

문방구앞오락기 2017. 11. 16. 17:17

나는 스프링 4때부터 봣기때문에 이러한 것이 잇는지도 몰랐다.

요세 하는 프로젝트에 @Requestmapping부분이 아무런 옵션이 없길래

왜그런가 해서 찾아보니 그냥 폼으로 적어놓은거더라

그러면서 컨트롤러는 url맵핑이 된다? 왜그런지 이유를 찾아봤다.


<!--         URI handler mapping -->

<beans:bean id="urlMapping" class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping">

<beans:property name="caseSensitive" value="false" />

<beans:property name="basePackage" value="com.plays.js" />

</beans:bean>

 

이것은 2.X시절에 사용하던 Mapping방식

빈을 등록시켜주면  해당 패키지에 Controller 잇으면 찾아서 Controoler url맵핑해줌.

예를 들어서 HomeController였으면 home이라는 글자로 맵핑됨

자세한 예를 들어서

서버 url js 시작한다고치면

Com.plays.js.home HomeController class 있고 test method 있으면

주소는

Host:port/js/home/home/test 매칭댐

여기서  첫번째 home 패키지 home 두번째 home HomeController에서 home

 

옵션이 몇가지있는데

basePackage 기본적으로 패키지를 말하는거야 만약에 com이라고 해놧으면

Url 바뀜

Com 기본이니깐 plays/js/home/home/test 바뀜

caseSensitive 대문자 사용여부

 

pathPrefix 는 접두어 형태로 특정 url 강제할수있다.