유리쯔의일상 2023. 12. 27. 22:22
반응형

 


 

 김춘장이의 위키백과 - 나만의 공부 기록 Tistory ❤ 

 

 


 

본 포스팅은김영한선생님의
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB접근 기술
강의를 기반으로 작성되었습니다.

 

 

 

 

 

 

웹 개발 방법

  1. 정적 컨텐츠
    서버에서 하는 것 없이 파이릉ㄹ 그냥 웹브라우저에 내려주는 방법
  2. MVC와 템플릿 엔진
    서버에서 프로그래밍 하여 html을 동적으로 바꿔서 내리는 것
    컨트롤러, 모델, 뷰 MVC 패턴이라고하며 주로 많이 사용함
  3. API
    JSON방식으로 웹 브라우저에 내려주는 것,리엑트나 등등
    서버끼리 통신할때 사용하기도 함

 

 

 

 

 

정적컨텐츠

DOSC 정의

1.1.5. 정적 콘텐츠
기본적으로 Spring Boot는 클래스 경로의 
/static(또는 /public 또는 /resources 또는 /META-INF/resources)이라는 디렉토리 
또는 ServletContext의 루트에서 정적 콘텐츠를 제공합니다. 

Spring MVC의 ResourceHttpRequestHandler를 사용하므로 
자체 WebMvcConfigurer를 추가하고 addResourceHandlers 메서드를 재정의하여 
해당 동작을 수정할 수 있습니다.

독립형 웹 애플리케이션에서는 컨테이너의 기본 서블릿이 활성화되지 않습니다. 
서버 서버렛 등록 디폴트 서블릿 속성을 사용하여 활성화할 수 있습니다.

기본 서블릿은 Spring이 처리하지 않기로 결정한 경우 
ServletContext의 루트에서 콘텐츠를 제공하는 폴백 역할을 합니다. 
Spring은 항상 DispatcherServlet을 통해 요청을 처리할 수 있기 때문에 
대부분의 경우 기본 MVC 구성을 수정하지 않는 한 이런 일이 발생하지 않습니다.

기본적으로 리소스는 /**에 매핑되지만 spring.mvc.static-path-pattern 
속성을 사용하여 이를 조정할 수 있습니다. 
예를 들어, 모든 리소스를 /resources/**로 재배치하려면 다음과 같이 하면 됩니다:

PropertiesYaml
spring.mvc.static-path-pattern=/resources/**
spring.web.resources.static-locations 속성을 사용하여 
정적 리소스 위치를 사용자 지정할 수도 있습니다(기본값을 디렉토리 위치 목록으로 대체). 
루트 서블릿 컨텍스트 경로인 "/"도 자동으로 위치로 추가됩니다.

앞서 언급한 "표준" 정적 리소스 위치 외에도 Webjar 콘텐츠에는 특별한 경우가 있습니다. 
기본적으로 경로가 /webjars/**인 모든 리소스는 Webjars 형식으로 패키징된 경우 jar 파일에서 제공됩니다. 
경로는 spring.mvc.webjars-path-pattern 속성을 사용하여 사용자 지정할 수 있습니다.

애플리케이션이 jar로 패키징된 경우 src/main/webapp 디렉터리를 사용하지 마세요. 
이 디렉토리는 일반적인 표준이지만 워 패키징에서만 작동하며, 
jar를 생성하는 경우 대부분의 빌드 도구에서 자동으로 무시됩니다.

정적컨텐츠는 html파일 그대로 통으로 전달한다
웹 브라우저에서 http://localhost:8080/html파일명 입력 하게 되면
스프링에 먼저 진입을 한다
스프링 컨테이너 안에 정적컨텐츠의 컨트롤러는 따로 없다
그럼 내장 톰캣 서버에서 리소시스 디렉터리 안에 있는 동일명의 Html을 찾아
브라우저에게 반환시킨다

 

 

 

 

 

 

구동과정

Pasted image 20231224175732.png

반응형