목록Server/Spring (27)
고래씌
1. 채팅방 서비스 하기 위한 세팅 - 메이븐 레파지토리에서 복사 => 복붙 후 일단 버전은 지워주고 ${org.springframework-version} 작성(pom.xml 맨 위에 가면 properties 에서 키값 복사) 이것은 웹소켓의 자료파일 묶음임! ▶ pom.xml org.springframework spring-websocket ${org.springframework-version} ▶ servlet-context.xml => Chat관련 클래스 추가 ▶ ChatWebsocket.java1) 동기화 처리- HashSet 같은 경우 동기화가 안되어있음 => 그래서 synchronizedSet 를 이용하면 동기화된 set 객체를 반환할 수 있음. - synchronizedSet : 동기화된 ..
1. 댓글 목록 => 다음과 같이 파일 모두 생성 ▶ Reply.vo package com.kh.spring.board.model.vo; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; @Getter @Setter @NoArgsConstructor @ToString public class Reply { private int replyNo; private String replyContent; private String refBno; private String replyWriter; private String createDate; private String status; } ▶..
1. 일반게시판 수정 => views/board/boardUpdateEnrollFrom.jsp 파일 생성 ▶ boardUpdateEnrollFrom.jsp - 사진이 없던 곳에 새롭게 추가된 경우 → INSERT - 사진이 있던 곳에 새롭게 추가된 경우 → UPDATE - 사진이 있던 곳에 삭제가 된 경우 → DELETE - 사진이 있거나, 없던 곳에 그대로 없는 경우 → X - 존재하고 있는 이미지가 제거된 경우, 해당 이미지의 pk(board_img_no)를 input태그에 저장시켜서 value값안에 있는 pk값으로 delete문의 조건식에 활용할 예정 - 만약 value값 안에 (1,3,5)라는 값이 담겨있다 → DELETE FROM BOARD_IMG WHERE BOARD_IMG_NO IN (1,3..
1. 사진 다운로드 추가 ▶ boardDetailView.jsp => 빨간 밑줄 코드 추가 ▶ BoardController.java => ResourceLoader 의존성 주입을 위해서 추가 // 사진 다운로드 @GetMapping("/fileDownload/{boardNo}") public ResponseEntity fileDownload(@PathVariable("boardNo") int boardNo) { ResponseEntity responseEntity = null; // db에서 board테이블에서 boardNo값과 일치하는 행의 파일정보 조회 BoardExt b = boardService.selectBoard(boardNo); if(b.getOriginName() == null) { ret..
1. 일반 게시판 상세보기, 조회수 증가 ▶ 게시판목록에서 클릭 시 기능 만들기 ▶ boardListView.jsp ${bt.boardName} 글쓰기 글번호 제목 작성자 조회수 작성일 게시글이 없습니다. ${board.boardNo } ${board.boardTitle } ${board.boardWriter } ${board.count} ${board.createDate } --% Previous ${p} NEXT 작성자 제목 내용 제목+내용 검색 ▶ boardDetailView.jsp => core와 functions 추가 게시글 상세보기 제목 ${board.boardTitle} 작성자 ${board.boardWriter} 작성일 ${board.createDate} 첨부파일 ${board.origin..
1. 사진 여러개를 업로드 할 때 ▶ boardEnrollForm.jsp => 사진게시판일 때는 여러개의 사진을 업로드 할 수 있도록 하는 form이 보이도록 하고 아닐 때는 첨부파일이 하나만 첨부할 수 있도록 보이도록 설정 첨부파일 업로드 이미지1 × 업로드 이미지2 × 업로드 이미지3 × 업로드 이미지4 × => 사용자가 등록한 이미지를 미리 볼 수 있도록 설정 => X 버튼을 클릭하면 사진 미리보기를 삭제하도록 설정 ☞ 사진 미리 볼수 있는 것을 확인 ☞ X 클릭시 사진 미리보기가 삭제되는 것을 확인 1) 게시판 이미지를 저장 ▶ BoardImg.java => 게시판 이미지를 저장할 vo를 만들어줌(BoardImg.java) package com.kh.spring.board.model.vo; imp..
1. 게시글 등록 => views/board/boardEnrollForm.jsp 파일 생성 ▶ boardEnrollForm.jsp => 사진도 보내고 해야하기 때문에 multipart 사용 => 첨부파일은 ORIGIN_NAME과 CHANGE_NAME에 컬럼에 저장할 예정 게시글 작성하기 제목 작성자 ${loginUser.userId } 첨부파일 내용 등록 취소 ▶ BoardController.java @GetMapping("/insert/{boardCode}") public String enrollBoard(@PathVariable("boardCode") String boardCode) { return "board/boardEnrollForm"; } ▶ boardListView.java => 글쓰기 버튼..
1. Intercepter 1) Application 전역에 boardType 리스트를 저장 ☞ filter가 가장먼저 받고 다음 Dispatcher가 받음 ☞ Interceptor : 디스패처서블릿에서 컨트롤러에 요청내용을 전달할 때 인터셉터가 중간에 요청을 가로챈다. 스프링의 모든 빈객체에 접근이 가능하며 일반적으로 로그인체크, 권한체크, 프로그램실행시간체크, 로그확인시 사용된다. 컨트롤러에서 디스패처서블릿을 응답시킬때도 가로챔 ▶ servelt-context.xml ▶ BoardTypeInterceptor => common 폴더아래 interceptor 폴더 생성후, BoardTypeInterceptor 클래스 파일 생성 => HandlerInterceptor 안에 있는 preHandle 함수를 오..
1. 게시판 검색기능 => paramMap에 condition이랑 keyword, boardCode 가 다 담긴다! 그래서 별도로 BoardController에 추가하지 않아도 된다. => 검색창에 작성자로 설정해놓고 "ddd"라는 값을 입력했을 때 log에 값이 담긴 것을 확인할 수 있다. => 그래서 바로 board-mapper.xml로 가서 코드 수정만 하면된다! ▶ board-mapper.xml => 페이징과 게시글 목록을 불러오는 코드를 모두 다음과 같이 수정함 SELECT COUNT(*) FROM BOARD B LEFT JOIN MEMBER M ON (BOARD_WRITER = USER_NO) WHERE B.STATUS = 'Y' AND BOARD_CD= #{boardCode} AND BOAR..
1. 게시판 목록 ▶ boardListView.jsp 일반게시판 글쓰기 글번호 제목 작성자 조회수 작성일 게시글이 없습니다. Previous 1 2 3 4 5 6 7 8 9 10 Next 작성자 제목 내용 제목+내용 검색 => 다음과 같이 폴더 및 파일 생성(BoardDao, BoardService는 interface 파일임) ▶ Board.java package com.kh.spring.board.model.vo; import java.sql.Date; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @NoArgsConstructor // 기본생성자 @AllArgsConstructor @Data ..