Springboot는 웹 정적 리소스를 처리합니다.
정적 리소스 : html, js, css 등
Springboot는 jar 패키지이므로 정적 리소스는 webapp (원래 Maven 프로젝트)에 저장되지 않습니다 .
정적 리소스의 저장소 경로는 WebMvcAutoConfiguration 클래스의 addResourceHandlers () 메서드에 의해 지정됩니다.
과거에는 js와 같은 정적 리소스가 도입되었고 이러한 리소스가 다운로드 된 다음 수동으로 webapp 디렉토리에 배치되었습니다.
Springboot는 이러한 정적 리소스를 jar 파일 (maven)의 형태로 프로젝트에 직접 도입합니다.
가져온 jar 패키지에 액세스 할 때 webjars에서 쓰기를 시작하십시오!
예 : jQuery를 소개하고
먼저 jar 패키지를 다운로드하십시오.
<dependency>
<groupId>org.webjars.bower</groupId>
<artifactId>jquery</artifactId>
<version>3.3.1</version>
</dependency>
그런 다음 jar 패키지를 찾으십시오.
프로젝트를 시작하고 정적 리소스에 액세스합니다.
http : // localhost : 8080 / webjars / jquery / 3.3.1 / dist / jquery.js
직접 작성한 정적 리소스를 springboot에 넣는 방법은 무엇입니까?
방법 1 : 직접 작성한 정적 리소스를 jar 패키지에 입력 한 다음 springboot를 가져옵니다.
방법 2 : (권장)
Springboot는 일부 디렉터리 구조를 정적 리소스 저장소 디렉터리로 설정하고, 직접 작성한 정적 리소스를 이러한 디렉터리에 직접 배치 할 수 있습니다!
① "클래스 경로 : / META-INF / resources /"
② "classpath : / resources /"
③ "classpath : / static /"
④ "classpath : / public /"
위의 디렉토리에 리소스 파일을 저장 한 후 액세스 할 때 접두사를 추가 할 필요가 없습니다. 직접 액세스하기 만하면됩니다!
예:
먼저 정적 리소스 저장소 디렉터리에 새 hello.html 페이지를 만듭니다.
그런 다음 우리는 그를 방문합니다.
접두사를 추가 할 때 : 액세스 할 수 없음
직접 액세스 할 때 : 성공
시작 페이지 설정
WebMvcAutoConfiguration 类 中 的 welcomePageHandlerMapping ()-> getWelcomePage ()-> location + "index.html"
즉, 정적 리소스 저장소 디렉토리의 index.html이 시작 페이지입니다 !
로고 설정
모든 웹 사이트의 웹 페이지 태그에는 로고가 있습니다. 예 : CSDN의 로고는
웹 사이트에있는 웹 페이지 태그의 로고는 favicon.ico라는 고정 된 이름을 갖습니다.
맞춤 favicon.ico :
소스 코드를 읽음으로써 우리는 알 수 있습니다. favicon.ico를 정적 리소스 저장소 디렉토리에 넣으십시오!
정적 리소스 저장소 디렉터리를 사용자 지정하는 방법
속성 파일 (접두사 + 속성 이름)
spring.resources.static-locations = classpath : / res /, classpath : / img /
사용자 지정 후 이전 기본 정적 리소스 저장소 경로가 무효화됩니다!
요약하자면 :
1. 소스 코드를 통해 발견 : 정적 자원의 스토리지 디렉토리는
① "클래스 경로 : / META-INF / resources /"
② "classpath : / resources /"
③ "classpath : / static /"
④ "classpath : / public /"
2. 정적 자원 사용 : 위의 디렉토리에 정적 자원을 넣으십시오.
3. 시작 페이지 및 로고와 같은 기타 특정 파일의 경우 고정 리소스 저장소 디렉터리에 규칙을 추가하기 만하면됩니다.