pooney

흔히 반복되는 css, js의 경우 별도의 resources 폴더에 jsp파일을 만들어 include로 불러와서 반복되는 코드를 줄이면서 사용할 수 있다. 이때 발생하는 실수가 실제 css ,js 파일의 경로를 입력하는 것이다. 모든 요청은 dispacherServlet을 거치게 되어있다 이때 해당 controller를 찾고 경로에 따라 실행을 하기 때문에 실제 css, js가 존재하는 경로는 잘못된 경로로 인식하게 되어 페이지에러가 난다. 이를 해결하려면 sevelrt-context.xml 에서 resources 를 설정하면된다 

 

 

 

 

 

sevelrt-context.xml 

아래의 코드의 뜻은  resources를 시작하는 모든 요청은 controller를 거치지 않고  resources폴더에서 바로 찾아라 라는 뜻이다. 

 

<resources mapping="/resources/**" location="/resources/" />

 

 

 

header.jsp

 resources에 있는 css,js를 불러오고자 할때는 jstl의 url을 사용해야한다  value에는 contextPath는 생략하고 사용하면된다. 이때 jstl을 사용하는 이유는 Context Path를 자동으로 붙여주기 때문이다. 안 그러면 요청경로가 이상해진다.

<link rel="stylesheet" href="<c:url value='/resources/FullCalendar/vendor/css/bootstrap.min.css'/>">

 

 

main.jsp

include를 사용하여 가져다 사용한다

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<%@ include file="../include/header.jsp" %>
<title>Insert title here</title>
</head>
<body>
	include 사용하여 정적인 css, js 파일 불러오기 

</body>
</html>


 

 

 

 

 

 

profile

pooney

@pooney

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!