티스토리 뷰

donaricano-btn
반응형

JSP는 이런식으로 HTML 코드 안에 JAVA 코드를 삽입할 수 있습니다.


이제 HTML 페이지를 디자인 한 이후 필요한 JAVA 코드를 이용해 값을 사용할 수 있게 됐습니다. 한 페이지에서 HTML 디자이너와 자바 개발자가 협업하는 것도 가능하게 됐습니다.


JSP는 JSP 그 자체로 클라이언트에게 전달되지 않습니다. 클라이언트 브라우저에는 JSP를 바로 실행할 수 있는 기능이 없기 때문입니다. 그래서 JSP는 다시 원래대로 HTML을 포함한 자바 코드인 Servlet으로 컴파일 된 이후 다른 Servlet들 처럼 그 객체가 Servlet 컨테이너에 보관됩니다.


실제로 JSP의 동작 순서를 살펴보면 이렇습니다.


요청을 받은 웹 서버에서 컨테이너에 요청을 전달하면 일단 JSP 서블릿 객체가 존재하는지 여부를 판단합니다. 만약 존재하지 않는다면 JSP를 Servlet으로 컴파일해 객체를 생성합니다.


이 이후에는 다른 Servlet과 마찬가지로 동작하게 됩니다.


이렇게 JSP를 도입하게 되면 비즈니스 로직과 프리젠테이션 로직을 분리할 수 있게 됩니다. 즉, 서블릿에서 비즈니스 로직을 처리하고 JSP에서는 프리젠테이션 로직을 처리할 수 있도록 분리할 수 있습니다. 여기서 서블릿에 있는 비즈니스 로직을 다른 클래스로 분리하게되면 분리된 비즈니스 로직은 다른 작업에도 재사용이 가능한 일반적인 자바 클래스로 작성 가능합니다. 이렇게 서블릿에서 비즈니스 로직과 프리젠테이션 로직을 분리한 개발 방식을 MVC 디자인 패턴이라고 합니다.


MVC는 각각 Model, View, Controller의 약자입니다.


Controller 는 Servlet 을 뜻합니다. 매핑된 URL 요청이 들어오면 Request 객체에서 사용자가 입력한 정보를 뽑아내어 어떤 작업을 해야 하는지 알아냅니다.


Model 은 분리된 비즈니스 로직을 의미합니다. 실제로 사용자에게 전달해야 하는 정보가 저장되는 객체라고 할 수 있습니다. MVC 패턴에서는 모델 객체가 DB와 통신하는 부분이지만 DB와 통신하는 객체(DatabaseAccessObject)를 분리할 수도 있습니다.


View 는 JSP로 분리된 프리젠테이션 로직입니다. 컨트롤러로부터 모델 정보를 읽어와서 사용자에게 전달하게 됩니다.


실제로 웹에서 이 모델이 작동하는 방식은 이렇습니다.


  1. 사용자가 웹사이트에 접속합니다. 즉 URL을 통해 웹서버에 요청을 보냅니다.

  2. 웹서버의 요청을 받은 컨테이너가 URL과 매핑된 Controller를 찾습니다.

  3. Controller는 사용자가 요청한 웹페이지를 서비스 하기 위해서 모델을 호출합니다.

  4. 모델은 데이터베이스나 파일 등에 접근하거나 필요한 작업을 수행한 후에 그 결과를 리턴합니다.

  5. Controller는 Model이 리턴한 결과를 View에 반영합니다.

  6. 컨테이너와 웹서버를 거쳐 데이터가 반영된 VIew가 사용자에게 보여집니다.


이렇게 Servlet 과 JSP에 대한 개요를 알아봤고, 다음 시간 부터는 Servlet과 JSP에 대해 알아보도록 하겠습니다.

반응형

'language > Servlet&JSP' 카테고리의 다른 글

redirect / forward  (0) 2019.02.22
서블릿(servlet) 생명주기(lifecycle)  (0) 2019.02.22
서블릿(Servlet)의 동작구조  (1) 2019.02.15
HTTP 프로토콜 요청/응답  (0) 2019.02.15
스레드(Thread)의 실행제어  (1) 2019.02.15
donaricano-btn
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함