서블릿 14장

조선영·2023년 6월 11일
0

MVC 디자인 패턴 Model View Controller

프레젠테이션 로직과 비즈니스 로직을 분리해 애플리케이션을 개발하기 위해 가장 많이 사용되는 프로그래밍 기법

MVC 구성요소

  • 모델 Model : 비즈니스 로직 구현 - 자바 클래스로 구현
    Service와 DAO로 구성 ( Service가 DAO 호출 )
    📌 호출 이유
    클라이언트에서 전달된 하나의 요청이 여러 개의 세부 단위로 구성될 수 있기 때문
  • 뷰 View : 프레젠테이션 로직 구현 - JSP 문서로 구현
    처리 결과를 브라우저에 출력

  • 컨트롤러 Controller : 뷰와 모델 사이의 인터페이스 - 서블릿으로 구현
    모든 요청은 컨트롤러에 전달
    브라우저에 출력해야 하는 경우 뷰에 전달
    모델에 의해 처리된 결과는 다시 컨트롤러에 전달

  • VO : 많은 데이터를 객체에 실어 간단하게 전달하고 추출

디렉터리 패턴

@WebServlet 애너테이션의 인자로 디렉터리 이름 지정
@WebServlet("/디렉터리/*")

실제로 프로젝트에 디렉터리를 생성하고 문서를 그 위치에 저장하는 것은 아님

-> 서로 다른 URL이 컨트롤러에 전달되므로 컨트롤러는 URL을 분석해 요청을 파악할 수 있어야함
-----> 디렉터리 이후의 내용을 추출 (request.getPathInfo())

확장자 패턴 지정

@WebServlet 애너테이션의 인자로 와일드카드와 함께 확장자 지정
@WebServlet("*.확장자")

지정 확장자를 반드시 가져야하며 그 이전 내용은 무엇이든 상관 없음

//서버 이름을 제외한 uri 정보 반환
String uri = request.getReqeustURI();
//컨텍스트 이름 반환
/*localhost8080/chapter14/list.do일 경우 chapter14를 반환*/
String conPath = request.getContextPath();
/*uri 문자열 값 (/chapter/list.do에서 conPath값 10부터 마지막까지를 반환
list.do 반환*/
String actCode = uri.substring(conPath.length());
profile
UX 기획도 하고 서비스 기획도 하고 PM도 하고 프론트도 하고 PL도 하는 중

0개의 댓글