본문 바로가기
반응형

Develop/Spring56

[Spring] Path with "WEB-INF" or "META-INF" 에러 Path with "WEB-INF" or "META-INF" 에러 에러 코드 전문 ▼ 더보기 2021-05-20 16:35:32.017 WARN 8656 --- [nio-8080-exec-2] o.s.w.s.r.ResourceHttpRequestHandler : Path with "WEB-INF" or "META-INF": [WEB-INF/views/new-form.jsp] 2021-05-20 16:35:32.045 DEBUG 8656 --- [nio-8080-exec-2] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [.. 2021. 5. 21.
[Spring] Initializr로 스프링 부트 기반 프로젝트 생성 Spring Initializr 링크> start.spring.io/ Project 빌드 관리 툴 선택 (Maven, Gradle) Ant -> Maven -> Gradle 순으로 Gradle이 가장 최근에 나왔다. Language 언어 설정 (Java, Kotlin, Groovy) Spring Boot 스프링 부트 버전 설정 SNAPSHOT: 아직 개발 단계 기타 버전에 대해: stackoverflow.com/questions/2107484/what-is-the-difference-between-springs-ga-rc-and-m2-releases Project MetaData Group: 보통 기업의 도메인 명 Artifact: 빌드 결과물 이름 Name: 이름 Description: 프로젝트 설명 .. 2021. 3. 10.
[Spring] @JsonProperty json을 자바 객체로 역직렬화 할때, json에 담긴 key이름과 변수명이 다른 문제로 @JsonProperty를 많이 사용하는 것 같다. 예를 들면, 아래와 같은 Blog 클래스가 있다고 하자. public class Blog { private String userName; private String blogLink; public void setUserName(String userName) { this.userName = userName; } public String getUserName() { return userName; } public void setBlogLink(String blogLink) { this.blogLink = blogLink; } public String getBlogLink(.. 2021. 3. 8.
[Spring] HiddenHttpMethodFilter web.xml을 살펴보던 와중 의문을 갖게 한 문제의 코드... httpMethodFilter org.springframework.web.filter.HiddenHttpMethodFilter httpMethodFilter dispatcher ( dispatcher는 org.springframework.web.servlet.DispatcherServlet를 등록한 서블릿의 이름이다. 이 글에서 중요한 사항이 아니라 생략했다. ) HiddenHttpMethodFilter가 뭘까? REST 방식을 사용하다 보면 GET, POST, PUT, PATCH, DELETE를 이용한다. 하지만 PUT, PATCH, DELETE 방식의 메소드를 지원하지 않는 브라우저가 있을 수 있다. 이럴 때 해결책으로 브라우저에서는 P.. 2021. 2. 4.
[Spring] web.xml 분석하기 , springTestProject my spring test project~~~~ : 파일의 title. 보통 프로젝트명을 추가해 사용 : 어떤 프로젝트를 위한 배포 서술자인지 기록 주석과 비슷한 기능을 한다고 생각하면 된다. fileName file:///${SMART_HOME}/conf/applicationcontext-*.xml 사용자가 직접 컨트롤하는 XML 파일 지정 org.springframework.web.context.ContextLoaderListener 스프링 설정 정보 읽기 dispatcher org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/controller-*.xml 2 servlet.. 2021. 2. 3.
[Spring] Interceptor 인터셉터 인터셉터는 말 그대로 중간에서 가로채는 일을 한다. 컨트롤러에 들어오는 요청 HttpRequest와 컨트롤러가 응답하는 HttpResponse를 가로챈다. Filter와 차이점 JSP의 Filter와 유사한 동작을 한다. 둘 다 Controller로 들어가는 요청을 가로채 특정 작업을 하기 위한 용도로 사용되지만, 여러 차이점이 있다. Filter Interceptor 접근 범위 같은 웹 어플리케이션 스프링 내의 모든 객체 호출 시점 DispatcherServlet 실행 전 DispatcherServlet 실행 후 설정 위치 web.xml spring-servlet.xml 구현 방식 web.xml 설정 spring-servlet.xml 설정 및 메소드 구현 제공 J2EE 표준 스펙 Spring .. 2021. 1. 29.
[Spring Boot] Request method 'DELETE' not supported Request method 'DELETE' not supported @DeleteMapping을 이용해 게시글 삭제 기능을 구현하고 있었는데, 405 에러가 떴다. Spring boot에서 put, delete 요청에서 @DeleteMapping이나 @PutMapping을 사용할 경우에는 application.properties에 다음 설정을 추가해야한다. spring.mvc.hiddenmethod.filter.enabled=true 다만, 추가적인 이슈가 있다면 tomcat과 연동해 사용할 경우에는 request의 body 내용을 HTTP POST Method일 때만 파싱해올 수 있다 tomcat에서 설정을 바꿔주거나 스프링에서 제공하는 필터 등을 사용하면 된다. (방법은 참고2 링크) 참고 (1) p.. 2021. 1. 20.
[Spring] <context:component-scan>에 대해 xml 설정 파일을 살펴보다가 이 뭐하는 태그인지 궁금해서 찾아보게 되었다. Component Scan은 XML에 매번 빈 등록을 하지 않고 클래스에 특정 어노테이션을 적용함으로써 자동으로 빈 등록이 되게끔 해준다. 다양한 옵션 - base-package: 패키지를 어디부터 스캔할지 지정하며 여러개 지정이 가능하다. - use-default-filters: 디폴트 어노테이션 스캔 설정 (기본값: true, 스캔한다.) - include-filter: 해당 어노테이션을 스캔 대상에 포함 - exclude-filter: 해당 어노테이션을 스캔 대상에서 제외 어노테이션 @Controller, @Service, @Repository, @Component는 stereotype 애노테이션으로, 고정되거나 일반적인 .. 2021. 1. 7.
@Qualitifier 편리하게 이용하기 @Qualifier를 이용하다보면 오탈자가 날 수 있다. 오류는 나는데 오타 때문에 난 오류인 것은 알 수 없어서 찾기 힘들다. ex: @Qualifier("mainDiscountPolicy") 를 사용해야하는데, @Qualifier("mainDiscountPolicyy")으로 오타낸 경우 ​ 이때 어노테이션을 직접 생성하면 해결할 수 있는데 @Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE, ElementType.ANNOTATION_TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Qualifier("mainDiscountPolicy") publi.. 2020. 12. 29.
반응형