[JSP] JSP에서 CSS 매핑

전현준·2023년 12월 12일
0
post-thumbnail

⛔ 오류

HTML에서 CSS링크하는 방식대로 실행해봤다.

<link href="main.css" rel="stylesheet" />

뭐야 왜 되는거야

같은 폴더내에 있으면 되는거 같은데, 폴더를 분리하면 조금 다르다.

<link href="./resource/main.css" rel="stylesheet" />

뭐야 왜 되는거야22 아니 그땐 안됐는데

알고보니 내 잘못이였다. 이 글을 작성하면서 깨달은게 있다. 계속 아래와 같이 작성한 것이다.

<link href="/resource/main.css" rel="stylesheet" />

main.css를 찾을 수 없다는 오류가 나타난다. 역시나 레이아웃도 모두 깨진다

계속 주소를 /resource/main.css로 주고 있었다.

이렇게하면 localhost:8080/Project/resource/main.css가 된다.

./resource/main.css로 하면 된다..


💡 해결방안

다양한 방법이 있긴한데 해결했지만, 이래도 안되는 분들을 위해서 공유한다.

1. 커스텀 태그 이용하기

  • 커스텀 태그인 c태그를 이용하는 것이다.
    https://tomcat.apache.org/download-taglibs.cgi 여기서 jar파일을 다운받아 사용한다.

    프로젝트에서 📁 [src] > [main] > [webapp] > [WEB-INF] > [lib]에 다운받은 jar파일을 추가한다.


먼저 JSP 상단에 태그 라이브러리를 i

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

그리고 나서 아래 태그로 사용하면 불러올 수 있다!

<link href="<c:url value="/resource/main.css"/>" rel="stylesheet" />

2. 표현언어 내장객체 이용하기

이 방법도 있다. 근데 Spring에서는 이 방식으로 했었는데, JSP에서는 안되는 것 같다.
여러 방식 중 가장 쉬운 방식을 사용해보세요..

<link rel="stylesheet" href="${pageContext.request.contextPath}/resources/main.css">
profile
백엔드 개발자 전현준입니다.

0개의 댓글