- Spring  HandlerMapping 을 이용한 Controller 설정방법

   1. BeanNameUrlHandlerMapping 클래스(HandlerMapping 설정을 하지않으면 기본으로 적용되는 클래스)

   dispatcher-servlet.xml Controller 등록 예

        <!-- Controller -->
    <bean id="indexController" name="/index.html" class="controller.IndexController"
        p:shopService-ref="shopService">
    </bean>

    ※ Controller : 브라우져에서 URL요청이 오면 처리해야할 비지니스로직을 맵핑해주는 클래스

        위의 예제를 보면 name="/index.html" 요청이오면 indexController 클래스에 정의된 서비스조직으로 넘긴다(shopService)

        밑에 p:shopService-ref="shopService" 가 무조건 서비스를 처리한다는 것은 아니다.(거의 대부분 맞지만..)

        Controller 클래스에서 인스턴스를 직접 생성하지않고, 스프링이 제공하는 객체를 받아서 사용할 때 설정하는 부분

        Controller 클래스를 열어보면 아마도...

        private Shop shopService;

        public void setShopService(Shop shopService) {

            this.shopService = shopService;

        }

        이 Setter 이 있을 것이고, 스프링이 자동으로 객체를 넘겨주는 역할을 한다.

        즉 프레임워크 사용전에 Shop shopService = new Shop(); 를 안해도 사용이 가능케 하준다는 말!!!

        위의, 1번 Controller 클래스(BeanNameUrlHandlerMapping) 를 사용하면 요청 URL 마다 일일이 컨트롤러 클래스를 맵핑을

        해주어야 하는 번거로움이 심각하다. 걍 이런게 있다고 알고만 있자..


   2. SimpleUrlHandlerMapping

   dispatcher-servlet.xml Controller 등록 예

    <!-- HandlerMapping -->
    <bean id="handlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

<property name="mappings">

<value>

/index.html=indexController

/detail.html=detailController

</value>

</proerty>

    </bean>

      <!-- Controller -->
    <bean id="indexController" name="/index.html" class="controller.IndexController"
        p:shopService-ref="shopService">
    </bean

    ※ /index.html 이 요청이 오면 indexController 클래스로 맵핑


3. 한가지 더 있는데 그건 아직.. 공부중 나중에 올리자.

+ Recent posts