목록전체 글 (169)
KSI일기장

boardDetail.jsp ${detail.boardTitle} - ${detail.boardName} ${detail.memberNickname} 작성일 ${detail.createDate} 마지막 수정일 ${detail.updateDate} 조회수 ${detail.readCount} 썸네일 다운로드 업로드 이미지 다운로드 ${detail.boardContent} 수정 삭제 목록으로 board.js // 즉시 실행 함수 : 성능up, 변수명 중복 X (function(){ const deleteBtn = document.getElementById("deleteBtn"); // 존재하지 않으면 null if(deleteBtn != null){ // 버튼이 화면에 존재할 때 deleteBtn.addEve..

-DB에 Reply(댓글) 테이블 생성 및 테스트 댓글 삽입 -- 댓글 테이블 CREATE TABLE "REPLY_S" ( "REPLY_NO" NUMBER PRIMARY KEY, "REPLY_CONTENT" VARCHAR2(1000) NOT NULL, "REPLY_ST" CHAR(1) DEFAULT 'N' CHECK ("REPLY_ST" IN ('Y','N')), "CREATE_DT" DATE DEFAULT SYSDATE NOT NULL, "MEMBER_NO" NUMBER REFERENCES MEMBER_S, "BOARD_NO" NUMBER REFERENCES BOARD, "PARENT_REPLY_NO" NUMBER REFERENCES REPLY_S ); COMMENT ON COLUMN "REPLY_S"..

board.js // 상세조회, 게시글 작성 - 목록으로 버튼 // 즉시 실행 함수 (function(){ const goToListBtn = document.getElementById("goToListBtn"); if(goToListBtn != null){ // 목록으로 버튼이 화면에 있을 때만 이벤트 추가 goToListBtn.addEventListener("click", function(){ // location 객체(BOM) const pathname = location.pathname; // 주소상에서 요청 경로 반환 // /community/board/detail // 문자열.substring(시작,끝) : 시작 이상 끝 미만 인덱스 까지 문자열 자르기 // 문자열.indexOf("검색 문자열..
마이바티스의 가장 강력한 기능 중 하나인 동적SQL을 처리하는 방법이다 1.if 동적SQL에서 가장 공통적으로 사용되는것으로 where의 일부로 포함될 수 있습니다 SELECT * FROM BLOG WHERE state = ‘ACTIVE’ AND title like #{title} 2.choose, when, otherwise java에서 switch구문과 유사하며 Mybatis에서는 choose엘리먼트를 제공한다 는 switch를 은 case를 의미한다 SELECT * FROM BLOG WHERE state = ‘ACTIVE’ AND title like #{title} AND author_name like #{author.name} AND featured = 1 3.trim, where, set pre..
MyPageController @Controller //bean으로 등록 @RequestMapping("/member/myPage") @SessionAttributes({"loginMember"})//session scope에서 loginMember를 얻어옴 public class MyPageController { @Autowired private MyPageService service;//Service 연결 //회원 정보 조회 이동 @GetMapping("/info") public String info() { return "member/myPage-info"; // WEB-INF/views/member/myPage-info } //비밀번호 변경 이동 @GetMapping("/changePw") publ..
MyPageController @Controller //bean으로 등록 @RequestMapping("/member/myPage") @SessionAttributes({"loginMember"})//session scope에서 loginMember를 얻어옴 public class MyPageController { @Autowired private MyPageService service;//Service 연결 //회원 정보 조회 이동 @GetMapping("/info") public String info() { return "member/myPage-info"; // WEB-INF/views/member/myPage-info } //비밀번호 변경 이동 @GetMapping("/changePw") publ..

게시글 조회 시 조회수 증가 및 중복 증가 제거 VO BoardDetail package edu.kh.comm.board.model.vo; import java.util.List; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @Getter @Setter @NoArgsConstructor public class BoardDetail { private int boardNo; private String boardTitle; private String boardContent; private String createDate; private String updateDate; private int readCount; priv..
pageScope: 현재 Servlet or JSP에서만 사용 가능 (1페이지) requestScope : 요청받은 페이지(Servlet/jsp)와 요청을 위임받은 페이지(Servlet/jsp)에서 사용가능하다 (최소2페이지 이상) sessionScope : 현재사이트에 접속한 브라우저당 1개씩 생성, 브라우저가 종료되거나 session이 만료될 때 까지 유지 ex) session에 로그인정보 기록해두면 브라우저가 종류되거나, 로그아웃 되기전까지 로그인 상태 ..