티스토리 뷰
사용자측 (USER browser)로 부터 요청이 날아갑니다. 여기서 말하는 요청이란 write.jsp 와 같이 페이지를 요청하는 것인데
MVC 패턴에서는 요청을 JSP 페이지에 직접하지 않고, JSP 페이지를 거치기 전에 Action(ListAction) 이라고 하는 자바파일을 실행하게 됩니다.
이 자바파일에서 모든 비즈니스 로직(로그인, 데이터가져오기, 세션처리, 유효성검증 등등)을 수행하고 뷰에서 필요한 데이터만 넘겨줍니다.(JSP 페이지)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
그렇기 때문에 요청을 .jsp 가 아닌 *.do 또는 *.action 와 같은 방식으로 URL을 요청합니다.
그럼 이렇게 날아온 요청을 컨트롤러(ControllerAction)에서는 해당 Action에 맵핑 시키기 위해 해당 맵핑정보가 들어 있는 properties 파일을 읽고,
해당 클래스를 사용할 수 있게끔 해준뒤, 해당 클래스를 실행합니다. (ListAction)
이때 Action에서 데이터베이스 접속이 필요하면 모델을 사용하게 됩니다.
모델은 데이터베이스의 접속(트랜잭션관리, 커넥션 풀 관리 등)과 각종 쿼리들을 처리할 수 있도록 메소드 빈 형식으로 구성됩니다.
데이터베이스에 접근한 뒤 필요한 데이터를 반환하거나, 수정, 삭제작업을 하고, 다시 Action으로 돌아와서 뷰에서 필요한 데이터들을 보내게된다.
* list.do를 가장 먼저 인식하는 부분 web.xml
- list.do 요청
- web.xml에서 url-pattren에 맞는 servlet으로 mapping(ControllerAction으로 mapping)
- com.board.controller.ControllerAction class로 mapping
- ControllerAction에서 init에 loadProperties로 Command.properties를
load (properties파일에서 가져온 mapping 정보를 패키지정보를 바탕으로 클래스화 시킨 뒤 리소스 번들이라고 하는 객체에 저장한다.)
- post, get 요청이 들어오면 requestPro 함수 호출(사용자의 URL을 분석하여 리소스 번들에 저장된 해당 액션 객체를 실행한다.)(ListAction 실행)
- (List)Action 자바파일에서 모든 비지니스 로직(로그인, 데이터가져오기, 세션처리, 유효성검증 등등)을 처리하고 뷰에서 필요한 데이터를 넘겨준다.
- 해당 액션 객체의 실행이 끝나면 액션에서 리턴되는 뷰(파일경로, 이름)로 리턴한다.
'jsp' 카테고리의 다른 글
JDBC VS i-batis (0) | 2017.06.13 |
---|---|
JDBC 에서의 트랜잭션(Transaction) 처리 (0) | 2017.05.29 |
request.getAttribute (0) | 2017.05.29 |
ResultSet object (0) | 2017.05.27 |
Classloader (0) | 2017.03.02 |