| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
- gradle
- Spring
- maven
- react
- Git
- LOG4J
- NCP
- mybatis
- Linux
- VSCode
- Windows
- gson
- useEffect
- nginx
- JPA
- JavaScript
- dbeaver
- IntelliJ
- Java
- Kubernetes
- BPMN
- docker
- SAP
- log4j2
- MySQL
- kubectl
- tibero
- database
- nodejs
- springboot
- Today
- Total
목록전체 글 (269)
두 손끝의 창조자
Thymeleaf 홈페이지에 Spring과 연동하는 소스를 가져와서 테스트 했는데 아무리 해도 뷰가 매핑이 되지 않았다. 몇 시간 헤매다가 아래 구문에서 문제가 있었다. viewResolver.setViewNames(new String[]{".html", ".xhtml"}); 당연하게도 xxx.html 파일과 매핑을 위한 설정정보라고 생각했는데 Controller에서 반환한 뷰 이름과 패턴 매치해볼 대상들이었다. 컨트롤러에서 뷰 이름만 리턴했으니 .html 과 같은 것이 매치가 될 리가 없다. 무슨 샘플 소스를 이따구로... https://www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring.html
Controller를 기본 대상에서 포함시키고, 기본 필터를 끈다. @ComponentScan(basePackages = {"com.dongkuk.dmes.cr"}, includeFilters = @ComponentScan.Filter( type = FilterType.ANNOTATION, classes = {Controller.class} ), useDefaultFilters = false)
web.xml 을 대체해서 사용할 수 있는 진입점을 제공하는 인터페이스이다. 클래스 패스에 META-INF/services/javax.servlet.ServletContainerInitializer 파일에 ServletContainerInitializer 구현한 클래스 전체 이름을 넣으면 컨테이너가 올라오면서 onStartup 메소드를 실행한다.
Servlet Version WAS Servlet 4.0 Tomcat9>=, *SpringBoot2, WildFly14>= Servlet 3.1 Tomcat8>=, Jeus7 Servlet 3.0 Tomcat7
servlet 4.0 servlet 3.1 servlet 3.0