본문 바로가기

프로젝트/Spring Boot 블로그프로젝트41

[블로그프로젝트] 35. 게시글삭제시 오류수정(1) 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 댓글이 있는 게시글을 삭제하려고하면 생기는 오류가 있어서 수정하고자한다. 아래와같이 댓글이 있는 게시글을 삭제해보면 이렇게 에러가 뜨는걸 확인할 수 있다. 그에 반해서 얼러트는 글삭제가 잘 되었다고 말해주고 있다. 메인페이지를 확인해보면 삭제되지 않은 게시글을 확인할 수 있다. 해당 부분을 고치기위해서 board.js로 이동해서 조건문을 추가해준다. if(resp.status !== 200){ alert("글삭제실패"); }else{ alert("글삭제완료"); } 서버에서 테스트를 진행.. 2023. 6. 23.
[블로그프로젝트] 34. 댓글삭제 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 이제 댓글을 삭제하는 기능을 작성하기 전에 detail.jsp로 이동해서 댓글의 아이디부분을 살짝 수정해준다. 서버에서 개발자도구(F12를 눌러보면)해당 댓글들의 고유번호를 확인할 수 있다. 댓글삭제 버튼에 onclick을 바로 넣어주면서 게시글의 고유번호와 댓글의 고유번호를 같이 넘겨준다. 여기서 다른사람이 작성한 댓글도 삭제가 되면 안되기 때문에 조건문을 활용해서 로그인한 유저의 고유번호와 댓글을 작성한 유저의 고유번호가 일치할때만 삭제버튼이 보이도록 설정해준다. delete boar.. 2023. 6. 23.
[블로그프로젝트] 33. 댓글작성하기 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 댓글작성하기에 들어가기 전에 댓글목록의 순서를 내림차순으로 정렬하기 위해서 board.jsp에서 @Orderby("기준변수명 desc") 를 작성해준다. detail.jsp에 댓글작성하기와 댓글목록부분을 나눴었는데, 댓글작성하는 부분에 아래와 같이 작성한다. db에 넘겨줄때 boardId에 대한 값도 같이 넘겨줘야하기 때문에 board에 id를 hidden 값으로 넘겨준다 textarea와 button에도 id를 각각 부여해준다. form태그로 감싸서 사용하기 때문에 button에 typ.. 2023. 6. 21.
[블로그프로젝트] 32. 댓글리스트 출력 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 게시글에 댓글들이 달렸을때의 기능을 작성하고자한다. 우선 repository에 ReplyRepository를 생성한후 JpaRepositry를 상속받아 사용할수 있게 해준다. public interface ReplyRepository extends JpaRepository { } 댓글의 디자인은 아래와 같이 진행할 예정이다 detail.jsp로 이동해서 아래와 같이 작성해준다. https://www.w3schools.com/bootstrap4/bootstrap_cards.asp 에 있는 .. 2023. 6. 21.
[블로그프로젝트] 31. 카카오로그인(2) 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 카카오톡으로 로그인한유저가 개인정보를 변경하려고 하면 나중에 로그인할 때 오류가 생길것이다. 왜냐하면 우리는 coskey로 특정한 비밀번호로 지정해줘서 db에 저장에 저장을 해줬는데 카카오톡으로 로그인한 유저가 다시 로그인하려고 할 때 비밀번호가 다르게 달라서 에러가 뜨는 경우가 있을 수 있기 때문에 예방하기 위해서 기능을 추가해주자. 우선 카카오톡을 통해서 로그인한 유저와 일반유저를 구분하는 값이 필요하기 때문에 추가를 해줘야한다. User.java로 이동해서 oauth를 추가해준다. .. 2023. 6. 20.
[블로그프로젝트] 30. 카카오로그인(1) 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 시작하기전 컨트롤러에 해당 기능들을 전부 작성하는건 좋은방법은 아니지만 공부목적으로 좀더 이해하기 편하게 하기위해서 컨트롤러에 작성하고자한다. 지난글에서 응답받은 토큰의 정보들을 복사해서 table폴더하위로 OAuthToken객체로만든다. 값을 주고받아야하기때문에 @Data 어노테이션을 추가해주자 @Data public class OAuthToken { private String access_token; private String token_type; private String refre.. 2023. 6. 19.
[블로그프로젝트] 29. 카카오 AccessToken 받기 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 저번시간에 카카오톡 로그인을 위한 환경설정을 진행했다면 이번엔 로그인요청을해서 카카오쪽에서 AccessToken을 받아보는 작업을 진행해보자 우선 카카오개발자센터에서 REST API쪽으로 이동해서 마음에 드는 카카오톡버튼 이미지를 다운받는다. https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#request-token resources/static 하위폴더로 image를 생성해서 다운받은 이미지 파일을 붙여넣기를한다. 나는 여.. 2023. 6. 18.
[블로그프로젝트] 28. 카카오로그인 환경설정 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 다른 사이트들에서도 활용하는 카카오를 이용해 로그인하는 기능을 예전에 교육받을때 팀원들과 프로젝트를 진행하면서도 해당 기능을 추가해보고 싶었지만, 시간문제도 있고 활용성 문제도 있어서 해보지 못했지만, 이번기회에 해보게 되었다. 우선 카카오개발자센터로 이동해서 본인 카카오계정으로 로그인 https://developers.kakao.com/ 내 애플리케이션으로 이동해서 애플리케이션 추가를 눌러서 해당 내용을 채워넣는다. 그 후 플랫폼으로 이동해서 web 플랫폼 설정을 진행한다. 서비스를 운.. 2023. 6. 16.
[블로그프로젝트] 27. 회원정보 수정하기(2) 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 이전 글에서 회원정보를 수정했는데 db에서 값은 변했지만 세션에 저장된 유저의 정보는 변하지 않아서 로그아웃 후 다시 로그인을 하지 않으면 다시 재정보수정하기로 들어가도 기존의 정보가 뜨는 현상이 발생하게된다. 위와같이 1111@test.com으로 변경하였지만 다시 정보수정하기에 들어가도 아래와 같이 변경하기 전 이메일로 나오게된다. 이를해결하기위해서 세션에 저장된 값을 우리가 바꿔주는 작업을 하면된다. 시큐리티 인증절차의 로그인요청과정을 순서대로 나열하자면 a. 사용자의 로그인 요청 b.. 2023. 6. 15.
[블로그프로젝트] 26. 회원정보 수정하기(1) 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 글 수정, 삭제 기능을 만들었으니 이제 유저의 정보도 수정할 수 있는 기능을 작성해보자 header에 내정보수정을 누르면 주소를 /user/updateForm으로 이동하게 만들었으니 userController로이동해 updateForm 메서드를 작성해준다. 그러면 controller는 user에 updateForm으로 리턴해준다. @GetMapping("/user/updateForm") public String updateForm(){ return "user/updateForm"; } U.. 2023. 6. 15.