백기선(인프런 강의)
-
HTTP 메시지 컨버터백기선(인프런 강의)/스프링 웹 MVC 2020. 9. 7. 22:05
영문 설명 docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/config/annotation/WebMvcConfigurer.html#extendMessageConverters-java.util.List- docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/config/annotation/WebMvcConfigurer.html#configureMessageConverters-java.util.List- HTTP 메시지 컨버터 요청 본문에서 메시지를 읽어들이거나(@RequestBody), 응답 ..
-
리소스 핸들러백기선(인프런 강의)/스프링 웹 MVC 2020. 9. 7. 12:01
리소스 핸들러란? 이미지, 자바스크립트, CSS, HTML 파일과 같은 정적인 리소스를 처리하는 핸들러 디폴트(Default) 서블릿 서블릿 컨테이너가 기본으로 제공하는 서블릿으로 정적인 리소스를 처리할 때 사용 한다. tomcat.apache.org/tomcat-9.0-doc/default-servlet.html 스프링 MVC 리소스 핸들러 맵핑 등록 스프링은 정적인 리소스(디폴트 서블릿)들의 요청을 위임해서 처리한다. 가장 낮은 우선 순위로 등록 다른 핸들러 매핑이 "/" 이하 요청을 처리하도록 허용 최종적으로 리소스 핸들러가 처리하도록 tomcat.apache.org/tomcat-9.0-doc/default-servlet.html 리소스 핸들러 설정 어떤 요청패턴을 지원할 것인가 어디서 리소스를 찾..
-
핸들러 인터셉터백기선(인프런 강의)/스프링 웹 MVC 2020. 9. 6. 16:18
HandlerInterceptor 핸들러 맵핑에 설정할 수 있는 인터셉터 핸들러를 실행하기 전, 후(아직 랜더링 전) 그리고 완료(랜더링까지 끝난 이후) 시점에 부가 작업을 하고 싶은 경우에 사용할 수 있다. 여러 핸들러에서 반복적으로 사용하는 코드를 줄이고 싶을 때 사용할 수 있다. 로깅, 인증 체크, Locale 변경 등... boolean preHandle(request, response, handler) 핸들러 실행하기 전에 호출 됨 “핸들러"에 대한 정보를 사용할 수 있기 때문에 서블릿 필터에 비해 보다 세밀한 로직을 구현할 수 있다. 리턴값으로 계속 다음 인터셉터 또는 핸들러로 요청,응답을 전달할지(true) 응답 처리가 이곳에서 끝났는지(false) 알린다. void postHandle(re..
-
WebMvcConfigurer 설정 - 포메터 설정백기선(인프런 강의)/스프링 웹 MVC 2020. 9. 1. 21:17
Fometter Controller에서 URL에 값을 같이 보낼 때 문자열을 객체로 매핑해주는 역할을 하는 기능이다. Formatter에는 Printer와 Parser을 상속 받아 사용한다. Printer 해당 객체를 (Locale 정보를 참고하여) 문자열로 어떻게 출력할 것인가 Parser 어떤 문자열을(Locale 정보를 참고하여) 객체로 어떻게 변환할 것인가 기본 구성도 및 세팅 localhost:8080/hello?jinseok 으로 들어갈 시 @RestController public class SampleController { @GetMapping("/hello/{name}") public String hello(@PathVariable("name") Person person) { return ..
-
스프링 부트에서 JSP 사용하기백기선(인프런 강의)/스프링 웹 MVC 2020. 8. 31. 23:40
제약사항 1. JAR 프로젝트로 만들 수 없다. WAR 프로젝트로 만들어야 한다. 2. Java -JAR로 실행할 수 있지만 "실행가능한 JAR 파일"은 지원하지 않는다. 3. 원더토우(JBoss에서 만든 서블릿 컨테이너)는 JSP를 지원하지 않음 4. Whitelabel 에러 페이지를 error.jsp로 오버라이딩 할 수 없음 ServletInitializer 설명 WAR페이지로 스프링 부트로 만들게 되면 아래와 같은 코드가 생성이 된다. 스프링 부트로 만든 프로젝트는 독립적으로 실행가능한 파일로 만들 수 있다. 하지만 WAR파일로 만든다면 tomcat에 배포하여 실행시킬 수 있기 때문에 이와같은 역활을 하기위해서 커스텀된 SpringBootServletInitializer 를 추가를 하는것이다. pa..
-
스프링 부트의 스프링 MVC 설정백기선(인프런 강의)/스프링 웹 MVC 2020. 8. 31. 20:29
스프링 부트의 “주관”이 적용된 자동 설정이 동작한다. JSP 보다 Thymeleaf 선호 JSON 지원 정적 리소스 지원 (+ 웰컴 페이지, 파비콘 등 지원) 스프링 MVC 커스터마이징 application.properties 여기서 스프링의 MVC설정 등을 할 수 있다. 자동 완성이 되는 이유는 스프링 부트가 미리 설정할 수 있게 만들어 놨다. @Configuration + Implements WebMvcConfigurer: 스프링 부트의 스프링 MVC 자동설정 + 추가 설정 스프링 부트가 지원을 하며 가장 주로 사용한다. @Configuration + @EnableWebMvc + Imlements WebMvcConfigurer: 스프링 부트의 스프링 MVC 자동설정 사용하지 않음.
-
스프링 부트의 스프링 기본 세팅백기선(인프런 강의)/스프링 웹 MVC 2020. 8. 28. 23:14
1. 스프링 부트를 프로젝트를 만들기 전 아래와 같이 Thymeleaf와 Spring Web 의존성을 추가해 준다. 2. 아래의 구조에 맞게 코드를 만들어 준다. package kr.co.study; import java.time.LocalDateTime; public class Event { private String name; private int limitofEnrollment; private LocalDateTime startDateTime; private LocalDateTime endDateTime; public Event(String name, int limitofEnrollment, LocalDateTime startDateTime, LocalDateTime endDateTime) { su..
-
스프링 MVC 구성요소백기선(인프런 강의)/스프링 웹 MVC 2020. 8. 26. 22:18
MultipartResolver 파일 업로드 요청 처리에 필요한 인터페이스 바이너리 데이터를 조금씩 처리를 구현체에 위임함 HttpServletRequest를 MultipartHttpServletRequest로 변환해주어 요청이 담고 있는 File을 꺼낼 수 있는 API 제공. LocaleResolver 클라이언트의 위치(Locale) 정보를 파악하는 인터페이스 기본 전략은 요청의 accept-language를 보고 판단. ThemeResolver 애플리케이션에 설정된 테마를 파악하고 변경할 수 있는 인터페이스 css변경 쿠기, 세션, Fiexed 등으로 구성되어있다. 기본으로 Fiexed를 사용하기 때문에 실질적으로 사용 안함 https://memorynotfound.com/spring-mvc-them..