chapter 15 : Struts 프레임워크 1
학습목표 MVC 디자인 패턴 Struts 프레임워크 란? Struts 프레임워크 환경 설정 실습 예제
정의 MVC Architecture Controller Model DB View 특징 MVC 디자인 패턴 전통적인 GUI 애플리케이션을 구현할 때 사용되는 디자인 패턴이다. 사용자의 입력을 받아서 처리하고 결과를 사용자에게 다시 보여주는 형태의 설계기법이다. MVC Architecture Model View Controller DB 특징 처리작업의 분리로 인해 유지보수와 확장이 용이하다. 각 컴포넌트의 재사용성이 높아진다. 웹 애플리케이션을 구현할 때 일반적으로 많이 사용하는 패턴이다.
Architecture Controller 서블릿 Model DB JSP View Controller View Model 웹 애플리케이션의 MVC 디자인 패턴 Architecture Model DB JSP View Controller 서블릿 Controller 서블릿이 Controller 역할을 담당한다. Controller 역할 클라이언트의 요청을 분석한다. 분석된 요구사항을 바탕으로 필요한 Model를 호출한다. 처리결과를 보여주기 위한 JSP를 선택한다. View JSP 가 View 역할을 담당한다. Model DB연동과 같은 비즈니스 로직을 처리한다.
프레임워크 정의 Struts 프레임워크 특징 Struts 프레임워크 장점 Struts 프레임워크 란? 사전적 의미로 ‘어떤 것을 구성하는 구조,뼈대’ 를 의미한다. 소프트웨어적 의미로는 ‘미리 뼈대를 이루는 클래스와 인터페이스,정보파일(XML)등으로 구성된 집합’ 이라고 할 수 있다. Struts 프레임워크 특징 오픈 소스 웹 애플리케이션 프레임워크이다. XML 기반의 Controller 역할을 담당한다. MVC 디자인 패턴 기반이다. 다른 프레임워크와 연동이 가능하다. ( Velocity , Hibernate , Spring 등 ) 중대형 규모의 웹 애플리케이션 개발에 적합하다. Struts 프레임워크 장점 MVC 모델을 이용한 웹 애플리케이션 구축을 매우 용이하게 함.
Struts 프레임워크 Architecture Controller Model DB JSP View ActionServlet RequestProcessor Action ActionForm ActionMapping
핵심 클래스 Struts 프레임워크 란? ActionServlet 모든 클라이언트 요청처리를 담당하는 Controller 서블릿이다. 받은 요청은 RequestProcessor 에 전달한다. Struts 전반에 대한 설정파일인 struts-config.xml 파일을 분석한다. RequestProcessor ActionServlet에서 분석된 결과에 따라서 실제 처리작업을 하는 Action을 선택한다. 분석된 결과에 따라서 프리젠테이션 로직인 JSP를 선택한다. Locale 및 ContentType 처리 같은 선행작업을 할 수 있다. 요청파라미터값을 자동으로 ActionForm에 저장한다.
핵심 클래스 Struts 프레임워크 란? ActionForm 요청 파라미터 값을 저장한다. 요청 파라미터 값의 유효성 검사를 담당한다. 유효성 여부에 따라서 Action 수행여부가 결정된다. Action 실제적인 비즈니스 로직 처리를 담당한다. 일반적으로 비즈니스 로직처리는 Action에서 구현하지 않고 다른 Component를 이용하여 구현한다. Action은 이런 Component를 호출하는 랩퍼 역할을 한다. ActionMapping 요청을 forward 작업을 담당한다. ActionMessage ActionForm 또는 Action에서 발생된 오류나 기타 메시지들을 저장한 후에 View에서 보여줄 수 있도록 하는 역할을 담당한다.
Struts 프레임워크 환경설정 1. 다운 받기 http://jakarta.apache.org 에서 다운받는다.
Struts 프레임워크 환경설정
Struts 프레임워크 환경설정 제공된 실습예제파일 실행
Struts 프레임워크 환경설정 제공된 실습예제파일 실행
struts-config.xml 파일 여러 개 작성 실습예제
2. CLASSPATH 설정 Struts 프레임워크 환경설정 struts-core-1.3.8.jar 를 CLASSPATH 에 추가한다. 컴파일시 필요하다.
Struts 프레임워크 환경설정
Struts 프레임워크 환경설정 3. Core API 문서 즐겨찾기 추가
Struts 프레임워크 환경설정 4. xml 파일 작성 struts-blank-1.3.8.war 를 이용한다.
1 이상 값이 오면 서블릿이 요청이 올 때 초기화되지 않고 배포될 때 초기화된다. Struts 프레임워크 환경설정 표준이 되는 web.xml 과 struts-config.xml 파일이다. 1 이상 값이 오면 서블릿이 요청이 올 때 초기화되지 않고 배포될 때 초기화된다.
5. 실습 예제 작성 Struts 프레임워크 환경설정 struts-config.xml 를 수정한다. 5. 실습 예제 작성 struts-config.xml 를 수정한다. hello.jsp 를 작성한다.
실습 예제 Architecture hello.jsp Struts 프레임워크 환경설정 ActionServlet RequestProcessor
Action 클래스 기능 Action 클래스 작성 Action 클래스를 이용한 실습 예제 실제적인 비즈니스 로직을 처리하는 곳이다. Action 클래스 작성 반드시 org.apache.struts.action.Action 클래스를 상속 받는다. execute 메소드를 반드시 구현한다. execute 메소드에서 비즈니스 로직처리와 forward 할 곳을 지정한다. 작성한 Action 클래스를 struts-config.xml 에 등록한다.
Action 클래스를 이용한 실습 예제
Action을 이용한 로그인 예제
구현 파일 Action 클래스를 이용한 로그인 예제 web.xml struts-config.xml LoginAction.java LoginBean.java LoginDAO.java loginForm.jsp logon.jsp fail.jsp
Action 클래스를 이용한 로그인 예제 Architecture ActionServlet LoginAction LoginDAO
Action 클래스를 이용한 로그인 예제
ActionForm 클래스 기능 ActionForm 클래스 작성 ActionForm 클래스 기능 Action을 수행하기 전에 ActionForm 이 수행되며 사용자가 입력한 폼 데이터의 유효성을 체크할 수 있다. 폼에서 입력한 폼 데이터가 자동으로 ActionForm에 저장된다. 더 이상 request.getParameter() 메소드가 불필요하다. ActionForm 객체를 이용하여 직접 비즈니스 처리를 하면 안된다. ActionForm 클래스 작성 반드시 org.apache.struts.action.ActionForm 클래스를 상속 받는다. 폼태그의 이름과 ActionForm의 속성명이 동일해야 한다. 반드시 setter 메소드와 getter 메소드가 필요하다. struts-config.xml 파일에 ActionForm을 등록한다. ActionForm 클래스 기능 reset() 폼 데이터를 ActionForm에 저장하기 전에 reset 할 때 구현. validate() ActionForm에서 Action으로 전달하기 전에 유효성 검사 구현.
ActionForm 클래스를 이용한 실습 예제
ActionForm을 이용한 로그인 예제
구현 ActionForm 이용한 로그인 실습 예제 LoginBean.java LoginDAO.java LoginAction.java LoginForm.java web.xml struts-config.xml loginForm.jsp logon.jsp fail.jsp
Architecture ActionForm 이용한 로그인 실습 예제 ActionServlet LoginForm LoginAction LoginDAO
ActionForm 이용한 로그인 실습 예제
ActionForm 이용한 로그인 실습 예제
DynaActionForm을 이용한 로그인 예제
정의 특징 DynaActionForm 을 이용한 로그인 예제 개발자에 의해서 만든 ActionForm이 아닌 Struts 프레임워크에서 제공하는 ActionForm 이다. 특징 property 을 필요에 따라서 추가할 수 있다. 동적인 특징을 갖는다.
DynaActionForm 을 이용한 로그인 예제 메소드
DynaActionForm 을 이용한 로그인 예제 실습 예제
DynaActionForm 을 이용한 로그인 예제
DynaActionForm 을 이용한 로그인 예제
공부한 내용 Struts 프레임워크 개요 Struts 프레임워크 핵심 클래스