Sping Boot maven jsp POM spring BOOT jsp
Sping Boot 프로젝트 시작(maven 과 jsp)
POM 설정 spring BOOT에서 jsp 지원 의존관계설정 추가 <!-- Spring Boot Jsp Support --> <dependency> <group. Id>org. apache. tomcat. embed</group. Id> <artifact. Id>tomcat-embed-jasper</artifact. Id> <scope>provided</scope> </dependency> <group. Id>javax. servlet</group. Id> <artifact. Id>jstl</artifact. Id> </dependency>
webapp 폴더 생성(jsp View 사용) 1. spring MAVEN 프로젝트 aa 생 성 4. aa aa 프로젝트에서 Home. Controller 복 사 2. aa 프로젝트에서 webapp 폴더 복사 3. 그림과 같이 정리 5. 추가 spring. mvc. view. prefix: /WEB-INF/views/ spring. mvc. view. suffix: . jsp
Controller에서 HTTP response Body로 직접전 송 메소드에 @Response. Body로 어노테이션이 되어 있다면 메소드에서 리턴되는 값은 View 를 통해서 출력되지 않고 HTTP Response Body에 직접 출력한다. @Rest. Controller = @Controller+@Response. Body 1. 수정 - 자바 객체를 HTTP response Body 로 전송 //@Response. Body 2. 실행
View 와 Controller @Controller만 사용되면 return 문에 반환되는 값은 view의 이름이 되고 model의 값이 view를 통해서 출력된다. 1. 수 정 @Rest. Controller = @Controller + @Response. Body home. jsp 2. 실행
Thymeleaf Template Engine 선택 Thymeleaf는 순수 HTML에 HTML 5문법을 사용하여 Server side 로직을 수행할 수 있는 HTML 태그 및 속성 기반의 Template Engine 전 프로젝트에서 Hello. Controller 복사
Dependencies 설정 확인
Thymeleaf HTML 파일 작성 1. Home. Controller 복 사 2. Home. HTML 파일 생성 (Thymeleaf) 3. 입력(home. jsp 파일에서 수정 가 능) <!DOCTYPE html> <html xmlns: th="http: //www. thymeleaf. org"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></meta> <title>Home</title> </head> <body> xml의 Thymeleaf th: 요소에 네임스페이스 선언 <h 1> Hello world! </h 1> <P> The time on the server is <span th: text="${server. Time}"></span> <div>Thymeleaf version</div> </body> </html> th: 는 thymeleaf에 대한 속성선언으로 server. Time 라는 변수 값으로 <span>안의 값을 대체해버린다. 값이 없는 경 우 <span> 태그는 무시 – 변환 후 HTML과 같아진다. </P>
의존 관계 추가 확인 2. 추가 1. 추가 <repositories> <repository> <id>codelds</id> <url>https: //code. lds. org/nexus/content/gro ups/main-repo</url> </repository> </repositories> <!-- Spring Boot Jsp Support --> <dependency> <group. Id>org. apache. tomcat. embed</group. Id> <artifact. Id>tomcat-embed-jasper</artifact. Id> <scope>provided</scope> </dependency> <group. Id>javax. servlet</group. Id> <artifact. Id>jstl</artifact. Id> </dependency> <!-- Spring Oracle Support --> <dependency> <group. Id>com. oracle</group. Id> <artifact. Id>ojdbc 6</artifact. Id> <version>11. 2. 0. 3</version> <scope>compile</scope> </dependency> <group. Id>org. apache. commons</group. Id> <artifact. Id>commons-dbcp 2</artifact. Id> <version>2. 1. 1</version> </dependency>
OJDBC 6 설정
mybatis-spring-boot-starter 기능 Mybatis를 Spring과 함께 사용하기 위해서는 최소한 한 개의 Sql. Session. Factory 와 최소한 한 개의 Mapper Interface가 필요 mybatis-spring-boot-starter는 다음과 같은 일을 처리한다. l 존재하는 Data. Source 자동감지 l Sql. Seession. Factory. Bean을 사용해서 해당 데이터소스를 전달하는 Sql. Session. Factory의 객체를 생성하고 등록 l Sql. Session. Factory을 이용해 Sql. Session. Template의 객체를 생성하고 등록 l 매퍼들을 자동 스캔한 뒤 스캔된 interfaces나 class들을 Sql. Session. Template에 연결하고 Spring Context에 등록해서 bean에 주입할 수 있게 해준다.
Lombok 설정 @Getter, @Setter 같은 annotation 기반으로 DTO(VO) 클래스를 작성할 때 @Data 어노 테이션등으로 멤버 변수에 대한 Getter/Setter Method, Equals(), hash. Code(), To. String() 메서드들과 멤버 변수에 값을 설정하는 생성자 등등을 자동으로 생성해 주는 라이브러리 Pom에 의존성 추가 : project 생성시 설정 사용자>. m 2 > lombok 설치 1 <dependency> <group. Id>org. projectlombok</group. Id> <artifact. Id>lombok</artifact. Id> <optional>true</optional> </dependency> 3 PS C: Usersjjin. m 2repositoryorgprojectlombok1. 16. 22> java -jar lombok 1. 16. 22. jar 2
Lombok 설치
Datasource 와 jsp View 경로 설정 spring. mvc. view. prefix: /WEB-INF/views/ spring. mvc. view. suffix: . jsp # Oracle settings spring. datasource. driver-class-name= oracle. jdbc. driver. Oracle. Driver spring. datasource. url=jdbc: oracle: thin: @168. 126. 146. 45: 1521: orcl spring. datasource. username=jjin spring. datasource. password=jjinpang spring. datasource. dbcp 2. initial-size= 7 spring. datasource. dbcp 2. max-total= 20 spring. datasource. dbcp 2. pool-prepared-statements= true
Controller, View, Mapper 설정 1. 복사 2. Dto import 경로 확 인
Mapper 설정 1. 수정 mybatis. mapper-locations=classpath: mybatis/mapper/**/*. xml 2. 삽입 3. 수정
실행 및 결과 확인 1. localhost: 8080 2. localhost: 8080/list
Thymeleaf tamplate 작성(Card. List. html)
Thymeleaf tamplate 작성(Card. View. html)
Thymeleaf 속성
Thymeleaf 속성
- Slides: 35