🚗 Backend Toy Project

    [스프링부트 게시판] 21. 댓글 구현

    📝 View 구현 이번 시간에는 게시글에 댓글을 달 수 있도록 구현해보겠습니다. 우선 디자인을 먼저 구현해주기 위해 detail.jsp 파일에 다음과 같은 코드를 추가해주었습니다. 결과는 다음과 같습니다. 📝 View 테스트 이번에는 임의로 댓글 데이터를 삽입한 뒤 해당 데이터가 상세보기 페이지에서 잘 출력되는지 확인해보도록 하겠습니다. 먼저 MySQL에서 다음과 같이 임시 데이터를 삽입해주었습니다. 이후 detail.jsp 파일을 다음과 같이 수정합니다. 다음으로 Board 객체의 무한 참조를 방지하기 위해 Board 클래스로 이동하여 Reply 객체 필드에 다음과 같은 어노테이션을 추가해줍니다. @JsonIgnoreProperties 어노테이션은 해당 필드가 Reply 클래스에 구현되어있는 Board..

    [스프링부트 게시판] 20. 카카오 로그인

    📝 OAuth 2.0 카카오 로그인 이번 시간에는 카카오 로그인 기능을 구현해보도록 하겠습니다. 카카오 로그인 기능은 OAuth 2.0 프로토콜 기반의 사용자 인증 기능을 제공하고 있습니다. 여기서 OAuth 2.0이란 인증을 위한 개방형 표준 프로토콜로써, Third-Party 프로그램에게 리소스 소유자를 대신하여 리소스 서버에서 제공하는 자원에 대한 접근 권한을 위임하는 방식을 제공합니다. OAuth 2.0에 대한 보다 자세한 설명은 아래 링크에서 확인하실 수 있습니다. OAuth 2.0 개념 정리 본 글은 생활코딩님의 [WEB2 - OAuth 2.0] 강의를 바탕으로 작성되었습니다. WEB2 - OAuth 2.0 수업소개 사용자가 가입된 서비스의 API에 접근하기 위해서는 사용자로부터 권한을 위임 ..

    [스프링부트 게시판] 19. 회원정보 수정

    📝 회원정보 수정 이번 시간에는 회원정보 수정을 위한 기능을 추가해보도록 하겠습니다. 우선 우리가 header.jsp 파일에서 설정했던 경로를 요청받기 위해 Controller 클래스에 함수를 구현해주어야 합니다. 따라서 UserController 클래스에 다음과 같이 함수를 추가해줍니다. 즉 header.jsp 파일에서 구현한 버튼이 눌리게 되면 해당 버튼은 '/user/updateForm'이라는 경로를 요청하게 되며 UserController에서는 이 경로에 대한 요청을 받는 함수가 구현되어 있으므로 해당 함수에서는 요청을 받아들여 jsp 파일을 반환하고 해당 jsp 파일은 html 파일로 변환되어 사용자에게 출력될 것입니다. 아직 updateForm.jsp 파일이 없기 때문에, user 폴더 아래에..

    [스프링부트 게시판] 18. 게시글(추가, 상세보기, 삭제, 수정, 페이징)

    📝 게시글 작성 이번 시간에는 게시글과 관련된 기능들을 구현해볼텐데, 먼저 글쓰기 기능을 구현해보도록 하겠습니다. 우선 BoardController 클래스에 다음과 같이 함수를 추가 해주었습니다. 이후 header.jsp 파일에 설정되어있는 경로를 모호하지 않도록 다음과 같이 변경해주었습니다. 다음으로 views 파일 아래에 board 폴더를 생성하고 loginForm.jsp 파일을 복사하여 해당 폴더 아래에 'saveForm'이라는 이름으로 붙여넣기 해줍니다. 이제 saveForm.jsp 파일의 내용을 다음과 같이 수정해줍니다. 추가로 summernote는 HTML5 기반의 깔끔한 UI와 함께 자주 사용하는 여러 기능을 제공해주는 오픈소스 웹 에디터입니다. 이후 글쓰기 탭으로 이동해보면 다음과 같이 구..