자바 38

Springboot 게시판 만들기!(7) 댓글 등록 with Ajax

vo/dto/dao 세팅하고 html 로그인 여부에 따라 다르게 표시해주고 js 클릭 시 행할 함수를 만들어준다 정상적으로 등록했다면 등록한 게시물 페이지로 이동된다 service로가서 db에 넣을 수 있게 짜주고 restcontroller로가서 이메일 인증이 된 사람만 댓글을 적을 수 있게 해 준다! 이메일 미인증시 인증시 db로 잘 들어왔다 다음번엔 댓글이 달린 게시글에 댓글을 출력시켜 주자!

Springboot 게시판만들기!(5) 조회수

시스템은 글을 클릭하면 조회수가 올라가면 된다 service로가서 이전 getArticle만 조금 바꿔주면 된다 boardvo.getHit() 로 이전 조회수를 가져와서 boardvo.setHit 다시 set을 해주고 위에 있는 @Transactional 때문에 바로바로 db가 수정이 된다 jpa진짜 아주 편리하다 들어가면 조회수가 늘고 0->1로 db도 바뀌었다 뒤로 가기 해도 1이 되어있다! 이제 다음번엔 게시글 수정/삭제를 만들어보자!

Springboot 게시판만들기!(4) 글내용 보이기 with th:href=""

이제 db에 있는 글 내용들을 글 번호로 가져와서 뿌려주면 된다 html 이제 service로 가서 만들어주자 bid를 받아서 번호에 맞는 게시물 내용을 db에서 다 꺼내온다 controller로가서 근데 html에서 /auth/가없으므로 솔직히 나도 th:href는 잘 모르는 거 같다 아직 value나 name 이런 건 그냥 쓰면 되는데 href는 thymealf로 했을 때 좀 다른 거 같아서 저부분은 그냥 복붙 했다 미리 써 논 글들이 잘 들어온다 이제 조회수 기능을 만들어보자!

Springboot 사진불러오기! with <img th:src=" ">

이제 사진을 보여주는 페이지를 만들자 html index.html에 역시 간단하게 테스트 페이지를 만든다 boarddao로가서 select *from blogboardimage where bid=?1 order by id Asc 를 던져주는건다 임의로 넣어놓은 글 번호에 해당하는 것들을 오름차순으로 가져온다(asc는 생략 가능이다) controller 글 번호를 1번으로 넣어줬으니 1로 해주고 배열로 받아준다음 확인용으로 한번 출력해보고 array로 던져준다 html 이렇게 배열 수만큼 이미지 태그를 만들어준다 검사를 눌러보면 이렇게 사진이 오는걸 알 수 있다 이제 이원리로 글쓰기에 적용하면 되는데 ajax로 넘겨줘야 하는데... 심지어 j쿼리도 아니고 바닐라 js로 짜논 상태라... 좀 찾아봐야겠다 어..

Springboot 게시판만들기!(3) 글검색+페이징 with nativeQuery

이제 검색 기능을 만들 건데 제목으로 찾는 검색을 만들 것이다 boardlist 같은 컨트롤러를 하나 더 만들어 준다고 생각하면 된다 controller로가서 제목을 받아주고 똑같이 boardlist로 보낸다 한 페이지만 사용하려고 html에 밑에 search를 따로 또 만들어놨다 이제 직접 페이징을 만들어보자 boarddao로가서 뭐가 많아졌다 like/limit/order by를 따로따로는 쏠 줄 아는데 한꺼번에 같이 저렇게 jpa 쿼리로 쏘는 법을 모르겠다 "select *from blogboard where title like %?1% order by bid desc limit? 2,? 3" blogboard에서 title에? 1가 들어가 있는걸 bid로 정렬해 개수별로 들고 온 더 "select..

Springboot 게시글 불러오기!(1)

게시판의 하이라이트에 입성했다 일단 전체 글 한번 불러와 보고 페이징 처리를 하려고한다 그전에 글을 몇 개 넣어보자 이제 이걸 불러오면 된다 boardservice로가서 자체로 제공해주는 boarddao.findAll() 사용해서 전체 게시글을 가져오고 controller로가서 난 array라고 해서 보내겠다 그러면 thymealf에서 array로 받아서 쓰면 된다! jdbc에서 처음에 넘어왔을 때 어 requset.setattributes() 어디 있지 했는데 spring에서는 둘 다 사용 가능하지만 model로 간단히 사용할 수 있는 거 같아서 자주 쓰게 된다 html을 보면 이렇게 each를 사용해서 for문처럼 사용이 가능하다! 이제 페이징을 구현할 것이다 보면 글 순서도 오래된 순으로 나오고 예..

Springboot 게시판글쓰기!(1) with Ajax only text version

이제 후기 게시판을 만들자 html vo dto dao 현재 작성된 글이 없어서 아무것도 뜨지 않는다 이제 글 쓰는 페이지를 만들자 일단 ajax 왜냐면 글쓰기를 하는데 이메일 인증이 안되어있으면 못쓰게 만들려고한다! 사실 좀더 필요한 기능이 있다 영수증인증이라던가 근데 진짜 카페를 차린건아니여서 ㅋㅋㅋ 이메일인증만 해주고 아니근데... 점점 늘어난다... 합칠 방법을 나중에 생각해 봐야겠다... 어쨌든 이제 restcontroller로가서! 검증을 해주고 맞다면 이제 writearticlepage로오는데 충분히 그냥 검사-> 소스 해서 true로 바꾸고 올 수 있으므로 컨트롤러에서도 한 번 더 검사해보고 (여기서는 get방식이다!) 아니면 boardlist로 보내버리자!

Springboot 권한! with ENUM

이제 오타 확률을 줄이기 위해서 enum을 이용해 "ROLE_USER"를 넣어주자 이렇게 enum으로 만들어주면 된다 웃긴 게 enum은 생성자가 private다 저 getValue로 값을 꺼내 쓰면된다 이제 "ROLE_USER"를 다 찾아서 바꿔주자! 회원가입/oauth로그인 테스트 잘 들어온다 https://mine-it-record.tistory.com/204 [JAVA] 자바_enum 클래스 (열거형_enumeration type) enum 이란 무엇일까? 열거체(enumeration type)로 JDK 1.5 이상에서 사용할 수 있다. 간단하게 요약을 해보자면 다음과 같다. - 클래스처럼 보이게 하는 상수 - 서로 관련있는 상수들끼리 모아 상수들을 mine-it-record.tistory.com..

Springboot 구글로그인!(3) with interface

자 구글은 /email/name/sub로 꺼내는 형식인데 페이스북/네이버/카카오도 모두 구글과 같을까? 아닐 확률이 크고 또 "google"때문에 다른 플랫폼 로그인도 모두 google로 들어가게 된다 그렇다면 System.out.println("userrequest"+userRequest.getClientRegistration()); 얘를 한번 뒤져 보자 registrationId='google', 이건 공통인 거 같다 이 값이 facebook이면 face으로 google이면 구글로 해주면 된다 새로운 인터페이스를 만들자! 이렇게 하고 igoogle/iface/inaver 이렇게 만들어 주면 된다 나중에 타플랫폼 추가시 인터페이스만 이제 늘려주면 된다 loaduserservice에 조건문을 걸어주자! ..

Springboot 구글 로그인!(1) with oauth2

일단 application.properties 로가서 이렇게 작성해준다 이건 구글 api센터에 가서 발급받으면 된다 모르겠으면 https://youtu.be/9ui2i-SgBpk 이 영상을 참고하자! 주의할 점 페이스북은 scope 없어도 기본적인 거 다 주는 거 같던데 구글은 spring.security.oauth2.client.registration.google.scope=profile,email 없으면 로그인 시 구글이 가지고 있는 우리 아이디 번호만 받아온다 훨씬 길지만 실제 사용 중인 아이디여서 잘랐다 그래서 꼭 scope설정 해주자! 그리고 html 놀랍게도 스프링 부트에서 구글/페북 같은 큰 사이트에 대한 로그인 경로는 자동으로 지정해줘서 저렇게 입력하면 된다 자 이제 구글 로그인 로그인을 ..