티스토리 뷰

jsp

MVC 동작원리 (model2)

채영도 2017. 6. 13. 15:16

사용자측 (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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함