Java2EE Framework/Struts1.3

스트럿츠1.3 - 컨트롤러 구현 방법

본클라쓰 2010. 5. 29. 07:10

컨트롤러 컨포넌트

 

 스트럿츠의 컨트롤러는 스트럿츠가 제공하는 가장 유연한 영역이다. 스트럿츠의 컨트롤러는 사용자의 요청 URL을 분석하여 해당 Action 클래스를 호출하고 Action 클래스는 필요한 비즈니스 로직을 수행한 후 결과 페이지로 포워드 시키는 역할을 한다.

 

 

※ 참고

스트럿츠를 이해하기 위해선 웹 컨테이너, 서블릿 프로그래밍에 대해 알고 있어야 한다. 스트럿츠 자체가 서블릿 기반의 프레임워크이기 때문에 이 둘 중 하나라도 모르는게 있다면 스트럿츠를 이해하기 힘들다. 따라서, 부족한 부분은 다시 한번 살펴보고 스트럿츠를 공부하는 것이 스트럿츠를 이해하는데 도움이 된다.

 

 

스트럿츠 컨트롤러 구현 방법

 

 사용자의 요청을 처리하는 컨트롤러의 구현 방법에 대해 알아보자.

 

 스트럿츠는 ActionServlet 클래스가 URL 매핑을 통해 수행할 Action 클래스를 지정하는데 설정 파일을 사용한다. 즉, 스트럿츠는 설정 파일을 통한 URL 과 컨트롤러 매핑 프레임워크이다.

 

 스트럿츠는 web.xml 파일에 ActionServlet 클래스를 등록할 때 같이 지정한 스트럿츠 설정파일을 통해 요청을 처리하는 컨트롤러를 매핑시킨다. 따라서 스트럿츠 설정파일에는 요청 URL에 매핑 시킬 컨트롤러를 지정해야 한다. 지정하는 방법은 다음과 같다.

 

<struts-config>

 

    <form-beans>

        <form-bean name="login" type="org.apache.struts.webaap.example.LoginForm"/>

    </form-beans>

 

    <global-forwards type="org.apache.struts.action.ActionForward">

        <forward name="login" path="/login.jsp" redirect="false"/>

    </global-forwards>

 

    <action-mappings>

        <action path="/login" type="org.apache.struts.webapp.example.LoginAction" scope="request" input="login.jsp" validate="true"/>
    </action-mappings>

 

</struts-config>

 

 스트럿츠의 설정파일 작성 방법은 스트럿츠 프레임워크를 공부하면서 제대로 알 수 있다. 지금은 그냥 예시만 든 것이다. 이렇게 스트럿츠 매핑 설정파일을 작성했으며 실제 Action 을 수행할 클래스는 Action 클래스를 상속받아 구현한다. 이 때 상속받아 작성하는 Action 클래스는 반드시 execute() 메소드를 가지고 있어야 하며, execute() 메소드의 형태는 다음과 같다.

 

public ActionForward execute(ActionMapping mapping, ActionForm form,
                                HttpServletRequest, request, HttpServletResponse response) {

        해당 Action 이 수행할 역할 작성 .....

   return mapping.findforwad("결과페이지");

}