Spring/4.3.x - 게시판 만들기
-
[Spring] 게시판 만들기(22) - MDC(Mapped Diagnostic Context) 설정Spring/4.3.x - 게시판 만들기 2019. 11. 24. 13:37
MDC를 설정하는 이유는 웹 요청에 대한 로그인 정보나 세션 정보를 추적할 수 있기 때문입니다. 현재 샘플에서는 로그인 정보나 세션 정보가 없기 때문에 BOARD_SEQ 값을 추가하였습니다. 1.logback.xml 수정 key에 대한 value 값만 노출하고 싶다면 패턴에 %X{ID}로 추가한 MDC에 key값을 ID로 정의하면 되고('ID'는 임의로 정의한 값), key_value 패턴으로 key와 value 값을 모두 노출하고 싶다면 %X로 추가하면 됩니다. (%X은 로깅이 발생한 Thread와 관련된 MDC에 정보를 출력합니다.) 더보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 %d [%thread] %-5level %logger - [..
-
[Spring] 게시판 만들기(21) - 게시글 수정(첨부파일 등록 및 삭제)Spring/4.3.x - 게시판 만들기 2019. 5. 10. 11:17
1. Front-End 파일 수정 1_1. boardUpdate.jsp 수정 1_1)게시글 등록 시에 첨부파일을 포함하지 않은 경우 게시글 수정 시에 첨부파일을 등록할 수 있도록 수정 - Form 태그 속성 및 ajax 호출 방식을 변경하세요. - 첨부파일을 등록하는 로직은 이미 구현되어 있으므로, 게시글 수정 시 첨부파일을 최초로 등록하거나 삭제 후 재등록 시 files 정보만 넘겨주시면 벡엔드에서 따로 작업할 내용은 없습니다. 1_2)게시글 등록 시에 첨부파일을 포함한 경우 게시글 수정 시에 첨부파일을 삭제할 수 있도록 수정 - 삭제할 첨부파일의 정보를 저장할 전연변수 또는 input 태그를 선언하세요. (를 추가) - TB_BOARD_FILE 테이블에 PK는 BOARD_SEQ, FILE_NO이므로 ..
-
[Spring] 게시판 만들기(20) - 파일 다운로드(BeanNameViewResolver)Spring/4.3.x - 게시판 만들기 2018. 12. 20. 14:15
1. 설정 파일 수정 1_1) servlet-context.xml 수정 - 다운로드 처리를 위한 BeanNameViewResolver를 추가하세요. - ViewResolver이 2개 이상일 때는 우선순위가 필요하므로 order를 추가하세요. - FileDownloadUtil.java을 bean으로 등록하세요. 더보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 Colored by Color Scripter cs 2. Back-End 파일 수정 및 추가 2_1) F..
-
[Spring] 게시판 만들기(19) - 파일 업로드(MultipartHttpServletRequest)Spring/4.3.x - 게시판 만들기 2018. 12. 20. 14:00
스프링 프레임워크의 내장 객체인 CommonsMultipartResolver과 jquery.form.js를 이용한 파일 업로드 방식을 진행하겠습니다. 1. TALBE 생성 첨부파일 정보를 저장할 테이블을 생성하세요. 첨부파일을 저장할 테이블은 한 개의 게시물에 여러 개에 첨부파일을 등록할 수 있도록 FILE_NO 컬럼을 추가하세요. 더보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -- TB_BOARD_FILE 테이블 생성 및 코멘트 추가 CREATE TABLE BOARD.TB_BOARD_FILE ( BOARD_SEQ INT Not Null COMMENT '게시글 번호' , FILE_NO INT Not Null COMMENT '첨부파일 번호' , FILE_..
-
[Spring] 게시판 만들기(18) - 계층형 게시판(답글쓰기) 적용Spring/4.3.x - 게시판 만들기 2018. 12. 19. 13:06
계층형 게시판 계층형 게시판이라는 것은 하나의 게시글에 대해 답글 쓰면 해당 게시글의 하위로 답글이 위치되어 계층적인 구조를 이루면서 목록을 구성해 주는 게시판입니다. 1. 쿼리 추가 및 수정 1_1) 게시글 등록(insertBoard) 쿼리 변경 계층형 게시판을 위해서는 게시글 간에 그룹을 만들어야 하기 때문에 BOARD_RE_REF 컬럼에 값을 입력하도록 변경해야 합니다. 더보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 SELECT IFNULL(MAX(BOARD_RE_REF), 0) + 1 FROM BOARD.TB_BOARD INSERT INTO BO..
-
[Spring] 게시판 만들기(17) - 페이징(Paging) 처리Spring/4.3.x - 게시판 만들기 2018. 12. 19. 11:03
1. 페이징 처리를 위한 쿼리 추가 및 수정 1_1) 게시물 총 개수를 구하는 쿼리 추가 페이징 처리를 위해서는 게시물 총 개수가 필요하기 때문에 쿼리를 추가하세요. 1 2 3 4 5 6 SELECT COUNT(*) FROM BOARD.TB_BOARD Colored by Color Scripter cs 1_2) 게시물 목록을 조회하는 쿼리 수정 페이징 처리를 위해서는 한 페이지의 게시물 목록만 조회해야 합니다. MYSQL에서는 LIMIT ~ OFFSET을 사용하며 한 페이지의 게시물 목록만 조회할 수 있으므로 게시물 목록을 조회하는 쿼리에 LIMIT ~ OFFSET을 추가하세요. LIMIT는 게시물 목록의 수, OFFSET은 게시물을 몇 번째부터 가져올지를 정의할 수 있습니다. 1 2 3 4 5 6 7 ..
-
[Spring] 게시판 만들기(16) - 트랜잭션(Transaction) 설정Spring/4.3.x - 게시판 만들기 2018. 12. 19. 09:17
처리 과정 중 한 가지라도 실패할 경우 처리 과정을 취소시킴으로써 데이터의 무결성을 보장하기 위한 트랜잭션 설정을 진행하도록 하겠습니다. 1. pom.xml에 의존성 추가 트랜잭션과 관련된 의존성을 추가하세요.(aspectjweaver.jar, cglib-nodep.jar) pom.xml 더보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 8..
-
[Spring] 게시판 만들기(15) - 게시글 등록(INSERT), 수정(UPDATE), 삭제(DELETE), 상세 조회(SELECT)Spring/4.3.x - 게시판 만들기 2018. 12. 17. 17:46
게시글을 등록, 수정, 삭제, 상세 조회하는 부분을 추가하는 작업을 진행하도록 하겠습니다. 1. Back-End 파일 수정 BoardController.java, BoardService.java, BoardDao.java, BoardDto.java, BoardForm.java, BoardMapper.xml 파일을 수정하세요. BoardController.java 더보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 6..
-
[Spring] 게시판 만들기(14) - 게시글 조회(SELECT)Spring/4.3.x - 게시판 만들기 2018. 12. 17. 12:50
모델2 방식에 MVC(Model, View, Controller) 패턴과 관련된 파일을 추가한 후 목록을 구현하는 작업을 진행하도록 하겠습니다. Model 영역 애플리케이션에 비즈니스 로직과 사용되는 데이터를 다루는 영역입니다. 일반적으로 비즈니스 데이터는 DBMS에 의해 관리되고, 그 데이터를 다루는 연산은 SQL문을 통해 구현됩니다. View 영역 최종 사용자에게 보여줄 프리젠테이션 로직을 담당하는 영역입니다. 일반적으로 자바 웹 애플리케이션에서는 JSP를 통해서 구현됩니다. Controller 영역 컨트롤러는 흐름을 관리하는 역할을 하며, 모델과 뷰 영역간의 조정 역할을 합니다. 사용자의 요청을 받아 이를 수행하기 위한 비즈니스 로직을 선택하고 호출하며, 수행한 비즈니스 로직의 결과를 뷰를 통해 보..
-
[Spring] 게시판 만들기(13) - mapper 및 json 설정Spring/4.3.x - 게시판 만들기 2018. 12. 14. 16:19
SQL문을 관리하는 mapper 파일 및 경로를 설정하고, Java 객체를 JSON으로 응답할 수 있도록 설정하는 작업을 진행하도록 하겠습니다. 1. root-context.xml 수정 mapper에 위치 및 SqlSession을 설정하세요. root-context.xml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Colored by Color Scripter cs 2. mapper.xml 추가 src/main/resources 위치에 mappers 폴더를 생성한 후 boardMapper.xml 파일을 추가하세요. parameterType, resultType에 선언한 BoardForm, BoardDto..