weone
40
2020-08-12 13:10:03 작성 2020-08-12 13:13:57 수정됨
4
1134

스프링부트 정적파일 적용에러


안녕하세요 제가 혼자 프로젝트를 만들고 있는도중에 어느순간 css 적용이 안되는 에러때문에 아무것도 못하고 있습니다. 
해당 에러는
<link href="/resources/css/wedaily/mainStyle.css" rel="stylesheet" type="text/css">

이렇게 css파일을 가져오고 있습니다.

properties 파일에 설정한것은 

spring.mvc.static-path-pattern=/resources/**

spring.resources.static-locations="classpath:/resources/","classpath:/static/"

spring.resources.add-mappings=true

이렇게 설정해두 었습니다.

 현재 resource 폴더입니다.

무엇이 문제인지 몇일째 삽질만 하고있네요.... 
jsp 페이지에서 경로도 바꿔가면서 해보았습니다. 

0
  • 답변 4

  • 컴포지트
    2k
    2020-08-12 13:24:05 작성 2020-08-12 13:24:20 수정됨

    1. context 경로가 있는지 확인해 보시길. (예: 매핑이 / 으로 했을 때 http://localhost:8080/ 으로 하면 안 되고 http://localhost:8080/context/ 으로 접속해야 할 경우)

    이 경우, JSP JSTL 기준으로는 c:url 태그를 써서 유연하게 대응할 수 있습니다.


    2. resources/static 으로 정적 리소스 경로 지정했다면, 굳이 따로 프로퍼티 지정 안 해도 됩니다. 기본적으로 알아서 잡힙니다.

    그리고 그냥 /css/some.css 으로 잡으면 됩니다.

  • Dierslair
    5k
    2020-08-12 16:26:24 작성 2020-08-12 16:28:17 수정됨

    spring.mvc.static-path-pattern=/resources/**
    spring.resources.static-locations="classpath:/resources/"

    <link href="/resources/static/css/wedaily/mainStyle.css" rel="stylesheet" type="text/css">

    경로가 좀 다르네요..

    보통 html에서 쓰기 쉽게
    spring.mvc.static-path-pattern=/js/**,/css/**,/img/**
    spring.resources.static-locations=classpath:/resources/static/js/,classpath:/resources/static/css/,classpath:/resources/static/img/
    요런식으로 따로 선언해 줍니다. link="/css/~"로 쓰면 편하니깐요

  • weone
    40
    2020-08-13 16:37:43

    컴포지트님 답변 감사합니다.!
    현재 jsp페이지 접속은 되는데 url이 localhost:8080/컨트롤러에 맵핑한 주소 이렇게 jsp페이지에 접속은 됩니다. 
    근데 그 페이지에서 <link>로 가져오는 resources 안의 파일들이 404 찾지를 못하고 있습니다.
    url상에서도 경로를 하나씩 바꿔가며 했지만 전혀 찾지를 못하네요.
    어디를 봐야 좋을까요?!
    #컴포지트

  • weone
    40
    2020-08-13 16:39:48

     John Suhr 님 답변 감사합니다.!

    spring.mvc.static-path-pattern=/resources/**

    spring.resources.static-locations=file:/resources/static

    spring.resources.add-mappings=true
    프로퍼티 설정은 이렇게 해주었고 
    <kink> 태그로 지금까지 사용하던 경로는 
    <link rel="stylesheet" type="text/css" href="/resources/css/wedaily/mainStyle.css"> 
    이렇게 지금까지 사용하고 있엇습니다. 
    근데 어느순간 갑자기 현재 프로젝트의 resources 파일들이 먹히지 않는데 왜그럴까요...ㅠㅠ 
    답답하네요 

  • 로그인을 하시면 답변을 등록할 수 있습니다.