- 각 JSP코드에 중복된 코드와 화면 네비게이션 정보, 사용자 요청 처리에 해당하는 코드를 분리합니다. (Front Controller패턴 참조)
- 분리한 코드를 컨트롤러 객체에 두어야 하는데, 하나의 컨트롤러 객체에 모든 코드를 두면 내부가 복잡해지므로 각 목적에 맞는 Command Helper객체를 생성하여 역할을 분담하도록 합니다.
- 사용자의 요청은 일단 컨트롤러 객체로 전달되고, 컨트롤러 객체는 필요에 따라 Command Helpler객체의 도움을 받아 작업을 수행하고 다음에 나와야 할 화면을 띄웁니다.
sefvlet으로 컨트롤러 구현한 예
if( authorityGranted){
dispatchToNextView();
}else{
dispatchToNoAuthorityException();
}
--> 소스코드는 적절한 권한이 있으면 다음페이지로 이동하고 권하니 없으면 그에 맞는 에러 페이지로 이동하는 컨트롤러의 예입니다.
--> 또한, 호출된 메소들도 목적에 맞게 구현되어야 하며 이러한 컨트롤러를 활요하면 각 JSP마다 권한을 읽어 들여 이 화면을 보여줄지를 결정하는 코드를 쓸 필요가 없습니다.
- 분리한 코드를 컨트롤러 객체에 두어야 하는데, 하나의 컨트롤러 객체에 모든 코드를 두면 내부가 복잡해지므로 각 목적에 맞는 Command Helper객체를 생성하여 역할을 분담하도록 합니다.
- 사용자의 요청은 일단 컨트롤러 객체로 전달되고, 컨트롤러 객체는 필요에 따라 Command Helpler객체의 도움을 받아 작업을 수행하고 다음에 나와야 할 화면을 띄웁니다.
sefvlet으로 컨트롤러 구현한 예
if( authorityGranted){
dispatchToNextView();
}else{
dispatchToNoAuthorityException();
}
--> 소스코드는 적절한 권한이 있으면 다음페이지로 이동하고 권하니 없으면 그에 맞는 에러 페이지로 이동하는 컨트롤러의 예입니다.
--> 또한, 호출된 메소들도 목적에 맞게 구현되어야 하며 이러한 컨트롤러를 활요하면 각 JSP마다 권한을 읽어 들여 이 화면을 보여줄지를 결정하는 코드를 쓸 필요가 없습니다.
TAG pattern