티스토리 뷰
0. Spring Boot의 tempates 위치
1-1 Spring Boot의 기본 template의 위치는 src/main/resources/templates 이다.
1-2 JSP를 제외한 view template engine들은 여기에서 template 파일을 가져온다.
1-3 하지만 JSP는 다르다. 이게 불가능하다.
1-3-1 여기에 맞추려고 하지 말고 그냥 WAR 표준에 따라 src/main/webapp 폴더를 생성해야 한다.
1-4 공식 문서에서 JSP에 대한 제약으로 다음을 언급하고 있다. (즉 JAR 형식으로는 JSP를 쓸 수 없다는 말이다.)
1-4-1 Tomcat 사용시 war은 동작하지만 jar은 톰캣 내부의 박혀있는 파일 검색 필터 때문에 동작하지 않는다.
1-4-2 Jetty 역시 war파일을 잘 실행한다.
1-4-3 undertow 컨테이너는 아예 jsp를 지원하지 않는다.
1-4-4 error.jsp 페이지는 에러처리를 위한 기본 view를 대체하지 않는다.
1-4-5 때문에 사용자 별도로 정의하여 사용되어야 한다.
1. WAR방식이라도 쓰고 싶으면 Tomcat embed jasper 모듈을 maven에 추가한다. 말그대로 내장 tomcat 모듈이다.
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<version>9.0.34</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
2. application.properties에 JSP prefix, suffix를 등록한다.
2-1 아래 경로설정에서 view/ 에서 끝에 /가 중요하다. 없으면 JSP파일을 찾지 못한다.
2-2 Spring Boot는 자동적으로
2-2-1 기존의 Spring 5에서 했던 수동으로 WebConfig을 생성하고 InternalResouceViewResolver 설정하는 부분을
2-2-2 application.properties 파일에서 속성의 값을 읽어와 자동으로 수행한다.
2-2-3 정해진 속성은 다음과 같고 값은 원하는 대로 지정하면 된다.
spring.mvc.view.prefix=/WEB-INF/view/
spring.mvc.view.suffix=.jsp
3. src/main/webapp/WEB-INF/view 폴더를 생성하고 여기에 JSP파일을 위치시킨다.
4. JSTL을 사용하려면 javax.servlet의 jstl 모듈을 pom.xml에 추가해야 한다. 1번 항목 코드를 참고한다.
4-0 jstl 모듈은 jstl-api + tag lib를 포함한다.
4-1 워낙 다양한 groupId ,artifactId가 있어 좀 헷갈릴 수 있다.
4-2 eclipse에서 버전을 삭제하라는 경고를 띄우면 삭제하면 된다. 돌아가는 게 중요하다.
'Spring > Spring Boot' 카테고리의 다른 글
Spring Boot : Data JPA - DTO 사용 할 때 (0) | 2020.04.29 |
---|---|
Spring Boot : Data JPA - @Query 사용하기 (0) | 2020.04.29 |
Spring Boot : Email 보내기 (0) | 2020.04.26 |
Spring Boot : Web Application Context Root 위치 설정 (0) | 2020.04.25 |
Spring Boot : MySql 연결하기 (0) | 2020.04.25 |
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib
- 하이버네이트
- 설정하기
- 스프링부트
- one-to-many
- login
- Spring Security
- Spring
- 자바
- WebMvc
- form
- MYSQL
- jsp
- Angular
- Many-To-Many
- mapping
- Validation
- 스프링
- spring boot
- crud
- RestTemplate
- 상속
- 설정
- 매핑
- Rest
- one-to-one
- 로그인
- Security
- XML
- 외부파일
- hibernate