java
-
8장. 게시글 삭제하기 : Delete 8.1. 데이터 삭제 과정 (1) 클라이언트가 HTTP 메서드로 특정 게시글의 삭제를 요청 (2) 컨트롤러는 리파지터리를 통해 DB에 저장된 데이터를 삭제, (기존에 데이터가 있는 경우에만 수행) (3) 삭제 완료 후 클라이언트를 결과 페이지로 리다이렉트 · RedirectAttributes - 결과 페이지로 리다이렉트할 때 클라이언트에 삭제 완료 메시지도 같이 띄워주기 위한 클래스 - RedirectAttributes 객체의 addFlashAttribute() 메서드를 통해 리다이렉트된 페이지에서 사용할 일회성 데이터 등록 8.2. 데이터 삭제하기 8.2.1. Delete 버튼 추가 src > main > resources > template > articles ..
[Spring Boot] 08. 게시글 삭제하기8장. 게시글 삭제하기 : Delete 8.1. 데이터 삭제 과정 (1) 클라이언트가 HTTP 메서드로 특정 게시글의 삭제를 요청 (2) 컨트롤러는 리파지터리를 통해 DB에 저장된 데이터를 삭제, (기존에 데이터가 있는 경우에만 수행) (3) 삭제 완료 후 클라이언트를 결과 페이지로 리다이렉트 · RedirectAttributes - 결과 페이지로 리다이렉트할 때 클라이언트에 삭제 완료 메시지도 같이 띄워주기 위한 클래스 - RedirectAttributes 객체의 addFlashAttribute() 메서드를 통해 리다이렉트된 페이지에서 사용할 일회성 데이터 등록 8.2. 데이터 삭제하기 8.2.1. Delete 버튼 추가 src > main > resources > template > articles ..
2024.01.18 -
7장 : 게시글 수정하기 : Update 7.1. 데이터 수정 과정 7.1.1. 만들고 기존 데이터 불러오기 - 상세 페이지에서 [Edit] 버튼 누르기 - 요청 받은 컨트롤러가 해당 글의 id로 DB에서 데이터 가져오기 - 컨트롤러가 가져온 데이터를 뷰에서 사용하도록 모델에 등록 - 모델에 등록된 데이터를 에서 보여주기 7.1.2. 데이터를 수정해 DB에 반영 후 결과를 볼 수 있게 로 리다이렉트 - 폼 데이터(수정 요청 데이터)를 DTO에 담아 컨트롤러에서 받기 - DTO를 엔티티로 변환 - DB에서 기존 데이터를 수정 데이터로 갱신 - 수정 데이터를 로 리다이렉트 7.2. 수정 페이지 만들기 7.2.1. Edit 버튼 만들기 src > main > resources > template > artic..
[Spring Boot] 07. 게시글 수정하기7장 : 게시글 수정하기 : Update 7.1. 데이터 수정 과정 7.1.1. 만들고 기존 데이터 불러오기 - 상세 페이지에서 [Edit] 버튼 누르기 - 요청 받은 컨트롤러가 해당 글의 id로 DB에서 데이터 가져오기 - 컨트롤러가 가져온 데이터를 뷰에서 사용하도록 모델에 등록 - 모델에 등록된 데이터를 에서 보여주기 7.1.2. 데이터를 수정해 DB에 반영 후 결과를 볼 수 있게 로 리다이렉트 - 폼 데이터(수정 요청 데이터)를 DTO에 담아 컨트롤러에서 받기 - DTO를 엔티티로 변환 - DB에서 기존 데이터를 수정 데이터로 갱신 - 수정 데이터를 로 리다이렉트 7.2. 수정 페이지 만들기 7.2.1. Edit 버튼 만들기 src > main > resources > template > artic..
2024.01.17 -
6장 : 게시판 내 페이지 이동하기 6.1. 링크와 리다이렉트란? · 링크 - 미리 정해 놓은 요청을 간편히 전송하는 기능 - 보통 페이지 이동을 위해 사용 - HTML의 태그 혹은 태그로 작성 · 리다이렉트 - 클라이언트가 보낸 요청을 마친 후 계속해서 처리할 다음 요청 주소를 제시 - 분리된 기능을 하나의 연속적인 흐름으로 연결 가능 6.2. 링크와 리다이렉트를 이용해 페이지 연결하기 6.2.1. 새 글 작성 링크 만들기 src > main > resources > template > articles > index.mustache New Article {{>layouts/footer}} # 목록 페이지에 새 글을 작성하는 링크 추가하기 6.2.2. 입력 페이지 To 목록페이지 src > main > ..
[Spring Boot] 06. 페이지 이동하기6장 : 게시판 내 페이지 이동하기 6.1. 링크와 리다이렉트란? · 링크 - 미리 정해 놓은 요청을 간편히 전송하는 기능 - 보통 페이지 이동을 위해 사용 - HTML의 태그 혹은 태그로 작성 · 리다이렉트 - 클라이언트가 보낸 요청을 마친 후 계속해서 처리할 다음 요청 주소를 제시 - 분리된 기능을 하나의 연속적인 흐름으로 연결 가능 6.2. 링크와 리다이렉트를 이용해 페이지 연결하기 6.2.1. 새 글 작성 링크 만들기 src > main > resources > template > articles > index.mustache New Article {{>layouts/footer}} # 목록 페이지에 새 글을 작성하는 링크 추가하기 6.2.2. 입력 페이지 To 목록페이지 src > main > ..
2024.01.17 -
5장. 게시글 읽기 : Read 5.1. 데이터 조회 과정 (1) 사용자가 데이터를 조회해달라고 웹페이지에서 URL 요청 (2) 컨트롤러가 요청을 받고 해당 URL에서 찾으려는 데이터 정보를 리파지터리에 전달 (3) 리피지터리가 정보를 가지고 DB에 데이터 조회를 요청 (4) DB가 데이터를 찾고 엔티티로 변환 (5) 엔티티는 모델을 통해 뷰 템플릿으로 전달 (6) 뷰 페이지가 화면에 출력 5.2. 단일 데이터 조회하기 5.2.1. URL 요청받기 · 게시글 1번 조회 URL : localhost:8080/articles/1 · 게시글 2번 조회 URL : localhost:8080/articles/2 · 게시글 1000번 조회 URL : localhost:8080/articles/1000 src > m..
[Spring Boot] 05. 게시글 읽기5장. 게시글 읽기 : Read 5.1. 데이터 조회 과정 (1) 사용자가 데이터를 조회해달라고 웹페이지에서 URL 요청 (2) 컨트롤러가 요청을 받고 해당 URL에서 찾으려는 데이터 정보를 리파지터리에 전달 (3) 리피지터리가 정보를 가지고 DB에 데이터 조회를 요청 (4) DB가 데이터를 찾고 엔티티로 변환 (5) 엔티티는 모델을 통해 뷰 템플릿으로 전달 (6) 뷰 페이지가 화면에 출력 5.2. 단일 데이터 조회하기 5.2.1. URL 요청받기 · 게시글 1번 조회 URL : localhost:8080/articles/1 · 게시글 2번 조회 URL : localhost:8080/articles/2 · 게시글 1000번 조회 URL : localhost:8080/articles/1000 src > m..
2024.01.14 -
4장. 롬복(Lombok)과 리팩터링 4.1. 롬복이란? · 롬복(Lombok) - 코드를 간소화해주는 라이브러리 - 생성자 코드 생략 : @AllArgsConsturctor - toString() 메서드 생략 : @ToString - println() 문을 로깅 기능으로 대체 : @Slf4j · 리팩터링 - 코드의 기능에 변함없이 코드의 구조 또는 성능을 개선하는 작업 4.2. 롬복을 활용해 리팩터링하기 4.2.1. 롬복 설치 build.gradle dependencies { compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' (중략) } 4.2.2. DTO 리팩터링하기 · 생성자 지우기 : @AllA..
[Spring Boot] 04. 롬복과 리팩터링4장. 롬복(Lombok)과 리팩터링 4.1. 롬복이란? · 롬복(Lombok) - 코드를 간소화해주는 라이브러리 - 생성자 코드 생략 : @AllArgsConsturctor - toString() 메서드 생략 : @ToString - println() 문을 로깅 기능으로 대체 : @Slf4j · 리팩터링 - 코드의 기능에 변함없이 코드의 구조 또는 성능을 개선하는 작업 4.2. 롬복을 활용해 리팩터링하기 4.2.1. 롬복 설치 build.gradle dependencies { compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' (중략) } 4.2.2. DTO 리팩터링하기 · 생성자 지우기 : @AllA..
2024.01.14 -
3장. 게시판 만들고 새 글 작성하기 : Create 3.1. 폼 데이터란? · Form Data - HTML 요소인 태그에 실려 전송되는 데이터 - 태그는 웹브라우저에서 서버로 데이터를 전송할 때 사용 · DTO - 태그에 실어 보낸 데이터는 서버의 컨트롤러가 객체에 담아 받는다. - 이 객체를 DTO라고 한다. 3.2. 폼 데이터를 DTO로 받기 3.2.1. 입력 폼 만들기 src > main > resources > template > articles > new.mustache {{>layouts/header}} 제목 내용 Submit {{>layouts/footer}} 3.2.2. 컨트롤러 만들기 src > main > java > com.example.firstproject > controlle..
[Spring Boot] 03. 게시판 만들고 새 글 작성하기3장. 게시판 만들고 새 글 작성하기 : Create 3.1. 폼 데이터란? · Form Data - HTML 요소인 태그에 실려 전송되는 데이터 - 태그는 웹브라우저에서 서버로 데이터를 전송할 때 사용 · DTO - 태그에 실어 보낸 데이터는 서버의 컨트롤러가 객체에 담아 받는다. - 이 객체를 DTO라고 한다. 3.2. 폼 데이터를 DTO로 받기 3.2.1. 입력 폼 만들기 src > main > resources > template > articles > new.mustache {{>layouts/header}} 제목 내용 Submit {{>layouts/footer}} 3.2.2. 컨트롤러 만들기 src > main > java > com.example.firstproject > controlle..
2024.01.11 -
2장. MVC 패턴 이해와 실습 2.1. 뷰 템플릿과 MVC 패턴 2.1.1. 뷰 템플릿이란? - 화면을 담당하는 기술 - 웹 페이지(View)를 하나의 틀(Template)로 만들고, 변수를 삽입해 다른 페이지로 보여준다. - 이 책에서는 머스테치(Mustache)라는 도구를 사용한다. - 머스테치(Mustache) 외의 템플릿 엔진으로는 Thymeleaf, JSP 등이 있다. 2.1.2. MVC 패턴 · Model - 모델 - 데이터를 관리하는 역할. · View - 뷰 - 화면을 담당하는 뷰 템플릿을 간단히 '뷰'라고 부른다. - 사용자가 보는 화면 · Controller - 컨트롤러 - 클라이언트의 요청에 따라 서버에서 이를 처리하는 역할을 한다. 2.2. MVC 패턴을 활용해 뷰 템플릿 페이지 ..
[Spring Boot] 02. MVC 패턴 이해와 실습2장. MVC 패턴 이해와 실습 2.1. 뷰 템플릿과 MVC 패턴 2.1.1. 뷰 템플릿이란? - 화면을 담당하는 기술 - 웹 페이지(View)를 하나의 틀(Template)로 만들고, 변수를 삽입해 다른 페이지로 보여준다. - 이 책에서는 머스테치(Mustache)라는 도구를 사용한다. - 머스테치(Mustache) 외의 템플릿 엔진으로는 Thymeleaf, JSP 등이 있다. 2.1.2. MVC 패턴 · Model - 모델 - 데이터를 관리하는 역할. · View - 뷰 - 화면을 담당하는 뷰 템플릿을 간단히 '뷰'라고 부른다. - 사용자가 보는 화면 · Controller - 컨트롤러 - 클라이언트의 요청에 따라 서버에서 이를 처리하는 역할을 한다. 2.2. MVC 패턴을 활용해 뷰 템플릿 페이지 ..
2024.01.10 -
1장 스프링부트 시작하기 1.1. 스프링 부트란? 자바 웹 프로그램을 쉽고 빠르게 만들기 위한 도구 - 외부 라이브러리 최적화 제공. - 내부에 웹 애플리케이션 서버인 톰캣을 보유. 1.2. 개발환경 설정 (1) JDK 17 (2) IDE - 인텔리제이 (3) Spring Initializer 설정 - https://start.spring.io · Project : Gradle - Groovy · Language : Java · Spring Boot : 3.1.0 (기본값) · Packaging : Jar · Java : 17 · Dependencies : H2 Database, Mustache, Spring Data JPA 1.3. 웹 서비스의 동작원리 1.3.1. 클라이언트 - 서버 구조 · 클라이언..
[Spring Boot] 01. 스프링부트 시작하기1장 스프링부트 시작하기 1.1. 스프링 부트란? 자바 웹 프로그램을 쉽고 빠르게 만들기 위한 도구 - 외부 라이브러리 최적화 제공. - 내부에 웹 애플리케이션 서버인 톰캣을 보유. 1.2. 개발환경 설정 (1) JDK 17 (2) IDE - 인텔리제이 (3) Spring Initializer 설정 - https://start.spring.io · Project : Gradle - Groovy · Language : Java · Spring Boot : 3.1.0 (기본값) · Packaging : Jar · Java : 17 · Dependencies : H2 Database, Mustache, Spring Data JPA 1.3. 웹 서비스의 동작원리 1.3.1. 클라이언트 - 서버 구조 · 클라이언..
2024.01.10