컨트롤러에서 쿠키 사용사용자의 편의를 위해 아이디를 기억하고, 다음에 로그인 시도 시, 아이디를 자동으로 넣어주는 사이트가 많음해당 기능을 구현하기 위해 쿠키를 사용한다.이메일 기억하기 기능 구현 방식로그인 폼에 '이메일 기억하기' 옵션 추가로그인 시에 '이메일 기억하기' 옵션을 선택했으면 로그인 성공 후 쿠키에 이메일 저장-> 쿠키는 웹 브라우저를 닫더라도 삭제되지 않도록 유효시간을 길게 설정이후 로그인 폼을 보여줄 때 이메일을 저장한 쿠키가 존재하면 입력 폼에 이메일을 보여준다.컨트롤러에 적용스프링 MVC에서 쿠키를 사용하는 방법 @CookieValue@CookieValue 애노테이션 : 요청 매핑 애노테이션 적용 메서드의 Cookie 파라미터에 적용@GetMappingpublic String for..
Spring MVC

컨트롤러에서 HttpSession 사용요청 매핑 애노테이션 적용 메서드에 HttpSession 파라미터 추가요청 매핑 애노테이션 적용 메서드에 HttpServletRequest 파라미터 추가 후, HttpServletRequest를 이용해서 HttpSession 구하기요청 매핑 애노테이션 적용 메서드에 HttpSession 파라미터 추가@GetMappingpublic String form(LoginCommand loginCommand, HttpSession session) { return "login/loginForm";}요청 매핑 애노테이션 적용 메서드에 HttpSession 파라미터가 존재할 경우 스프링 MVC는 컨트롤러의 메서드를 호출할 때 HttpSession 객체를 파라미터로 전달HttpS..
사용자 화면에 보일 문자열은 JSP나 html등에 직접 코딩하는 경우예를 들어 로그인 폼을 보여줄 때 '아이디', '비밀번호' 등의 문자열을 직접 삽입하는 경우이메일이메일 이라는 문자열을 사용하는 모든 JSP 파일을 모두 찾아서 변경해야하는 문제점다국어 지원 문제 : 전 세계대상 서비스의 경우 사용자의 언어 설정에 따라 이메일, E-mail과 같이 각 언어에 맞게 문자열을 표시해야하는 문제점해결법 : 뷰 코드에서 사용할 문자열을 언어별로 파일에 보관하고 뷰 코드는 언어에 따라 알맞은 파일에서 문자열을 읽어와 출력문자열을 담은 메시지 파일을 작성한다.메시지 파일에서 값을 읽어오는 MessageSource 빈을 설정한다.JSP 코드에서 태그를 사용해서 메시지를 출력한다.src/main/resources/m..
ModelAndView를 통한 뷰 선택과 모델을 전달해 보는 것에 대해 알아보겠습니다. ModelAndView를 통한 뷰 선택과 모델 전달ModelAndView를 사용하면 이 두 가지를 한 번에 처리할 수 있습니다. 요청 매핑 애노테이션을 적용한 메서드는 String 타입 대신 ModelAndView를 리턴할 수 있습니다. @Controller@RequestMapping("/survey")public class SUrveyController{ @GetMapping public ModelAndView form() { List questions = createQuestions(); ModelAndView mav = new ModelAndView(); mav.addObject("questions", q..

처음 스프링 MVC를 이용해서 웹 개발을 하다 보면 사소한 설정 오류나 오타로 고생합니다. 이번 시간에는 입문 과정에서 겪게 되는 에러 사례를 정리해 보았습니다. 요청 매핑 애노테이션과 관련된 주요 익셉션 흔한 에러는 404 에러입니다. 요청 경로를 처리할 컨트롤러가 존재하지 않거나 WebMvcConfigurer를 이용한 설정이 없다면 404 에러가 발생합니다. 404 에러가 발생하면 - 요청 경로가 올바른지 - 컨트롤러에 설정한 경로가 올바른지 - 컨트롤러 클래스를 빈으로 등록했는지 - 컨트롤러 클래스에 @Controller 애노테이션을 적용했는지 뷰 이름에 해당하는 JSP파일이 존재하지 않아도 404에러가 발생합니다. 차이점으로 메시지에 해당 뷰가 없다고 표시됩니다. 위 그림과 같은 에러가 발생한다면..
JSP를 위한 ViewResolver 컨트롤러 처리 결과를 JSP를 이용해서 생성하기 위해 다음과 같은 설정을 사용해야 합니다. package config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.ViewResolverRegistry; import or..

이번 포스팅에서는 스프링 MVC 핵심 구성요소에 대해 알아보겠습니다. 위 그림에서 이라고 표시한 것은 스프링 빈으로 등록해야 하는 것을 의미합니다. 그림에서 중앙에 위치한 DispatcherServlet은 모든 연결을 담당합니다. 1) 웹 브라우저 요청이 들어오면 DispatcherServlet은 모든 연결을 담당합니다. 2) 직접 컨트롤러를 검색하지 않고 HandlerMapping이라는 빈 객체에게 컨트롤러 검색을 요청합니다. HandlerMapping은 클라이언트의 요청 경로를 이용해서 이를 처리할 컨트롤러 빈 객체를 DispatcherServlet에 전달합니다. 웹 요청 경로가 "/hello" 라면 등록된 컨트롤러 빈 중에서 "/hello" 요청 경로를 처리할 컨트롤러를 리턴합니다. Dispatch..

[Spring] 스프링 MVC - 컨트롤러 구현 해보기 이번 포스팅에서는 클라이언트의 요청을 알맞게 처리할 컨트롤러와 처리 결과를 보여줄 JSP 코드를 통해 실습해 보도록 하겠습니다. 컨트롤러 구현 package chap09; import org.springframework.stereotype.Contro muscleking3426.tistory.com 앞서 컨트롤러가 생성한 결과를 보여줄 뷰 코드를 만들어보겠습니다. 뷰 코드는 JSP를 이용해서 구현해 볼 것입니다. 경로 : /src/main/webapp/WEB-INF/view HelloController.java package chap09; import org.springframework.stereotype.Controller; import org.s..
스프링 MVC를 실행하는데 필요한 최소 설정 - 스프링 MVC의 주요 설정 (HandlerMapping, ViewResolver 등) - 스프링의 DispatcherServlet 설정 스프링 MVC 설정 package config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config...

🧑🏻💻 Spring MVC 정의 Spring에서 제공하는 웹 모듈로서, Model ,View, Controller 로 구성된다. 사용자의 다양한 HTTP Request를 처리하고, 단순 텍스트의 응답에서부터 REST 형식의 응답은 물론 VIEW를 표시하는 HTML file을 반환하는 응답까지 다양한 응답을 제공한다. 🔨 Spring MVC 특징 Spring MVC는 기본요소인 Model, View, Controller 외에도, 아래와 같은 특성을 가지고 있다. DispatcherServlet, HandlerMapping, Controller, Interceptor, ViewResolver, View등 각 컴포넌트들의 역할이 명확하게 분리되어 있다. HandlerMapping, Controller, Vi..