본문 바로가기

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

[블로그프로젝트] 25. 글 수정하기 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 지난글에서 글을 삭제하는 기능을 작성했으니 이번엔 수정하는 기능을 작성해보자. 글 수정도 마찬가지로 작성한 사람만 수정가능하도록 해야하기 때문에 if문 안에 넣어놓는다. 그리고 버튼태그가 아니라 a태그로 지정해 주소를 지정해주도록 하자 Modify Delete 다른 아이디로 접속해서 확인해보면 글삭제버튼과 수정버튼을 아예 표시해주지 않는걸 확인할 수 있다. 이제 수정버튼을 클릭했을때 어떠한 기능을 추가해줘야할까? 가장먼저 다시 글을 작성하는것처럼 제목과 내용의 내용을 수정할 수 있어야한다.. 2023. 6. 14.
[블로그프로젝트] 24. 글 삭제하기 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 저번글에서 글상세보기에서 뒤로가기, 수정, 삭제 총 3가지를 만들었다. 뒤로가기는 history.back()으로 작동하는 버튼으로 만들었고 이번에는 삭제하는 기능을 만들고자한다. 가장먼저 글상세보기를 클릭했을때 해당 글의 번호와 작성자가 누구인지 확인하게 해보자 detail.jsp에 새로운 영역을 위해 div태그를 하나 추가한 후 span 태그를 이용해 글번호와 작성자를 한줄씩 지정해준다. detail에는 boardController에서 board라는 이름값을 사용해 board.java에.. 2023. 6. 13.
[블로그프로젝트] 23. 글 상세보기 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 글을 작성하고 페이징 처리 까지 했다면 이제 작성한 글을 읽어보는(상세보기) 기능을 작성하자 Index.jsp 에서 상세보기를 할 a태그에 주소를 변경해주자 상세보기를 클릭해보면 해당 주소로 이동할 수 있는걸 확인할 수 있다. 이동만 하는거지 해당 기능은 작성하지 않아 주소가 잘못되었다는 화면을 보게 될것이다. boardController로 이동해서 컨트롤러 부분을 작성을하자 PathVariable은 주소를 "/{}"방식으로 받기위해 필요한 어노테이션이다. @GetMapping("/boa.. 2023. 6. 13.
[블로그프로젝트] 22. 글목록 페이징처리 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 메인페이지에서 글이 10개 20개라면 한번에 모든 글들이 표시된다면 보기에도 좋지 않고 불편할것이다. 특정 개수대로 나눠서 페이징 처리를 해보자. 우선 Board.java를 확인해서 글목록을 특정할 수 있는 변수명에 "_"가 포함되어있다면 없는방향으로 수정을 해주자 쌍따옴표("")에 해당 변수명을 넣으면 인식하지 못하는 경우가 많다. 나같은 경우도 Board_idx로 설정해 놓았는데 board 까지만 인식을해서 정렬기준을 잡지못해 500 에러가 발생하였다. boardController로 .. 2023. 6. 12.
[블로그프로젝트] 21. 글목록 만들기 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 글을 작성했으니 이제 작성한 글들을 메인화면에 띄워주자 boardController.java 에서 아래와 같이 작성한다. @Autowired BoardService boardService; @GetMapping({"", "/"}) public String index() { return "index"; } 컨트롤러를 작성했으니 이제 서비스를 작성하자 글목록이라는 메서드를 작성하고 작성된 글이 여러개 일 수도 있으니 List타입으로 board를 넣어준다. 모든 글들을 가져오기위해 FindAl.. 2023. 6. 11.
[블로그프로젝트] 20. 글작성하기 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 이제 로그인까지 진행했으니 글을 작성하는 기능을 작업해보자. 가장먼저 BoardControllerf로 이동해 주소를 변경해준다. 컨트롤러에서 주소를 변경했으니 header에서도 주소를 변경해주자 주소를 변경해주었으니 이제 해당 주소대로 파일을 생성하자 views 패키지 아래에 board폴더를 생성 후 saveForm.jsp를 만들어주자(loginForm을 복사한 후 이름을 바꾸면 편하다) 간단하게 잘 작동을 하는지 테스트해보도록 하자 참고로 loginForm을 복사해서 이름을 변경했다면 .. 2023. 6. 11.
[블로그프로젝트] 19-1. 시큐리티세션에 저장된 아이디값 확인해보기 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 시큐리티가 가로채서 유저정보를 세션에 저장해서 로그인을 해주는건 알겠는데 그럼 로그인한 유저의 정보를 어떻게 확인할 수 있을까? 한번 확인해보자 우선 BoardController.java로 이동해서 아래와 같이 변경해보자 @GetMapping({"", "/"}) public String index(@AuthenticationPrincipal PrincipalDetail principalDetail) { System.out.println("접속된 아이디 : "+principalDetail... 2023. 6. 9.
[블로그프로젝트] 19. 시큐리티로 로그인하기 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 이번 글에선 시큐리티를 이용해 로그인하는 과정을 정리하고자 한다. loginForm.jsp 에서 form에 있는 주소를 변경하자. 아이디 저장기능도 사용안할 예정이기 때문에 삭제해준다. ID Password Login UserApiController.java에서 로그인 관련해서 작성하지 않았는데 어떻게 로그인을 진행할까? 바로 스프링시큐리티가 로그인정보를 가로채서 대신 로그인하게 처리할 것이다. SecurityConfig.java로 이동해서 아래와 같이 코드를 추가한다. .and() .f.. 2023. 6. 9.
[블로그프로젝트] 18. 비밀번호 해쉬 후 회원가입하기 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 회원가입을 할 때 비밀번호를 1234 로 입력한다고 했을 때 DB에 1234 그대로 저장이 된다면 보안상으로 좋지 못한 방법일 것이다. 그렇기 때문에 회원가입을 할 때 입력한 비밀번호를 특정 문자열로 변경하여 DB에 저장이 된다면 비밀번호 1234로 저장되는 것보다 훨씬 안정적일 것이다. 이전글에 작성이 되어 있지만, 다시 순서대로 작성하고자 한다. SecurityConfig.java 에 해당부분을 추가한다. @Bean BCryptPasswordEncoder encoder(){ retur.. 2023. 6. 7.
[블로그프로젝트] 17. 스프링시큐리티 로그인 커스터마이징 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 스프링시큐리티를 이용해 로그인을 할 때 커스터마이징을 하기위해선 주소를 바꿔야하는 부분이 있다. UserService.java에서 로그인하지 않아도 접근할 수 있는 주소에 /auth를 붙여준다. UserApiController.java에서도 주소를 변경해준다. 로그인은 시큐리티로 할 것이기 때문에 삭제해주어도 무방하다. userService.java에서도 로그인 부분을 삭제한다. UserRepository에서도 로그인 부분을 사용하지 않을 것이기 때문에 삭제한다. loginForm.jsp.. 2023. 6. 7.