본문 바로가기

Dev/Java35

DTO와 VO 개발을 하며 VO와 DTO를 사용하곤 했는데 뭔지는 알겠는데 누구에게 설명할 수 있을 정도의 명확한 이론 개념은 잡히지 않아 정리 해두고자 했다. 다시 까먹더라도 내가 내 블로그를 보며 이해할 수 있게끔 !! 1. DTO (Data Transfer Object) DTO는 쉽게 말해 데이터를 전달하는 용도라고 볼 수 있다. 데이터를 주고 받을 때 데이터를 담아서 전달하는 바구니(Class)라고 이해하면 될 것 같다. 자세하게는 "계층 간" 데이터를 전달하기 위해 사용하는 객체로, 예를 들어 사진과 같이 Controller와 Servie 둘 사이에서 데이터를 주고 받기 위해 DTO에 데이터를 담아 전달한다. 💡 DTO의 특징 DTO는 오직 getter/setter 메서드만을 갖으며 다른 로직을 갖지 않는다... 2023. 2. 3.
MVC - 커맨드 패턴을 이용한 요청 URI를 명령어로 사용하기 https://tavi.tistory.com/51?category=1086720 MVC - 커맨드 패턴을 이용한 명령어 처리 분리 https://tavi.tistory.com/50?category=1086720 MVC 패턴 정의 0. 모델 1 구조 모델 1 구조는 JSP를 이용한 단순한 모델이다. (기존에 했던 모든 것들..) JSP에서 요청 처리 및 뷰 생성을 처리해서 구현이 쉽지만.. tavi.tistory.com 컨트롤러가 알맞은 로직을 수행하려면 클라이언트가 어떤 기능을 요청하는 지 구분할 수 있어야 하는데 웹 브라우저를 통해 명령어를 전달하는 방법에는 두 가지가 있다. 특정 이름의 파라미터에 명령어 정보를 전달 (ex. url에 ?type=date 를 입력) 요청 URI 자체를 명령어로 사용 명.. 2022. 10. 11.
MVC 게시판 구현 메모 ControllerUsingURI2.java request.getRequestURI() : 프로젝트 + 파일경로까지 가져온다 예) http://localhost:8080/project/list.jsp [return] /project/list.jsp indexOf() 는 특정 문자나 문자열이 앞에서부터 처음 발견되는 인덱스를 반환하며 만약 찾지 못했을 경우 "-1"을 반환합니다. ==> /Reg 의 인덱스: [0,1,2,3] request.getContextPath: 프로젝트 Path만 가져온다 ==> /Reg length()는 문자열의 길이를 알고자 할때 사용된다. ==> /Reg = 4자 String substring : 입력 받은 인자값을 인덱스로 해당 위치에 포함하여 그 이후의 모든 문자열을 리턴 .. 2022. 10. 5.
MVC - 커맨드 패턴을 이용한 명령어 처리 분리 https://tavi.tistory.com/50?category=1086720 MVC 패턴 정의 0. 모델 1 구조 모델 1 구조는 JSP를 이용한 단순한 모델이다. (기존에 했던 모든 것들..) JSP에서 요청 처리 및 뷰 생성을 처리해서 구현이 쉽지만 요청 처리 및 뷰 생성 코드가 뒤섞여 코드가 복잡 tavi.tistory.com 컨트롤러가 알맞은 로직을 수행하려면 클라이언트가 어떤 기능을 요청하는 지 구분할 수 있어야 하는데 웹 브라우저를 통해 명령어를 전달하는 방법에는 두 가지가 있다. 특정 이름의 파라미터에 명령어 정보를 전달 (ex. url에 ?type=date 를 입력) 요청 URI 자체를 명령어로 사용 특정 파라미터에 명령어 정보를 전달하는 방법은 컨트롤러 서블릿이 명렁어에 알맞은 로직 .. 2022. 10. 4.
MVC 패턴 정의 0. 모델 1 구조 모델 1 구조는 JSP를 이용한 단순한 모델이다. (기존에 했던 모든 것들..) JSP에서 요청 처리 및 뷰 생성을 처리해서 구현이 쉽지만 요청 처리 및 뷰 생성 코드가 뒤섞여 코드가 복잡하다. 💡. 모델 2 구조 모든 요청을 서블릿이 처리하고 JSP가 뷰를 생성한다. 웹 브라우저의 모든 요청을 단일 서블릿에서 처리하고 요청 처리 후 결과를 보여줄 JSP로 포워딩한다. 포워딩을 통해서 요청 으름을 받은 JSP는 결과 화면을 클라이언트에게 전송한다. 즉, 서블릿이 로직 부분을 처리하게 되는 것이다. 모델 2의 이러한 특징 때문에 MVC 패턴에 기반을 두어 웹 어플리케이션을 구현할 때는 모델 2 구조를 주로 사용하게 된다. 💡✨. MVC 패턴 MVC는 Model-View-Controlle.. 2022. 10. 4.
Tiles를 이용한 컴포지트 뷰 구현 웹 어플리케이션의 상당수의 페이지는 헤더, 좌측 메뉴, 푸터가 동일한 페이지가 많으며 페이지의 구조도 거의 동일하다. 동일한 구조를 갖는 페이지들을 개발할 때 구조를 구성하는 코드가 중복될 수 있는데 Tiles를 통해 페이지를 구성하는데 사용되는 코드의 중복을 없애고 구조를 효율적으로 관리할 수 있다. 1. 컴포지트 뷰(Composite View) 패턴 컴포지트 뷰(Composite View) 패턴을 적용하면 웹 어플리케이션 개발에서 페이지 구조를 위한 코드를 매번 입력해야 하는 불편함을 줄이고 페이지의 레이아웃 구성을 위한 중복된 코드를 제거할 수 있다. 컴포지트 뷰 패턴의 핵심은 레이아웃 구성 정보를 담고 있는 템플릿을 생성하는 것이다. [헤더 조각 삽입 코드] [메뉴 조각 삽입 코드] [메뉴 조각 .. 2022. 9. 30.