Burninghering's Blog
article thumbnail
답글 기능 구현
패캠 챌린지 2023. 6. 19. 15:06

test.jsp let toHtml = function (comments){ let tmp=""; comments.forEach(function (comment){ tmp+= '' tmp+= ' comment='+comment.comment+'' tmp+= ' commenter='+comment.commenter+'' tmp+= ' up_date='+comment.up_date tmp+= ' 삭제' tmp+= ' 수정' tmp+= ' 답글' tmp+= '' }) return tmp+""; } 등록 답글 등록할 폼을 만들었다 $("#commentList").on("click",".replyBtn",function(){ //1.replyForm을 옮기고 $("#replyForm").appendTo($(thi..

article thumbnail
댓글 기능 구현 - front
패캠 챌린지 2023. 6. 16. 20:42

ajax.jsp를 복사해서 test.jsp를 만들었다. commentTest SEND Data From Server : SimpleRestController.java 맨 위 클래스에 @RestController가 붙으면, 반환 타입이 뷰로 해석되지 않는다. @Controller public class SimpleRestController { // @GetMapping("/ajax") // public String ajax() { // return "ajax"; // } @GetMapping("/test") public String test() { return "test"; } 브레이크포인트를 걸고, 잘 들어오는 지 확인도 해봤는데 모두 잘 들어온다 (댓글들이 html로 나오지 않고 있음) let toHt..

article thumbnail
댓글 기능 구현 - back
패캠 챌린지 2023. 6. 15. 22:26

DB부터 시작해서 DB에서 가까운 순으로 쭉 개발 commentMapper.xml DELETE FROM comment WHERE bno = #{bno} SELECT count(*) FROM comment WHERE bno = #{bno} DELETE FROM comment WHERE cno = #{cno} AND commenter = #{commenter} INSERT INTO comment (bno, pcno, comment, commenter, reg_date, up_date) VALUES (#{bno}, #{pcno}, #{comment}, #{commenter}, now(), now()) SELECT cno, bno, pcno, comment, commenter, reg_date, up_date ..

article thumbnail
REST API와 Ajax
패캠 챌린지 2023. 6. 14. 22:17

복잡한 XML(데이터 교환할 때 데이터보다 태그가 더 많음)보다 사용하기 더 편함 HTTP가 TEXT기반 프로토콜이기 때문에 "전송"하려고 직렬화하는 것이다. 기본적으로 동기 이지만 비동기로 하여 효율을 높인다 웹페이지 전체를 업데이트하는 것은 비효율적이기 때문에 일부 데이터만 업데이트 하는 것을 비동기라고 한다. 우리는 게시판 덧글 달때, 바뀐 덧글만 가져오기 위해 사용할 것이다. 왼쪽 그림이 동기 통신 / 오른쪽 그림이 비동기 통신 동기 통신은 요청을 하면(함수 호출) 서버가 처리하고, 응답 올 때까지 계속 기다려야 한다. 응답이 와야 다른 작업을 할 수 있다. 비동기 통신은 요청을 보내놓고 다른 작업을 할 수 있다. 언제 처리가 끝났는지 알 수 있는 방법은 콜백함수를 사용한다. jQuery로 비동기..

article thumbnail
게시판 검색 기능 만들기
패캠 챌린지 2023. 6. 12. 19:36

1.검색할 대상을 뭐로 선택하느냐에 따라 쿼리가 달라지므로 동적쿼리 2.페이지 이동 처리 sql을 공통부분으로 만들고, include로 공통부분을 받아온다. A = 내용 + 제목 T = 제목 W = 작성자 if문으로 하기엔 셋 다 조건에 맞을 수 있으므로 우리가 지금 개발하려는 기능에는 choose가 낫다 %를 와일드카드라고 하는데, 여러 글자를 뜻함(0+, 0이거나 더 많거나 - title도 되고 title1도 된다.) _는 한글자를 뜻함 (title_일때, title은 안되고 title1은 된다.) bno가 여러개일 때, foreach로 배열을 만들어서 구분자를 콤마로 해서 값들을 다 구성해주는 것 (where bno in (1,2,3) 이라는 sql절도 있지만 훨씬 더 많을 때 사용) boardMa..

article thumbnail
게시판 CRUD 기능 구현_쓰기, 수정
카테고리 없음 2023. 6. 7. 01:07

먼저 boardList.jsp에 글쓰기 버튼을 만든다. 글쓰기 onclick은 버튼을 클릭했을 때 발생하는 이벤트, 원래는 호출될 함수를 지정해줘야 하지만 함수 안에 들어갈 문장만 넣은 것이다.(함수의 내용이 짧을 때만) location.href는 주소창에 주소(뒤에 적힌 주소)를 적고 이동하기 버튼을 누르는 것과 같다. @GetMapping("write") public String write(Model m){ m.addAttribute("mode","new"); //mode에 값을 new로 준다. return "board"; //읽기와 쓰기에 사용되는데, 쓰기에 사용할때는 mode=new로 준다 -> jsp가 mode를 확인하고 알맞게 응답을 하도록 준다 } board.jsp mode의 값에 따라서, ..

article thumbnail
게시판 CRUD 기능 구현_읽기, 삭제
패캠 챌린지 2023. 6. 5. 16:33

기능별 URI 정의 URL - 리소스 경로 URN - 리소스의 유일한 이름 위의 두개를 총칭하는 이름이 URI(Identifier 유일한 이름 명칭) URL : 전체 경로일 경우 URL의 일부만 적을 경우 : URI BoardController.java @Controller @RequestMapping("/board") public class BoardController { @Autowired BoardService boardService; @GetMapping("/read") public String read(Integer bno,Model m){ //읽어온 것을 board.jsp(view)로 전달할 모델 try { BoardDto boardDto = boardService.read(bno); // m..

article thumbnail
게시판 목록 만들기와 페이징 - TDD(2)
패캠 챌린지 2023. 5. 24. 21:24

getter/setter를 만들어주기 위해 변수에 private를 붙여주었다. package com.fastcampus.ch4.domain; public class PageHandler { private int totalCnt; //총 게시물 개수 private int pageSize; //한 페이지의 크기 private int naviSize=10; //페이지 네비게이션의 크기 private int totalPage; //전체 페이지의 갯수 private int page; //현재 페이지 private int beginPage; //네비게이션의 첫번째 페이지 private int endPage; // 네비게이션의 마지막 페이지 private boolean showPrev; //이전 페이지로 이동하는 링..