전체 글(49)
-
[모델2] Multipart를 이용한 단일 파일 업로드 구현하기 (게시판 구현)
Multipart를 이용해 단일 파일 업로드(Single File Upload)를 구현해보자 서블릿 3.0 스펙부터 파일 업로드(upload) 기능을 지원한다. web.xml을 열어 파일을 업로드할 디렉토리의 경로를 컨텍스트 파라미터로 설정해준다. D드라이브 아래에 upload 폴더와 temp 폴더를 미리 만들어두자.1234 saveDirectory D:\upload\Colored by Color Scriptercs 서블릿이 multipart를 인식하기 위해서 multipart-config를 설정해준다. 서블릿 3.0부터는 web.xml 없는 개발 및 배포가 가능하므로 @MultipartConfig 어노테이션으로 fileSizeThreshold, location, maxFileSize, maxReques..
2017.05.01 -
[Spring] MyBatis Mapper 파일 설정 방법
MyBatis Mapper XML 파일 설정 2가지 방법1. MyBatis Config 파일에서 설정하는 방법 기존 게시판 프로젝트에서 사용하는 방법으로, 마이바티스 설정 파일인 mybatisConfig.xml에 작성하는 방식이다. 의 하위 엘리먼트 의 resource 속성으로 매퍼 파일의 경로를 지정해주며, 매퍼 파일이 늘어날 때마다 추가해줘야 한다. resource 속성은 서블릿 설정 파일인 servlet-context.xml에 /resource/로 설정되어 있으므로 아래와 같이 /resource/ 아래 경로부터 지정해주면 된다.12345678910111213141516171819202122232425262728293031 Colored by Color Scriptercs 2. Root Applica..
2017.04.28 -
[Spring] JUnit 사용하기
자동화된 테스트 JUnit을 사용해 단위 테스트를 해보자 JUnit은 단위 테스트 프레임워크로, 외부 테스트 프로그램(케이스)을 작성하여 번거로운 디버깅을 쉽게 도와주는 테스트용 프레임워크다(참고1). 이클립스에는 플러그인 형태로 포함되어있고, 현재 진행 중인 Spring MVC Project는 Maven기반이므로 JUnit의 의존성이 추가되어있다. pom.xml을 열어 junit 의존성을 확인하자. 메이븐 리퍼지토리를 확인해보니 4.12버전까지 나와있어 버전을 변경해주었다.12345678910111213 junit junit 4.12Colored by Color Scriptercs com.edu.bbs.common패키지 아래에 Util 클래스를 생성하여, 랜덤으로 범용 고유 식별자(UUID, unive..
2017.04.26 -
[Spring] Jackson 라이브러리를 사용해 댓글 쓰기 구현하기 (게시판 구현)
JSON 라이브러리 Jackson을 사용해 댓글 쓰기를 구현해보자 Jackson 라이브러리는 자바 표준 JSON 라이브러리로 JSON 뿐만 아니라 XML/YAML/CSV 등 다양한 형식의 데이터를 지원하는 data-processing(데이터 처리) 툴이다. 스트림 방식(works on core streaming API)이므로 속도가 빠르고 유연하며(참고1), POJO(Plain Old Java Object) 기반의 자바 객체들을 JSON으로 변환할 수 있다(참고2). pom.xml에 아래와 같이 jackson-databind 의존성을 추가해준다.1234567 com.fasterxml.jackson.core jackson-databind 2.8.8.1Colored by Color Scriptercs 1. ..
2017.04.25 -
[Spring] MyBatis 사용하기, SqlSession (게시판 구현)
MapperFactoryBean을 사용하지 않고, SqlSession을 주입해 사용해보자 Mapper XML과 DAO Interface를 연결해주는 MapperFactoryBean을 사용하지 않고, SqlSession을 DAOImpl 클래스에 의존성을 주입(DI)해 사용해보자. MapperFactoryBean은 **DaoImpl 클래스가 필요 없는 대신 DAO 인터페이스가 늘어날 때마다 root-context.xml에 bean을 등록해줘야 하는 반면에 SqlSession을 **DaoImpl 클래스에 DI해 사용하면 bean 객체를 추가해주지 않아도 되지만 DAO 인터페이스를 구현하는 DAOImpl 클래스를 필요로 한다. root-context.xml을 열어 MapperFactoryBean 객체를 추가해줬..
2017.04.25 -
[Spring] MyBatis 사용하기, 댓글 쓰기 구현하기 (게시판 구현)
스프링 MVC 구조로 MyBatis를 사용하여 댓글 쓰기를 구현해보자 기존에 Ajax를 이용한 댓글 쓰기 구현하기에서 모델2 구조로 구현했던 댓글 쓰기 기능을 MVC 구조로 MyBatis(이하 마이바티스)를 사용하여 구현해보자. 비동기 통신 Ajax와 데이터포맷인 Json은 기존 글을 참고하거나 검색해보도록 한다. 프로젝트 구조는 아래와 같이 진행되며 Comment 서블릿의 설정 파일인 comment-context.xml, 마이바티스 설정 파일인 mybatisConfig.xml, 쿼리를 작성할 Mapper XML 파일인 comment.xml, 그리고 com.edu.comment 패키지 아래에 컨트롤러, 서비스, DAO의 위치를 확인하자. 기존의 프로젝트에서는 *.bbs에 대한 요청을 받는 Dispatch..
2017.04.24