진짜 개발자
본문 바로가기

전체 글 (총 582개)

SpringMVC - 핸들러 메소드 - 5 (session 관련 argument @SessionAttributes(s), @SessionAttribute, SessionStatus) Session 관련 설정 (@SessionAttributes, @SessionAttribute, @SessionStatus) 이번시간에는 Session 관련 설정에 대해 알아보도록하겠습니다. 어노테이션 이름만 보더라도 어떤 역할을 할지 이제는 조금씩 예상이 가기 시작합니다. 하나하나 살펴보며 정리를 해보도록하겠습니다. 1. @SessionAttribute1.1 @SessionAttribute 란?sessionAttribute는 HttpSession에 저장되어있는 값을 Handler의 매개변수에 맵핑해주는 어노테이션 입니다. 1.2 @SessionAttribute 예제사용자가 처음 요청을 보낼때의 시간을 기록하고 첫 요청시간을 콘솔에 출력해주도록 하겠습니다. HandlerInterceptorxxxxxxxx..
SpringMVC - 중복 서브밋 처리(새로고침시 POST 재요청 방지 : PRG 패턴) SpringMVC - 핸들러 메소드 - 4 (새로고침시 POST 사용자 재요청 처리) 1. POST 핸들러의 문제점(새로고침)보통 form을 통해 사용자가 어떤 POST요청을 보내게 된다면 그것을 처리하는 핸들러에서 POST요청을 처리한 뒤 목록을 보여주는 페이지를 띄워주게 됩니다. 하지만 사용자가 서버로부터 목록을 다시 받아오기 위해서 POST에 해당하는 URL에서 새로고침을 한다면 브라우저에서 경고 메시지를 띄우게 됩니다. 이번 포스팅에서는 위와같은 상황에서 사용자가 올바르게 list목록만을 새로 받아오도록 하는 방법을 알아보도록 하겠습니다. 2. POST Redirect Get(PRG) 패턴위에서 살펴본 문제를 해결하는 방법으로 POST요청을 Redirect하여 사용자가 새로고침시 GET요청을 보내..
SpringMVC - 핸들러 메소드 - 3 (사용자 요청 데이터 Error 상황처리) SpringMVC - 핸들러 메소드 - 3 (Error Page 작성) 이번 시간에는 사용자가 요청에 잘못된 값을 전달했을 때 처리하는 과정에 대해서 알아보도록 하겠습니다. 요청 데이터 에러 다루기 1. 시나리오사용자는 form 페이지를 작성한다.사용자의 form 요청 데이터에 에러가 있다.(age에 문자열을 입력하는 등의)다시 form 페이지로 이동되면서 발생한 error를 메시지로 보여준다.에러가 없으면 list.html로 이동하게 된다. 2. 요청 데이터 에러 다루기 예제에러상황을 처리하는 방법은 예제를 통해 알아보는것이 가장 빠를것 같아 예제로 바로 넘어가도록 하겠습니다. 사실 이전 포스팅(https://galid1.tistory.com/559)에서 에러를 다루는 방법을 다 알아보았기 때문에 따로..
SpringMVC - 핸들러 메소드 - 2 (@ModelAttribute, @BindingResult, @Valid(매개변수 매핑, 에러, 유효성 검사 다루기)) 요청 파라미터 매핑, 에러, 유효성 검사 다루기(@ModelAttribute, @BindingResult, @Valid) 요청 파라미터 매핑, 에러, 유효성 검사 다루기(@ModelAttribute, @BindingResult, @Valid) 1. 요청 데이터 매핑 (@ModelAttribute)@ModelAttribute는 @RequestParam처럼 요청에 존재하는 데이터를 매개변수로 매핑할수 있도록하는 어노테이션입니다. @ModelAttribute는 기본 타입만이 아닌, 객체로도 자동으로 맵핑을 시켜줍니다. 하지만 @ModelAttribute어노테이션의 경우에는 데이터가 반드시 RequestParameter여야만 매핑해주는 것이 아니라 UriPath , Session의 데이터들을 자동으로 매핑해준다..
SpringMVC - 핸들러 메소드 - 1 (Mapping 어노테이션, 확장자, 요청헤더) 핸들러매핑md Spring의 Handler에 대해 알아보도록 하겠습니다. 우선, 가장 기본적인 Handler Mapping 작성법을 알아본 뒤, 요청 본문으로부터 데이터를 받는법, 응답을 본문에 작성하는법, 확장자에대한 얘기 등등을 하도록 하겠습니다. 개인 공부의 목적이므로 이번 포스팅에서는 많은 내용들이 생략될 수 있는점 양해 부탁드리겠습니다. 더 자세한 내용을 원하신다면 질문 주시면 답변드리겠습니다. 1. HandlerMapping 작성법1.1 @RequestMapping@Controllerpublic class SampleController {​ @RequestMapping("/hello") public String hello(){ return "hello.html"; }​} 모두 아시다시피 위처럼..
SpringMVC - Spring Mvc, H2, JPA, MyBatis 연동 환경 구성하기 SpringMVC Test Project 만들기 1. 목표이번 포스팅의 목표는 아래의 3가지 라이브러리를 연동, 이용할 수 있도록 Spring MVC를 설정하는 것입니다.DB H2, JPA, MyBatisdb를 사용하기 위해서 위의 3가지 라이브러리를 이용할 것입니다.H2경량 DB로 test환경에 적합합니다. SpringBoot이용시 손쉽게 웹콘솔에서 사용가능한 H2 DB 설정이 가능하지만, Spring MVC에서는 웹콘솔설정을 찾아보기 어려워 ServerMode로 실행하도록 설정할 것입니다.JPAJPA의 경우 개발자가 직접 CRUD를 작성하지 않아도 기본적인 CRUD를 제공합니다. 하지만 복잡한 검색 쿼리의 경우 JPA에서 작성하기 어려운 점이 있습니다.MyBatis복잡한 검색쿼리를 위해 MyBatis..