프로그래밍/JSP

JSP의 전체적인 흐름 정리

RECORD :D 2018. 8. 2. 17:43


JSP의 전체적인 흐름에 대해서 정리해 보려고 한다. 

  맨 처음에는 사용자(클라이언트)가 화면에서 동작을 하면 FrontController로 들어가게 된다. FrontController는 사용자의 입력을 구분하는 하나의 다리라고 생각하면

  파일은 Servlet으로 만들며 경로를 *.do로 지정해 모든 .do입력들을 받아오게 된다. 



받아온 값들을 GET이나 POST 둘다 actiondo라는 메소드로 연결하여 받아온 url 값을 잘게 잘라 어디의 동작을 받아왔는지 확인 한 후 이벤트를 실행하게 된다.

각각 받아온 값들을 구분 한뒤 FrontController 서블릿이 작업을 직접 처리 하지 않고, 해당 클래스가 처리하도록 하는데 이것이 Command 패턴이 되겠다. 각 Command는 하나 이상의 동작을 수행해기 위해서 하나의 공통된 클래스를 인터페이스하여 사용하면 깔끔하게 사용할 수 있다. 


여러 개의 클래스가 기능 별로 생성 될 것이고 이 클래스들 안에서 이제 진짜 기능을 수행하는 Dao 객체를 만들게 된다.

DAO는 데이터베이스에 접속해서 데이터 추가,삭제,수정 등의 작업을 하는 클래스로서 일반적인 JSP 혹은 Servlet 페이지내에 로직을 함께 기술할 수 도 있지만, 유지보수 및 코드의 모듈화를 위해 별도의 DAO 클래스를 만들어 사용하는 것이 일반적이라고한다.


이렇게 DAO 클래스에서는 DAO 생성자에 ORACLE 데이터베이스에 접근하는 로직을 넣어 모든 클래스 메소드가 사용할 수 있게 하는 것이 편리한 방법이다. 각 메소드들은 Command로부터 받은 pharameter 들을 활용해 사용자가 원하는 데이터를 반환해 준다. 이 때 DTO를 거치는 것도 잊지 않아야 한다. DTO는

DAO클래스를 이용하여 데이터 베이스에서 데이터를 관리할 때 데이터를 일반적인 변수에 할당하여 작업 할 수도 있지만, 해당 데이터의 클래스를 만들어 사용하는 것이 MVC 모델의 가장 기본이기 때문에 MVC모델에서 M(Model)을 담당하고 있는 부분이 되겠다.