FrameWork/Spring MVC (총 29개) 썸네일형 리스트형 Spring MVC - Spring MVC 동기화와 JPA 잠금기법 Spring MVC 동시성 테스트 이번 포스팅에서는 동기화 관련 문제를 다루어 보도록 하겠습니다. 우선, 동기화에 대해 알아보고, Spring MVC를 이용시 발생할 수 있는 문제점을 보도록 하겠습니다. 마지막으로, 이를 해결하는 방법도 알아보도록 하겠습니다. 만약! 현재 Spring MVC 프로젝트를 진행중이지만, Thread를 별도로 생성해서 공유 자원에 접근하는 것이 아닌데 왜, 동기화 문제가 발생하는지를 궁금해하신다면, Servlet에 대해 다시 공부를 해보셔야 합니다. 1. 동기화여러 스레드간 공유되는 자원은 항상 동기화 관련 처리를 해주어야합니다. 자바에서는 객체의 멤버변수가 동기화 대상 데이터가 될 수 있습니다. JVM에서, 객체는 Heap 영역에 할당되고, 이 Heap 영역을 Thread들.. Spring MVC - 수정폼 작성방법(@SessionAttributes, SessionStatus란) Spring MVC에서 수정폼을 작성하는 효율적인 방법과 @SessionAttributes에 대해 알아보도록 하겠습니다. User 정보 수정 1. 예제 어플리케이션 완성된 프로젝트 구조는 위와 같습니다. build.gradle dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' } 꼭 필요한 의존성은 위와 같습니다. UserModel.class @Getter @Setter public class UserModel { private String userId; private String n.. Spring MVC - @ModelAttribute의 장점(@RequestParam와 @ModelAttribute) 이번 시간에는 사용자의 전달값을 핸들러의 매개변수로 매핑할때 사용되는 @RequestParam과 @ModelAttribute에 대해 알아보도록 하겠습니다. 1. 사용법과 예제 우선 각각의 어노테이션의 사용법과 예제를 다루어보고, 각각을 언제 사용하면 좋을지에 대해 알아보도록 하겠습니다. @RequestParam @RequestParam 어노테이션은 사용자가 요청시 전달하는 값을 Handler(Controller)의 매개변수로 1:1 맵핑할때 사용되는 어노테이션입니다. @Controller public class TestController { @GetMapping("/") public String getTestPage(@RequestParam("name") String name) { System.out.p.. Spring MVC - form 요청을 핸들러의 매개변수로 맵핑(map form data to handler argument) spring mvc form request를 @ModelAttribute로 Mapping하기 이번 포스팅에서는, form request의 data를 controller handler의 매개변수로 mapping하는 방법에대해 알아보도록 하겠습니다. https://developer.mozilla.org/en-US/docs/Learn/Forms/Sending_and_retrieving_form_datahttp프로토콜과, form request에 대한 개념을 숙지하고 진행하시는것이, 외우는것이 아닌 공부를 하도록 도와줍니다! 1. HTML 클라이언트와 서버는 http프로토콜을 통해 상호간 통신을 하게됩니다. 은 클라이언트가 서버를 향해 데이터를 보낼 수 있도록 도와주는 것입니다. 하는일조금 더 하는일을 자세히 .. Spring MVC - 유연한 다중 파일업로드 핸들러 만들기 (Multipart upload) 다중파일 안녕하세요, 이번 포스팅에서는 Spring MVC를 이용해 웹사이트 구축시 다중파일 업로드를 구현해야하는 상황에서, 발생했던 간단한 팁을 알아보려고 합니다. 유연한 다중파일 업로드 핸들러1. 일반적인 파일 업로드 핸들러 일반적인 경우 다중파일 업로드를 위해서 위와 같이 핸들러를 만들게 됩니다. 중요한 점은 RequestParam(key)의 괄호안의 key값과, form을 이용해 파일을 업로드할때의 key값이 일치해야 한다는 점입니다. 그러면, @RequestParam의 괄호 안에 적힌 (file1, file2)에 사용자가 form을 통해 업로드하는 파일들이 각각 맵핑됩니다. (Postman을 이용해 form을 제출했습니다.) 문제점위에서 구현한 핸들러는 두가제 문제를 안고있습니다.업로드할 파일의.. SpringMVC - @RequestBody로 Timestamp 전달하기 (@JsonFormat : timezone 설정, 입력형식 정하기) Spring @RequestBody Timestamp 매핑하는법과 timezone 설정 Spring @RequestBody Timestamp 매핑하는법을 알아보고, timezone을 설정하는 방법을 알아보도록 하겠습니다. 그리고 마지막으로 원하는 형식으로 timestamp을 입력받는 방법을 알아보겠습니다. 1. Controller에서 @RequestBody로 Timestamp 매핑하기1.1 설정xxxxxxxxxxpublic class Data { private Timestamp time; public Timestamp getTime() { return time; } public void setTime(Timestamp time) { this.time = time; }}우선 Timestamp를 필드로 .. 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이라는 형식으로 컬럼의 타.. 이전 1 2 3 4 다음