ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [헤드퍼스트 Servlet&JSP] 2. 웹어플리케이션 아키텍쳐
    개발입문/Servlet&JSP 2017. 1. 30. 23:53


    학습목표
    고차원 웹 어플리케이션 아키텍쳐

    뭔가 멋있는 단어 '고차원', '아키텍쳐' 가 2개나 있다.
    그리고 이어지는 개념들... HeadFirst 노트도 너무  외우지 않아도 되고, 앞으로 하는 것이 무엇인지 적당히 즐기고 넘어가라고 했다... ...




    Container 컨테이너

    웹브라우저 - 웹서버 - 컨테이너(java) - 서블릿

    컨테이너 역할: 통신(커뮤니케이션) 지원, 생명주기(라이프사이클) 관리, 멀티스레딩 지원, 선언적인 보안관리, JSP 지원

    컨테이너는 URL 만 가지고 어떤 서블릿에 대한 요청인지를 찾아낸다.

    컨테이너는 Request 와 Response 객체를 생성하여 이에 대한 참조를 서블릿 인자로 넘깁니다. 

    일반적으로 서블릿은 HttpServlet을 상속받아 브라우저가 요청한 메소드에 따라 호출될 메소드 (doGet(), doPost() etc.) 를 재정의합니다.

    서블릿은 Request 객체로부터 필요한 정보를 읽어와서, 사용자가 요청한 페이지를 생성하여 Response 객체로 응답합니다.

    그림 설명: http://finerss.tistory.com/11


    DD (Deployment Descriptor)

    배포 서술자

    Container 가 어떻게 일할 것인지의 정보를 담고 있는 DD 

    DD 변경을 통해 소스를 한 행도 바꾸지 않고 중요한 것들을 수정할 수 있다는 것! 이미 테스트 된 소스코드의 수정을 최소화하고, 코드변경이나 컴파일 하지 않고도 서버 자원 (DB 연결 등) 을 할 수 있다. 등등

    DD는 대표적으로 컨테이너가 사용자 요청 URL을 최종 서블릿으로 매핑해주는 정보를 가지고 있다.

    - 사용자 접근경로 url-pattern

    - 서블릿 내부 이름 servlet-name 

    - 서블릿 상대 경로 servlet-class



    MVC Design Pattern

    재사용 가능한 비즈니스 로직을 위하여! 비즈니스 로직을 빼내어 일반적인 자바 클래스로 작성합니다. 

    서블릿 컨트롤러, 자바 모델, JSP 뷰가 한 세트를 이룹니다.


    - Model 모델: 비즈니스 로직, JAVA

    - View 뷰: 프리젠테이션 로직, JSP

    - Controller 컨트롤러: Servlet(서블릿)


    J2EE 

    Java 2 Enterprise Edition

    J2EE 애플리케이션 서버는 웹 컨테이너와 EJB 컨테이너로 구성되어 있습니다.

    톰캣은 웹 컨테이너이지, 완전한 J2EE 애플리케이션 서버가 아닙니다.

    J2EE 서버는 서블릿, JSP, EJB 스펙을 포함하고 있습니다.




    너무 추상적인 레벨이라서...

    HeadFirst 임에도 불구하고 아직은 이해가 잘 안됬다.

    빨리 코드 입력하고 싶다는 생각이 드는 챕터였다.

    그 다음장. MVC 튜토리얼을 통해 코딩 욕구(?)를 해소할 수 있기를!


    +a. 

    Servlet, JSP, Model1, Model2, Spring

    항간에 떠도는 프레임워크에 대해 혼란스럽다면

    링크: http://anster.tistory.com/128


    댓글

Designed by Tistory.