전체 글

전체 글

    [Spring] 댓글 삽입

    reply.js // 댓글 등록 function addReply() { // 게시글 번호(boardNo), 로그인한 회원 번호(loginMemberNo), 댓글 내용 if(loginMemberNo == ""){ // 로그인이 되어 있지 않은 경우 alert("로그인 후 이용해 주세요."); }else{ // 로그인한 경우 // 댓글 미작성한 경우 if( $("#replyContent").val().trim().length == 0 ){ alert("댓글을 작성한 후 버튼을 클릭해주세요."); $("#replyContent").focus(); }else{ // 댓글을 작성한 경우 $.ajax({ url : contextPath + "/reply/insert", data : {"memberNo" : logi..

    [Spring] 댓글 목록 조회

    [Spring] 댓글 목록 조회

    댓글 조회 샘플데이터 넣은 글에 넣은 샘플 데이터 조회하기! 비동기 - 동시에 일을처리 동기 - 순차적 처리 contextPath : /fin // JSON: JS 객체 형태의 문자열( 모든 프로그램에서 사용 가능) // 응답 데이터 형식이 JSON 형식임을 알려주어 자동으로 JS객체로 변환시켜준다 -> 반환된 값이 Object로 반환된다. ReplyController @RestController // 요청 시 값만 반환되는 컨트롤러 @Controller + @ResponseBody @RequestMapping("/reply/*") public class ReplyController { @Autowired private ReplyService service; // 댓글 목록 조회 @RequestMappi..

    [Spring]  댓글 테이블, 클래스 구조 생성

    [Spring] 댓글 테이블, 클래스 구조 생성

    댓글 & 대댓글 기본 구조 댓글 순서는 sns는 최신순, 커뮤니티는 오래된순으로 정렬되어있는 모습을 볼 수 있다 계층형 구조를 만드는게 어려운데 SQL 만드는게 상당히 어려운데 다행히 Oracle DBMS는 계층형 구조를 만드는 방법을 제공하고있다. 1. 댓글 테이블 생성 -- 댓글 테이블 CREATE TABLE "REPLY" ( "REPLY_NO" NUMBER PRIMARY KEY, "REPLY_CONTENT" VARCHAR2(1000) NOT NULL, "REPLY_CREATE_DT" DATE DEFAULT SYSDATE NOT NULL, "BOARD_NO" NUMBER REFERENCES BOARD, "MEMBER_NO" NUMBER REFERENCES MEMBER, "STATUS_CD" NUMBE..

    [SQL] 계층형 쿼리

    [SQL] 계층형 쿼리

    계층형 쿼리(START WITH, CONNECT BY, ORDER SIBLINGS BY) : 상위 타입과 하위 타입간의 관계를 계층식으로 표현할 수 있게 하는 질의어(SELECT) 👉START WITH : 상위 타입(부모)로 사용될 행을 지정 (서브쿼리 O) START WITH PARENT_REPLY_NO IS NULL PARENT_REPLY_NO만 봐도 부모인지 자식인지 알 수 있다 -> NULL로 구분 👉CONNECT BY : 상위 타입과 하위 타입간의 관계를 규정 PRIOR 연산자와 같이 사용하여 현재 행 이전에 상위타입이 있을지, 하위 타입이 있을지를 지정한다 ( PRIOR 연산자 : 어떤 행 이전에 와야하는것을 규정한다) SELECT * FROM REPLY START WITH PARENT_REP..

    [Spring] 게시판 글 삭제

    boardView.jsp 삭제 수정 - 삭제 버튼 클릭시 실행 될 함수 지정 board.js // 삭제 버튼 클릭 시 동작 function deleteBoard(){ if(confirm("정말 삭제하시겠습니까?")){ document.requestForm.action = "../delete"; document.requestForm.method = "POST"; document.requestForm.submit(); } } - 스크립트로하면 직접적인 주소 노출을 막을 수 있다 그리고 파라미터를 막을 수 있다 ex) /board/view/500 -> /board/delete BoardController 삭제는 delete 구문이 아닌 STATUS_CD 4로 update 진행 @RequestMapping(va..

    [Spring] 게시글 글 수정

    [Spring] 게시글 글 수정

    수정화면 전환 BoardController // 게시글 수정 화면 전환 @RequestMapping(value = "updateForm", method = RequestMethod.POST) public String updateForm(int boardNo, Model model ) { // 1. 카테고리 목록 조회 List category = service.selectCategory(); // 앞서 사용한 서비스를 재요청 // 2. 게시글 상세 조회 Board board = service.selectBoard(boardNo); model.addAttribute("category", category); model.addAttribute("board", board); return "board/boardUp..

    [에러]  java.lang.NullPointerException

    [에러] java.lang.NullPointerException

    문제 패스워드 값을 받아오는 과정에서 값이 넘어오지 못하고 null이 넘어왔다 해결 가장 자주하는 실수인 오타라고 생각하여 ctrl f5로 검색하면서 찾아보니 jsp에서 name속성에는 currentPw 내가 쓴건 cuurentPw여서 오타를 해결해도 값이 넘어가지 않았다. 계속 찾아보다가 DAO에서 update문을 사용했어야하는데 selectOne을 써서 발생한 문제였다

    [홈페이지] error.jsp

    보호되어 있는 글입니다.

    [Spring] 게시글 (상세조회)

    보호되어 있는 글입니다.

    [Spring] 기본 세팅

    기본세팅 BoardController @Controller @RequestMapping("/board/") @SessionAttributes({"loginMember"}) public class BoardController { @Autowired private BoardService service; } @Controller : 요청과 응답을 제어해 컨트롤러임을 알려준다 + Bean 등록 @SessionAttributes({"loginMember"}) 1. Model 속성 추가 시 key값 일치하는 값을 Session 영역으로 이동 2. Session에서 key가 일치하는 값을 얻어와 해당 컨트롤러 내에서 사용 가능하게 한다. -> @ModelAttribute("loginMember")를 작성하여 얻어다 ..