진짜 개발자
본문 바로가기

FrameWork/Spring MVC (총 29개)

Spring MVC - Spring MVC 동기화와 JPA 잠금기법 Spring MVC 동시성 테스트 이번 포스팅에서는 동기화 관련 문제를 다루어 보도록 하겠습니다. 우선, 동기화에 대해 알아보고, Spring MVC를 이용시 발생할 수 있는 문제점을 보도록 하겠습니다. 마지막으로, 이를 해결하는 방법도 알아보도록 하겠습니다. 만약! 현재 Spring MVC 프로젝트를 진행중이지만, Thread를 별도로 생성해서 공유 자원에 접근하는 것이 아닌데 왜, 동기화 문제가 발생하는지를 궁금해하신다면, Servlet에 대해 다시 공부를 해보셔야 합니다. 1. 동기화여러 스레드간 공유되는 자원은 항상 동기화 관련 처리를 해주어야합니다. 자바에서는 객체의 멤버변수가 동기화 대상 데이터가 될 수 있습니다. JVM에서, 객체는 Heap 영역에 할당되고, 이 Heap 영역을 Thread들..
Spring MVC - 유연한 다중 파일업로드 핸들러 만들기 (Multipart upload) 다중파일 안녕하세요, 이번 포스팅에서는 Spring MVC를 이용해 웹사이트 구축시 다중파일 업로드를 구현해야하는 상황에서, 발생했던 간단한 팁을 알아보려고 합니다. 유연한 다중파일 업로드 핸들러1. 일반적인 파일 업로드 핸들러 일반적인 경우 다중파일 업로드를 위해서 위와 같이 핸들러를 만들게 됩니다. 중요한 점은 RequestParam(key)의 괄호안의 key값과, form을 이용해 파일을 업로드할때의 key값이 일치해야 한다는 점입니다. 그러면, @RequestParam의 괄호 안에 적힌 (file1, file2)에 사용자가 form을 통해 업로드하는 파일들이 각각 맵핑됩니다. (Postman을 이용해 form을 제출했습니다.) 문제점위에서 구현한 핸들러는 두가제 문제를 안고있습니다.업로드할 파일의..
SpringMVC - 핸들러 메소드 9 (Exception 처리 Handler(개발자 정의)) Spring MVC - 개발자 정의 Exception 처리 Handler 이번 시간에는 개발자가 발생시키는 Exception을 다루는 방법에 대해서 알아보도록 하겠습니다. DDD 라는 책을 읽고 DDD를 진행하면서 도메인로직을 구현하며 올바르지 않은 접근에 대해서는 Exception을 발생시키도록 했습니다. 하지만 이러한 Exception을 클라이언트 측 프로그램에 그대로 전달할 수만은 없을 것 이며, Spring MVC에서 Exception을 다루는 방법이 존재할 것 같아 찾아본 결과 Exception을 다룰 수 있는 ExceptionHandler라는 것을 발견하게 되었습니다. 1. @ExceptionHandlerExceptionHandler란 이름 그대로 예외가 발생한 요청을 처리하기 위한 핸들러입니..
SpringMVC - Spring JDBC에서 Mysql에 날짜/시간 데이터 입력 Spring JDBC에서 Mysql 테이블에 날짜시간 형식으로 저장하기 간단히 Spring MVC를 통해 게시판을 만드는 도중 시간에 따라 조회수를 측정하여 인기게시글을 파악해야 하는 상황이 생겼었습니다. 때문에 Table의 primary key를 int형 데이터와 시간/날짜를 합성키로 사용하게 되었습니다. 이때 발생한 문제점들을 정리 및 공유하려고 합니다. Spring JDBC에 시간/날짜 입력1. Mysql 의 Date 형식처음 테이블을 만들때 date의 형식으로 date를 사용했습니다. 당연하게도 테이블에 insert된 데이터를 확인해보니, 날짜 (yyyy-mm-dd) 형식으로만 데이터가 입력이 되어 있었습니다. 시간/날짜 형식으로 데이터를 입력하기 위해서는 datetime이라는 형식으로 컬럼의 타..