-
[14] Spring Web MVC : Web JARSpring/Spring boot 2020. 6. 23. 19:41반응형
[Web JAR란]
Web JAR는 jQuery, ReactJS, vue.js, Angular 등과 같이 client-side에서 동작하는 web library들을 JAR file로 packaging한 것입니다. 의존성을 추가하기만 하면 JAR 안에 있는 css나 javascript 등을 사용할 수 있습니다. 1
[Web JAR의 사용]
Web JAR를 사용하기 위해서는 우선 사용하고자 하는 Web JAR에 대한 의존성을 추가해야 합니다. Maven repository(https://mvnrepository.com/)에서 많은 Web JAR를 제공하고 필요한 JAR를 검색하여 사용합니다.
만약 jQuery에 대한 Web JAR 의존성을 추가하고자 한다면, Maven repsitory에서 jquery를 검색합니다.
검색 결과 중 jQuery를 선택합니다.
원하는 version을 선택합니다.
각 build tool에 대한 의존성 추가 구문을 제공하므로 복사해서 사용합니다. 여기서는 Maven을 사용하도록 합니다.
위의 구문을 복사하여 다음과 같이 pom.xml의 dependencies tag 안에 붙여 넣습니다.
<dependencies> <dependency> <groupId>org.webjars.bower</groupId> <artifactId>jquery</artifactId> <version>3.5.1</version> </dependency> </dependencies>
client-side에서 jQeury를 사용할 수 있는지 확인해보기 위해 /resources/static/hello.html file을 다음과 같이 작성합니다.
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> Hello static resource. </body> <script src="/webjars/jquery/3.5.1/dist/jquery.min.js"></script> <script> $(function() { alert("jQeury was ready to use"); }); </script> </html>
script tag에 src 속성에 Web JAR file 경로를 넣어주고 onload 시 alert 창을 실행하도록 하는 구문을 추가하였습니다.
application을 실행하고 http://localhost:8080/static/hello.html 로 접속하면 jQuery 구문이 실행됩니다.
[Web JAR version의 생략]
Web JAR의 경로에는 version 정보도 포함되어 있습니다. 하지만 매번 적용하는 JAR의 버전을 신경쓰기 번거롭습니다. 이런 경우 pom.xml에 webjars-locator-core 의존성을 추가하여 경로에서 version을 생략할 수 있습니다. 추가되는 의존성 구문은 다음과 같습니다.
<dependency> <groupId>org.webjars</groupId> <artifactId>webjars-locator-core</artifactId> <version>0.45</version> </dependency>
/resources/static/hello.html file에서 script tag의 src 속성 중 version에 관한 내용을 삭제합니다.
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> Hello static resource. </body> <!--<script src="/webjars/jquery/3.5.1/dist/jquery.min.js"></script>--> <script src="/webjars/jquery/dist/jquery.min.js"></script> <script> $(function() { alert("jQeury was ready to use"); }); </script> </html>
자동으로 version을 설정하는 기능은 resource chaining(resource handler, resource transformer를 chaining)을 통해 제공됩니다.
- Java Archive [본문으로]
'Spring > Spring boot' 카테고리의 다른 글
[16] Spring Web MVC : Template Engine (0) 2020.06.24 [15] Spring Web MVC : Index page and Favicon (0) 2020.06.24 [13] Spring Web MVC : static resource 지원 (0) 2020.06.22 [12] Spring Web MVC : ViewResolver (0) 2020.06.21 [11] Spring Web MVC: HttpMessageConverters (0) 2020.06.17