2022年2月8日 星期二

Spring Boot web 專案 靜態檔 WebJars基本應用





Spring Boot 裡面預設也會加入WebJars的靜態資料夾。/META-INF/resources/webjars/
spring-boot-autoconfigure-xxx.jar->
org.springframework.boot.autoconfigure.web.servlet->WebMvcAutoConfiguration->WebMvcAutoConfigurationAdapter->addResourceHandlers
圖1

Java程式教學甘仔店 
Spring Boot web 專案 靜態檔 WebJars基本應用




WebJars將所有前端的靜態文件打包成一個jar包,這樣能很好的對前端靜態資源進行管理。
圖2
Java程式教學甘仔店 
Spring Boot web 專案 靜態檔 WebJars基本應用





在webjars的網站中,講到了四種應用webjars的方式,分別為NPM WebJars、Bower GitHub WebJars、Classic WebJar、Bower Original WebJars
圖3
本文使用Classic WebJar來介紹使用
專案使用Maven專案

Java程式教學甘仔店 
Spring Boot web 專案 靜態檔 WebJars基本應用





圖4 使用Bootstrap來做測試

Java程式教學甘仔店 
Spring Boot web 專案 靜態檔 WebJars基本應用






圖5 新增 pom.xml  dependency

<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>bootstrap</artifactId>
    <version>5.1.3</version>
</dependency>


Java程式教學甘仔店 
Spring Boot web 專案 靜態檔 WebJars基本應用

圖6 新增測試用的html
Java程式教學甘仔店 
Spring Boot web 專案 靜態檔 WebJars基本應用




圖7 範例來源
bootstrap Examples  ->Custom Components -> Sign-in

Java程式教學甘仔店 
Spring Boot web 專案 靜態檔 WebJars基本應用


圖8 index.html 使用 webjars 裡的bootstrap

  <link rel="stylesheet" href="/webjars/bootstrap/5.1.3/css/bootstrap.min.css" />
Java程式教學甘仔店 
Spring Boot web 專案 靜態檔 WebJars基本應用




圖9 測試
http://localhost:8080/sign-in/index.html
Java程式教學甘仔店 
Spring Boot web 專案 靜態檔 WebJars基本應用




圖10 如果專案變大了,頁面變多,版本更新網頁還要去調整。
webjars 提供了一個便利包。
使用 Spring Boot 時,webjars-locator-core 庫它會自動檢測類路徑上的版本 ,並使用它為您自動解析任何 WebJar 資產的版本
以後你在pom.xml  bootstrap version 更新,會自動切換。

Java程式教學甘仔店 
Spring Boot web 專案 靜態檔 WebJars基本應用



圖11 加入pom.xml  dependency

Java程式教學甘仔店 
Spring Boot web 專案 靜態檔 WebJars基本應用





圖12 index.html 使用 webjars 裡的bootstrap 的版本號去掉
原本
<link rel="stylesheet" href="/webjars/bootstrap/5.1.3/css/bootstrap.min.css" />
改為
<link rel="stylesheet" href="/webjars/bootstrap/css/bootstrap.min.css" />
Java程式教學甘仔店 
Spring Boot web 專案 靜態檔 WebJars基本應用



 
圖13 測試 http://localhost:8080/sign-in/index.html
Java程式教學甘仔店 
Spring Boot web 專案 靜態檔 WebJars基本應用























用LINE傳送分享








其它文章


沒有留言:

張貼留言

標籤

Oracle (150) Oracle DB (144) Oracle_DB (143) Oracle SQL (135) JAVA (84) css-基本類 (65) MySQL (59) CSS Selector (58) jQuery (49) JavaScript-基本類 (39) Spring Boot (38) JavaScript (37) JavaScript HTML DOM (37) JavaScript-HTML_DOM (36) CSS3 (30) JAVA-基本類 (28) jQuery UI (27) Apache (23) Oracle GROUP BY (20) datepicker (20) Android (18) Oracle Date (17) c (17) JAVA-lang套件 (16) Linux (16) Oracle Sub Query (16) Spring-基本類 (16) jQuery-基本類 (16) MySQL-進階系列教學 (15) Android基本類 (14) Grails (14) Oracle join (14) SQLite (13) Spring (13) WIN7-基本類 (13) grails-基本類 (13) linux cent os (13) CKEditor (12) JAVA-流程控制類 (12) JAVA_Spring (12) PHP (11) Spring MVC (11) MySQL-基本系列教學 (10) Notepad (10) Notepad++ (10) SQLite for java (10) Windows (10) c/c++ (10) eclipse (9) jQuery-Selector (9) sqldeveloper (9) DB_Toad (8) JAVA_IDE_Eclipse (8) JavaScript-String類 (8) MySQL DB Toad (8) MySQL-DATE相關 (8) MySQL-函式相關 (8) Spring Bean (8) Android Studio (7) HTML5 (7) Hibernate (7) JAVA-OCWCD (7) JavaScript-陣列類 (7) Docker (6) JAVA-程式分享 (6) JAVA.util套件 (6) JavaScript-數學類 (6) MinGw (6) MySQL-其它類 (6) Servlet (6) centos (6) Apache_Tomcat (5) Apache套件_POI (5) CSS (5) JavaScript-Date物件 (5) JavaScript-其它類 (5) PostgreSQL (5) httpd (5) log4j (5) 基本資訊 (5) 開發工具 (5) CSS Properties (4) Dev-C++ (4) IntelliJ IDEA (4) Oracle DDL (4) Sublime (4) TortoiseSVN (4) apache_Maven (4) Android NDK (3) Eclipse IDE for C/C++ (3) Hibernate-基本類 (3) JAVA-問題 (3) JAVA-綀習分享 (3) JVM (3) Linux 指令 (3) Proxy Server (3) Spring Mobile (3) Spring web (3) Squid (3) VirtualBox (3) maven (3) zk (3) 生活其它 (3) Bootstrap (2) Filter (2) JAVA_IO (2) JAVA_其它_itext套件 (2) JBoss-問題 (2) JSP (2) Jboss (2) Listener (2) MySQL-語法快速查詢 (2) Spring AOP (2) Spring Batch (2) Spring Boot Actuator (2) Spring i18n (2) Subversive (2) Tomcat 8 (2) UML (2) WebJars (2) WinMerge (2) c++ (2) c語言綀習題 (2) jQuery Mobile (2) jQuery-事件處理 (2) jQuery-套件類 (2) putty (2) svn (2) weblogic (2) Apache_JMeter (1) Apache套件_BeanUtils (1) Apache套件_StringUtils (1) Base64 (1) Google API (1) HTML5-基本類 (1) Heap (1) JAVA 7 (1) JAVA SE 、JAVA EE、JAVA ME (1) JAVA 日期 (1) JAVA-OCJP (1) JAVA-WEB (1) JAVA_IDE (1) JAVA其它 (1) JBoss Server (1) JDK (1) JMX (1) JRE (1) Java RMI (1) Java String (1) Joda Time (1) Linux_其它 (1) MySQL教學 (1) Oracle_VirtualBox (1) SQL Server (1) SWT (1) Session (1) Stack (1) Struts 2 (1) Tool (1) ZK Studio (1) csv (1) grails-其它類 (1) jQuery-進階 (1) java mail (1) java web (1) java8 (1) jsoup (1) mockmvc (1) modules (1) tomcat (1) win10 (1) 其它類 (1) 圖片工具 (1) 模擬器 (1) 讀書分享 (1) 開發資訊 (1)

精選文章

初學 Java 的 HelloWorld 程式

撰寫一個JAVA程式 public class HelloWorld{ public static void main(String[ ] args){ System.out.println("我第一支Java程式!!"); } } ...

Java程式教學甘仔店 
Spring Boot web 專案 靜態檔 WebJars基本應用