Projects

이번 포스팅에서는 게시글 기능을 구현 할 것이다. 게시글 삭제 기능은 먼저 삭제하고 싶은 게시글이 로그인한 사용자가 작성한 게시글인지 본인 확인이 필요하다. 본인 확인이 되면 삭제 버튼을 누름으로써 delete로직이 실행된다. 다른 포스팅에서는 HTML폼이 있었지만 삭제에서는 버튼을 누르면 delete로직이 있는 url로 바로 매핑을 해놨기 때문에 HTML코드는 게시글 상세보기 포스팅을 참고하면 될 것 같다 1. postController.java 현재 로그인 한 사용자와 게시글의 작성자가 다를 때는 게시글 삭제 버튼을 누르면 해당 게시글의 작성자가 아닙니다 라며 알람을 띄우게 된다. 사용자와 작성자가 같으면 삭제 로직을 실행 후 게시글을 삭제했다고 알람을 띄운다. @PostMapping("/delete..
이번 포스팅에서는 게시판에 올린 글을 수정 기능을 구현 할 것이다. 글 수정 기능은 먼저 수정하고 싶은 게시글이 로그인한 사용자가 작성한 게시글인지 본인 확인이 필요하다. 내부단에서 게시글 작성자인지 확인 후 작성자이면 수정을 아니면 에러메세지를 출력할 수 있도록 만들것이다. 1. postupdate.html 글 작성 폼이랑 동일하게 구성했다. 버튼의 하이퍼 링크정도 변경해줬다. 게시글 수정 제목 내용 수정 취소 2. postController.java 현재 로그인 한 사용자와 게시글의 작성자가 다를 때는 게시글을 수정하려면 이전에 썼던 제목과 본문을 불러와야 하기 때문에 해당 게시글의 boardId를 사용해서 게시글의 정보를 불러와 model 객체로 폼에 보내준다. @GetMapping("/update..
이번에는 작성한 작성한 게시글의 상세보기 페이지를 만들어 볼것이다. /freeboard에서 게시글 목록이 나오면 그 중 하나의 제목을 클릭하면 /freeboard/detail/{boardId}로 이동하고 그 글의 제목, 내용, 작성자 작성일 등 여러가지 상세 정보를 readonly로 보여주려고 한다. 1. freeboard.html freeboard.html을 다시 한번 보는 이유는 상세보기를 누를 때 해당 게시글의 boardId가 필요하기 때문이다. 게시글의 목록에서 제목에 하이퍼링크로 /freeboard/detail/{boardId}를 보낸다. URL에 boardId를 보내서 boardId로 해당 글에 대한 정보를 찾을 수 있도록 했다. 2. PostController.java @PathVariabl..
이번에는 작성한 게시글을 작성하는 페이지를 만들어 볼것이다. /posting으로 접속하게 되면 로그인한 사용자에 한해서 글을 작성할 수 있도록 글 작성 폼을 로드한다. 1. freeboard.html /freeboard/posting URL로 POST방식으로 제목, 내용을 postDTO에 담아 보내주고 이전 포스팅에서 말했듯이 작성시간과 수정시간은 자동으로 Auditing을 통해 들어간다! 게시글 등록 제목 내용 작성 취소 2. PostController.java 만약 아무거도 안쓰고 눌렀을 때를 대비하여 Validated를 활용하여 title이나 content에 값이 없을 때에는 예외를 발생시켜 글 작성이 안되도록 했다. 그리고 현재 로그인 한 아이디, 즉 로그인한 userId에 데이터베이스 연관관계를..
이번에는 작성한 게시글의 전체 목록을 출력하는 페이지를 만들어 볼것이다. /freeboard로 접속하게 되면 게시판 페이지에 모든 사용자들이 작성한 글을 출력하려고 한다. 1. freeboard.html 헤더부분은 이전 포스팅과 같이 네비바를 붙혀줬다. 게시판 기본 페이지에 사용자들이 작성한 글을 출력하고싶기 때문에 타임리프의 each를 사용해서 다음에 볼 controller에서 list라는 model객체로 보낸 Post객체 즉 게시글에 대한 정보가 담긴 Post객체를 list라는 변수로 모든 글 목록을 출력해줬다. 단 작성일은 Datetime 타입으로 DB에 들어가 있기 때문에 이쁜 모양으로 출력해주기 위해 포맷팅해줬다! 자유게시판 글 작성 글번호 작성자 제목 작성일 2. Post.java & Base..
이번 포스팅에서는 스프링 시큐리티를 활용한 로그인을 하는 방법에 대해 포스팅 할 것이다. 로그인을 하는 과정에는 인가와 인증이라는 절차가 생기는데 이 둘의 차이부터 간단하게 알아보자 인증이란? (Authentication) - 사용자가 누구인지 신원을 확인하는 절차를 말한다. 쉽게 비유하자면 내가 주민등록증과 같은 정부 문서를 받고 싶을 때 나의 신원을 확인하는 과정이라고 생각하면 쉬울 것 같다. 내가 진짜 나라는 것을 증명하는 것을 말한다. 웹에서는 ID와 Password를 활용하여 로그인 하는 것이 대표적인 인증이다. 인가란? (Authorization) - 어떤 개체가 어떤 리소스에 접근할 수 있는지 어떤 동작을 수행할 수 있는 권한이 있는지를 확인하는 과정이다. 쉽게 비유하자면 내가 체육관에서 운..
목표 1. 회원가입 페이지에서 필요 정보를 입력한다 (이름, 별명, 아이디, 비밀번호). 2. 별명과 아이디는 Unique값이기 때문에 입력과 동시에 중복체크를 하여 사용자에게 보여준다. 3. 입력 후 가입하기 버튼을 입력하면 비밀번호를 암호화 하여 데이터베이스에 저장한다. 4. 회원가입이 정상적으로 됐으면 메인페이지로 이동하고 실패하면 다시 회원가입 페이지로 돌아가서 오류를 출력한다. Version Spring boots : 3.1.4 java : 17 Database : H2 gradle 코드 및 설명 1. Database - h2 먼저 회원을 저장 할 데이터베이스가 필요하기 Member라는 table을 만들었다. 내가 저장할 정보는 유저 고유 번호, 이름, 별명, 아이디, 비밀번호이다. Long타입..
보글보글소다
'Projects' 카테고리의 글 목록