2022/08 39

Chapter 16. 회원 정보 수정

16.1 회원 정보 수정 구현 Ex) 마이페이지 내 정보 수정 - 멤버 컨트롤러 - > 시쿠리티에 대한 인터페이스를 매개변수로 입력하면 스프링이 주입해준다. @GetMapping("/member/info") public String memberInfo(Model model, Principal principal){ String userId = principal.getName(); MemberDto detail = memberService.detail(userId); model.addAttribute("detail", detail); // 그럼 이제 info에서는 detail에 대해 조회가능 return "member/info"; } Note) 실행 결과 16.2 회원 비밀 번호 변경 - 비밀번호 변경 / ..

Chapter 15. 백 오피스(강좌 신청 처리 구현)

Ex) 수강신청 목록 구현 - AdminTakeCourseController 클래스 - resource의 admin 아래에 takecourse 라는 패키지를 만든다. - 컨트롤러 - 수강 관련 서비스 TakeCourseService - 매개변수 수정 package com.zerobase.fastlms.course.service; import com.zerobase.fastlms.course.dto.CourseDto; import com.zerobase.fastlms.course.model.CourseParam; import java.util.List; public interface TakeCourseService { /** * 수강 목록 */ List list(CourseParam parameter); ..

Chapter 14. 스프링 부트(Spring Boot)

14.1 강좌 목록 구현 - 지금까지는 회사의 입장에서 서버에 데이터를 저장하는 것과 같은 애플리케이션을 만들었다면 앞으로는 회원의 입장에서 사용할 인터페이스를 만들어보자. Ex) 메인 페이지에서 강좌 목록으로 이동할 수 있도록 구현 - CourseController @GetMapping("/course") public String course(Model model, CourseParam parameter){ List list = courseService.frontList(parameter); model.addAttribute("list", list); return "course/index"; } - 인덱스 페이지 구성 강좌 정보 페이지 - 인터페이스에 frontList() 메서드 만든다. 프론트에 필요..

Chapter 13. 강좌 목록

13.1 강좌 entity 및 repository 구성 Ex) - course 패키지 아래 Course 클래스 만들기 package com.zerobase.fastlms.course; import lombok.Data; import javax.persistence.*; import java.time.LocalDate; @Data @Entity public class Course { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) Long id; String imagePath;; String keyword; String subject; @Column(length = 1000) String summary; @Lob String contents; long p..

Chapter 12. 카테고리 화면

12.1 강좌 카테고리 목록 구현 및 추가 Ex) - admin 아래에 새로운 패키지를 만든다.category아래 리스트 파일 만든다. - 새로운 카테고리 컨트롤러 @Controller @RequiredArgsConstructor public class AdminCategoryController { private final MemberService memberService; @GetMapping("/admin/category/list.do") public String list(Model model, MemberParam parameter){ return "admin/category/list"; } } - 레이아웃에 관리자 메인 페이지도 추가한다. 회원 가입 | 회원 정보 | 로그인 | 로그아웃 관리자 메..

Chapter 11. 회원 상세 및 상태 처리

11.1 회원 상세 목록 구현 Ex) 아이디 눌렀을 때 상세 화면으로 이동 - 모자이크 부분은 이메일 Note) 실행 결과 Ex) 상세 페이지 만들기 - detail 관리자 회원 관리 - 회원 상세 정보 관리자 메인 | 회원 관리 | 카테고리 관리 | 강의 관리 | 로그 아웃 - param 에 추가 String userId; - detail 수정 - 모자이크는 이메일 - adminMemberCont 메서드 @GetMapping("/admin/member/detail.do") public String detail(Model model, MemberParam parameter){ parameter.init(); // 유효한 값이 되도록 만든다. return "admin/member/detail"; } Not..

Chapter 10. 회원 목록

10.1 회원 목록 구현 Ex) 관리자 페이지에서 회원 목록 구현하기 - list 파일 - 리스트 만들고 스타일을 적용한다. - style: border-collapse: collapse (테이블 간격 없애기) - 예를 들어, 테이블 안에 아래와 같은 방식으로 회원 데이터를 넣을 예정이다. (jpa로 가져오고 MyBatis를 이용할 것이다.) 관리자 회원 관리 관리자 메인 | 회원 관리 | 카테고리 관리 | 강의 관리 | 로그 아웃 No 아이디(이메일) 이름 연락처 이메일 인증 여부 가입일 관리자 여부 1 goran@kakao.com ran 010-0000-9999 y 2022.08.20 Y Note) 실행 결과 Ex) MemberService에 메서드 추가 /** * 회원 목록을 가져온다. - 관리자에..

Chapter 09. 관리자 로그인 구현

Ex) 초기 설정 - 먼저, 관리자 페이지를 구성한다. ex)admin,backoffice, cms가 들어간다. http://admin.fastlms.co.kr - 서브 도메인을 따로 둘 수도 있다. http://www.fastlms.co.kr/admin - adminService를 만든다. (member쪽을 만들었듯이) -> AdminMainController package com.zerobase.fastlms.admin; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class AdminMainController { @G..

Chapter 08. 스프링 부트 프로젝트 - 비밀번호 찾기(초기화)

Ex) 메인 페이지에 공통적으로 계속 사용할 코드를 어떻게 관리할까? - ThymeLeaf fragment - layout 파일을 이렇게 구성하면 회원 가입 | 회원 정보 | 로그인 | 로그아웃 - index 파일을 간단히 작성 가능 메인 페이지 - 다른 info, 파일에도 모두 적용한다. - 가입 결과 페이지는 true / false에 맞게 각각 넣어줘야한다. Note) 실행 결과 ==================================오류 ===================================== - 로그인을 해야만 메인페이지가 안 뜬다. - 그리고 메인 기본 인덱스 페이지가 안 나오고 로그인 페이지가 첫 번째로 나온다. - 원인: SecurityConfig클래스에서 메서드 이름을 잘못..

Chapter 07. 스프링 부트 프로젝트 - 로그인/로그아웃

Ex) SecurityConfiguration - demo4 프로젝트 만든다. 종속성 Spring security 선택, pom 파일에서 복사해서 - fastlms에 붙여넣기 -애플리케이션 실행하면 시큐리티 패스워드가 뜬다. - 로컬 접속 - 위의 패스워드 입력해야 로그인이 가능하다. - 시큐리티 Config 클래스 추가, 주소에 대한 권한 설정 -> antMachers: '/' => 루트 페이지, '/**' => 루트 및 모든 페이지 -> 로그인 없이 접속 가능해진다. package com.zerobase.fastlms; import org.springframework.context.annotation.Configuration; import org.springframework.security.confi..