코딩 43

Springboot 예약내역 페이지 만들기!(2) 날짜를 비교하자 with Timestamp and LocalDateTime

이제 시간이 지난 예약은 변경/취소할 수 없게 만들어보자! 날짜를 비교해야하는데 service LocalDateTime을 선택한 이유가 일단 timestamp에서 변환 하기 간단했고 isAfter/isBefore처럼 아주 유용한 기능을 제공해 주고 있었다 그래서 현재시간이라 비교해서 판별하게 했다! service 여기서 이제 true를 주는것만 배열에 넣어서 프런트에게 던져 주면 되고 false인 경우reservationdao.deleteById(reservationvo.getId()) 사용해 예약 테이블에서 빼준다 개인적으로 isAfter/isBefore가 아직 했갈린다 ㅋㅋㅋ 그래서 테스트를 몇 번 해봐야 한다! 컨트롤러는 달라진 게 없으니! 스킵 결과 현재 3시 58분 16시 거를 무지하게 예약했다..

Springboot 게시판만들기!(9)글쓰기 사진 올리기 추가 with XMLhttpRequset and MultipartFile

이전까지만 해도 text만 올릴 수 있는 게시판이었다 이유는 받을 줄은 아는데 ajax로 도대체 어떻게 보내야 하는지... 이게 혼란스러웠다 그래서 좀 찾아본 결과 https://m.blog.naver.com/PostView.nhn?blogId=mk1126sj&logNo=221016837263&proxyReferer=https:%2F%2Fwww.google.co.kr%2F [jQuery/제이쿼리] ajax와 FormData를 이용한 비동기 파일 업로드 비동기 업로드를 하기 위해 ajax와 FormData를 이용한 방법이다. FormData는 IE10버전 부터 지원하며... blog.naver.com https://unikys.tistory.com/233 [Javascript] AJAX (XMLHttpRe..

Springboot json 전송! with JSONObject or map

이제 spring에서 json을 프런트로 주는걸 아주 간단하게 해볼건데 왜냐면 현재 프로젝트는 실패/성공만 boolean으로 주고 있다 프로젝트 막바지가 되면 사용자가 실패를 하더라도 xx가 맞지 않습니다 혹은 글자 수를 초과하였습니다 등 여러 상태 메시지를 던져 줘야 한다 두 가지 방법이 있는 거 같은데 JSONObject를 사용해서도 json을 던질 수 있는데 map을 사용해서 던질 수도 있다고 한다 jsonObject Map 결과를 보면 제대로 나온다

Springboot/Json 2021.06.20

Springboot js파일정리!

잠시 혼란해진 js파일들을 정리해보자 어차피 다 똑같은 전송인데 너무 파일들이 나눠져 있다 현재 무슨 페이지 몇 개 만들었다고 저렇게 js가 많은가 ㅋㅋㅋㅋㅋ 일단 doAjax로 바꿔서 한 번에 다모아 놓자 사실 이런건 시작할 때부터 정해놔야 안위험한데 ㅋㅋㅋ 일단 연습이니까 addeventlistener/window.onload가 현재는 필요없어서 이런 식으로 묶었다 원래 사용자가 자주 돌아다니는 위주나 페이지별로 묶는다고 들었는데 그냥 토이 프로젝트니까 심플하게 묶었다 이제 대망의 댓글을 하러가자!

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 사진업로드! with MultipartFile

게시판 기능 중에 사진 올리기 기능이 누락됐는데 이유는 아직 ajax로 데이터를 전송하는 법을 몰라서 일단 form으로 시작해보자! html 그냥 index.html에 바로 만들었다 파일을 여러 개 전송하고 싶으면 multiple="multiple" 라고 해주면 된다 restcontroller 원래 서비스로 빼서 해야 는 게 편한데 테스트여서 내 코드가 잘 먹는지 그냥 바로 controller에 넣어놨다 file.get(0).isEmpty()==false 배열의 첫 번째 칸이 비어있지 않다면 System.out.println(file.get(i).getOriginalFilename()+"파일이름"); System.out.println(file.get(i).getSize()+"파일사이즈"); 파일 이름/사..

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 게시판 만들기!(2) 페이징 with PageRequest.of

자 이제 페이징을 할 텐데 두 가지 방법이 있다 1. jpa가 편하게 제공해주는 기능이고 2. 댓글이나/검색할 때 써야 하는 좀 더 전통적으로 페이징을 하는 건데 둘 다 원리만 이해한다면 구현하기 어렵지 않다 한 번만 이해하면 된다 boardservice로가서 boarddao.findAll(PageRequest.of(page-1, pagesize,Sort.by(Sort.Direction.DESC,"bid"))); 이 간단한 줄이 페이징을 해준다 무슨 뜻 이냐면 page에 맞게 지정한 pagesize만큼 bid를 내림차순 기준으로 정렬해서 보내준다 기가 막힌다 진짜 하나의 놀라운 기능이 또 있다 controller로가서 여기서 개인적으로 느끼는 건데 스프링은 진짜 알면 편하고 모르면 아예 못쓰는 거 같다!..

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

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