본문 바로가기

Struts

[Struts] 인터셉터란? ■ 인터셉터란? ※ 많은 애플리케이션은 액션의 종류와 무관하게 공통적으로 적용될 수 있는 기능이 있다. 예를 들면 유효선 검사 기능(validation), 폼에서 서브밋이 두 번 일어나는 것을 막는 기능, 액션이 처리되기 전에 파일 업로드하는 기능, 페이지를 출력하기 전에 서버로부터 미리 데이터를 가져오는 기능(spooling), 각 액션에 대한 상세한 내역 기록(logging), 시간별 동작 및 성능 병목지점 검사(profiling) 등이 있다. 인터셉터는 스트럿츠 프레임워크 내부의 소스 코드를 수정하지 않으면서도, 이러한 공통 관심 기능이 수행되어 프레임워크에 적용되도록 한다. ① 스트럿츠 2에서는 인터셉터를 독립적으로 구현하여 어떠한 액션에도 적용될 수 있도록 한다. ② 인터셉터는 액션과 서로 느슨.. 더보기
[Struts] 스트럿츠 2 아키텍처 ■ 스트럿츠 2 아키텍처 -. 스트럿츠 2는 모든 요청을 필터인 FilterDispacher가 처리하게 된다. -. FilterDispacher는 요청이 들어오면 ActionProxy 인스턴스가 생성하고 액션 실행을 위임한다. -. ActionProxy는 인터셉터와 리절트 등 액션 실행 구성을 읽어서 ActionInvocation을 초기화 하고 실행한다. -. ActionInvocation은 실질적인 인터셉터와 액션 리절트의 실행을 담당한다. 01) 스트럿츠 2 필터 디스패처의 역할 ※ 필터 기반으로 액션 요청을 처리하는 스트럿츠 2 프레임워크는 어떠한 처리를 할 것인지가 웹 애플리케이션의 설정파일인 web.xml에 의해 결정된다. -. 웹 애플리케이션 단위로 설정되는 컨텍스트마다 애플리케이션에 대한 모.. 더보기
[Struts] ModelDriven와 Preparable 인터페이스 활용하기 ■ ModelDriven 인터페이스 -. ModelDriven 액션 클래스를 생성하기 위해서는 ModelDriven 인터페이스를 구현해야 한다. -. ModelDriven 인터페이스를 구현한 클래스에는 getModel() 메소드를 오버라이딩 해야 한다. -. 이 메소드는 새롭게 생성된 도메인 오브젝트 인스턴스를 반환한다.public class UserRegAction3 implements Action, Preparable, ModelDriven { User user = new User(); public User getUser() { return user; } @Override public String execute() throws Exception { UserDao uerDao = new UserDao(.. 더보기
[Struts] 도메인 오브젝트 ■ 회원 정보를 저장하기 위한 도메인 오브젝트 -. 데이터 베이스에 정보를 저장하는 계층을 퍼시스턴스 계층(Persis-tence Layer)이라고 한다. ※ 퍼시스턴스 계층 역시 모델 영역에 포함된다. -. 퍼시스턴스 계층은 별도의 도메인 오브젝트를 설계하되, DAO(Data Access Object) 패턴으로 구현하는것이 바람직 하다. User.java package model; public class User { private String userId; private String userPw; private String userName; public String getUserId() { return userId; } public void setUserId(String userId) { this.us.. 더보기
[Struts] ActionSupport 클래스를 확장한 액션 ■ ActionSupport 클래스를 확장한 액션 ⓛ Validateable과 ValidationAware인터페이스는 데이터의 검증을 위한 기능을 제공한다. TextPro-vider와 LocaleProvider 인터페이스는 여러 언어를 지원하는 웹 사이트를 개발할 때 필요한 지역화 및 국제화 기능을 제공한다. ② 뿐만 아니라 파일의 경로와 같은 path 또는 데이터베이스 URL을 properties 파일을 작성하여 기재한 후 Ac-tionSupport 클래스가 제공하는 getText( ) 메소드를 이용하여 쉽게 가져올 수 있다는 장점도 있다. ■ 유효성 검사 -. 스트럿츠2 프레임워크는 다양한 방법의 유효성 검사를 지원한다. -. ActionSupport 클래스는 Validateable 인터페이스의 va.. 더보기