계층 ➡ Spring에서 사용하는 것
Controller Layer 👉🏻 Presentation Layer
일반적으로 화면 컨트롤을 View에게 맡기지만, 하는 경우도 있음
서비스 쪽으로 사용자의 입력처리 넘기기
Service Layer 👉🏻 Business Layer
데이터의 가공 / 처리
Dao Layer 👉🏻 Data Access(DB) Layer
추가작업 금지! 추가작업하면 Service의 역할을 침범
View Layer 👉🏻 Presentation Layer / 보편적으로 화면 담당
보여질 화면을 구성
DTO 컴포넌트
👀 Example
사용자가 게시판의 9번 페이지를 클릭한다
👉🏻 웹 서버는 게시글 전체 목록 중에서 9번째 페이지에 대한 응답을 전달
[사용자의 URL 입력]
9 페이지 링크 클릭 ➡ 쿼리스트링으로 9를 전달[Controller]
사용자의 입력값으로 전달된 9 값을 받아들임
URL 주소는 Controller에 연결(매핑)되어있음 ➡ 쿼리스트링으로 포함된 전달값을 분석
9번 페이지에 대한 게시글 목록을 가공할 수 있도록 Service객체의 메소드를 호출[Service]
DB조회할 때 필요한 데이터를 가공
8839 ~ 8888 값을 매개변수로 이용하여 Dao 객체의 메소드를 호출
총 게시글 수 : 9288
한 페이지에 보여질 게시글 수 : 50
9 페이지에 보여질 게시글 수 : 8888 ~ 8839
페이지 게시글 번호 1페이지 9288 ~ 9239 2페이지 9238 ~ 9189 3페이지 9188 ~ 9139 4페이지 9138 ~ 9089 5페이지 9088 ~ 9039 6페이지 9038 ~ 8989 7페이지 8988 ~ 8939 8페이지 8938 ~ 8889 9페이지 8888 ~ 8839 dao.selectOage(conn, start, end);
Board start - new Board(8839, null, ..);
list.add(start);
list.add(end);
..(conn, list);
map.put("start", 8839);
map.out("end", 8888);
현재 제일 편한 방법은 int형 2개 보내기 but, 나중에 수정이나 상황을 감안하면 DTO가 좋을 수도[Dao]
Service에서 전달받은 8839, 8888번 구간의 게시글을 조회한다
조회 결과 리스트 전달[Service]
조회결과 리스트 전달(리턴)[Controller]
조회 결과를 포함하여 View를 선택하고 전달[View]
조회결과를 가지고 화면을 구성
웹에서는 주로 HTML 코드로 화면을 구성
화면(HTML 텍스트)이 클라이언트에게 응답됨
Servlet = Server + Applet 👉🏻 서버에서 동작하는 애플릿 프로그램이라는 뜻
애플릿, Applet : 특정 프로그램이나, 환경에서 동작하는 플러그인 형태로 개발된 소형 프로그램자바 애플릿, Java Applet : 자바 언어로 만들어진 애플릿웹 어플리케이션을 개발하기 위한 자바의 Servlet기술에 대한 명세
javax.servlet.http.HttpServlet 클래스를 상속받아 구현jakarta.servlet.http.HttpServlet임 👉🏻 서블릿 스펙 5.0 (Topcat 10) 이상부터 패키지가 바뀌었음(자바 서블릿이 아닌 자카르타 서블릿)꼭 써야하는 대표 API를 몇개 두기 -> 구현할 때 상속
클라이언트가 웹 서버에 요청할 수 있게 준비된 자원
실제 파일들 👉🏻 HTML, CSS, JS, image, ...
/(Root Directory)로 설정하고 있음실행 가능한 프로그램 자원 👉🏻 자바 코드로 작성된 서블릿 클래스(.class 파일)
web.xml 파일의 설정항목으로 url-pattern을 지정정적 컨텐츠(자원)에 대한 응답을 담당
동적 컨텐츠(자원)에 대한 응답을 담당
웹 컨테이너를 결합한 시스템웹 컨테이너, Web Container : 웹 서버가 전달한 URL을 동적 자원(프로그램)을 이용하려 처리할 수 있도록 준비된 시스템웹 서버가 URL을 받고 웹 컨테이너에게 줌 / 웹 컨테이너가 자기가 갖고 잇는 자원을 매핑된게 있나 찾아보고 있으면 웹 서버에게 리턴해줌
클라이언트는 항상 정적(최종 결과물)만 받게 됨
** 요구사항 확인 평가
- 평가자 체크리스트
- 서술형
[UML]
유스케이스 다이어그램 작성법 -> 평가자 체크리스트 / jpg 파일로 제출
클래스 다이어그램
ERD
시퀀스 다이어그램