전체 방문자
오늘
어제
21종
종이의 코딩 공부방
21종
  • 분류 전체보기 (171)
    • JAVA (64)
    • Springboot (46)
      • 블로그만들기 (45)
    • Database (60)
      • Oracle (60)
    • 프로젝트 3 (CELOVER) (0)
    • 개발서버 구축 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 글

최근 댓글

hELLO · Designed By 정상우.
21종

종이의 코딩 공부방

Springboot/블로그만들기

[Springboot] 블로그 만들기 (5)_Yaml, Yml 설정, JSP 연결

2023. 11. 21. 22:37

1. Yaml 이란 ? 

https://www.inflearn.com/questions/16184/yaml%ED%8C%8C%EC%9D%BC-%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80%EC%9A%94

 

yaml파일 이란 무엇인가요 - 인프런 | 질문 & 답변

안녕하세요 강사님너무 질문이 많아서 죄송합니다.yaml파일 이라는 단어를 요 근래 많이 듣고 있는데 정확인 무슨 파일인가요검색해 보지도 않고 무조건 질문을 드리는것 같아서 죄송하지만 쉽

www.inflearn.com


2. yml 설정

application.yml = web.xml + root-context.xml + servlet-context.xml

 

application.yml 에 코드 추가

server:
  port: 8001
  servlet:
    context-path: /blog
    encoding:
      charset: UTF-8
      enabled: true
      force: true
    
spring:
  mvc:
    view:
      prefix: /WEB-INF/views/
      suffix: .jsp
      
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/blog?serverTimezone=Asia/Seoul
    username: lwj
    password: 1213
    
  jpa:
    open-in-view: true
    hibernate:
      ddl-auto: create
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
      use-new-id-generator-mappings: false
    show-sql: true
    properties:
      hibernate.format_sql: true

  jackson:
    serialization:
      fail-on-empty-beans: false

 

server:

port: 8001 => 포트번호 설정 default 8080

context-path: /blog => 프로젝트의 기본경로 설정 default "/"

 

port와 context-path를 설정하지 않는다면 경로는 

http://localhost:8080/~~

 

위 처럼 port와 context-path를 설정시 

http://localhost:8001/blog/~~


spring:  mvc:

먼저 스프링부트의 동작원리를 알아야한다!

@Controller
public class TempControllerTest {

	// http://localhost:8001/blog/temp/home
	@GetMapping("/temp/home")
	public String tempHome() {
		System.out.println("tempHome()");
		// 파일리턴 기본경로 : src/main/resources/static
		return "/home.html"; // src/main/resources/static/home.html 잘 접근한다.
	}
}

 

스프링부트는 기본적으로 파일리턴을 할때 src/main/resources/static 안에 있는 파일을 찾게 된다.

 

그럼 jsp 파일은 어떻게 찾을까 ? 

// http://localhost:8001/blog/temp/test
@GetMapping("/temp/test")
public String tempTest() {
    System.out.println("temptest()");
    return "/test.jsp"; 
}

 

 

1. 먼저 pom.xml에 jsp 템플릿 엔진을 의존성 추가해야된다.

<!-- JSP 템플릿 엔진 -->
<dependency>
  <groupId>org.apache.tomcat.embed</groupId>
  <artifactId>tomcat-embed-jasper</artifactId>
</dependency>

 

 

2. jsp 파일을 만든다. 똑같이 src/main/resources/static/home.jsp 를 만들면 되는게 아닌가 ? NO

 

--> 왜 ? static은 spring이 정적 파일을 넣는 경로이다. 따라서 정적 파일인 html, image 는 가능하지만,

     jsp는 동적파일이다. 즉, 읽을 수 없다 !!!

 

--> 그럼 어디에 ? 

프로젝트의 src/main 에 폴더를 생성해준다. / 폴더명은 : webapp/WEB-INF/views

 

 

--> 근데 경로가 여전히 src/main/resources/static/home.jsp 잖아.. 이러면 이 파일의 경로가 WEB-INF/views 인데 ?

--> 그럼 이 jsp파일은 어떻게 찾아 ? 그래서 application.yml의 spring:  mvc: 에서 prefix와 suffix를 설정한거다!

 

// http://localhost:8001/blog/temp/test
@GetMapping("/temp/test")
public String tempTest() {
    // prefix : /WEB-INF/views/
    // suffix : .jsp
    // 즉 /WEB-INF/views/파일명.jsp 를 찾게 된다.
    System.out.println("temptest()");
    //return "/test.jsp";  => /WEB-INF/views//test.jsp.jsp
    // 위 코드는 "/"가 두 번 들어가고 확장자명도 두번 들어간다.
    // 즉 아래와 같이 바꿔준다.
    return "test";
}

 

경로를 잘 찾는다.

 


datasource:, jpa:, jackson:, http: 는 다음에 알아보자..

 


참고 유튜브 (메타코딩님 강의)

https://youtu.be/U9OnYKiSf4g?si=x1yxfwKdcAK5s60Y

    'Springboot/블로그만들기' 카테고리의 다른 글
    • [Springboot] 블로그 만들기 (7)_Board Table 생성, 연관관계 주인
    • [Springboot] 블로그 만들기 (6)_User Table 생성
    • [Springboot] STS4에 HTML, CSS, JSP 없을때
    • [Springboot] 블로그 만들기 (4)_Lombok 세팅하기
    21종
    21종
    코딩 공부한 것 정리하려고 만든 블로그

    티스토리툴바