Spring
-
[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..
-
[Spring] 게시판 만들기(10) - log4j->logback으로 변경Spring/4.3.x - 게시판 만들기 2018. 12. 13. 15:20
로깅(Logging)은 개발 시에 오류 확인 및 처리를 위한 용도로 사용합니다. System.out.print()을 사용하면 되지 않나? 라는 의문이 생길 수 있지만 System.out.print() 리소스를 많이 사용하여 성능에 영향을 줄 수 있고 Logging을 사용하면 에러 및 장애 발생 시 확인할 수 최소한의 정보(날짜, 시간, 로그 타입 등)를 제공 받을 수 있으므로 System.out.println()보다 Logging을 사용하는 습관을 가지면 좋을 것 같습니다. logback은 log4j를 만든 개발자가 log4j를 기반으로 만든 Logging 라이브러리로 logback 사용 시에 log4j보다 추가되는 장점이 많아 변경하는 작업을 진행하도록 하겠습니다. 1. POM.xml에 의존성 추가 1..
-
[Spring] 게시판 만들기(9) - MySQL 연동Spring/4.3.x - 게시판 만들기 2018. 12. 4. 15:49
지난 포스팅에서 로컬에 설치한 MySQL을 자바에서 접근할 수 있도록 JDBC(Java DataBase Connectivity)와 MySQL을 연동하는 작업을 진행하도록 하겠습니다. 1. POM.xml에 의존성 추가 POM.xml에 MySQL과 관련된 의존성을 추가하세요. 1 2 3 4 5 6 7 5.1.46 mysql mysql-connector-java ${mysql.version} Colored by Color Scripter cs 2. POM.xml에 junit 버전을 변경 JUnit은 MySql 정상적으로 연동되었는지 확인하기 위해서 버전을 변경해주세요. ( JUnit 사용법 - https://tychejin.tistory.com/152 ) 1 2 3 4 5 6 7 4.12 junit junit..