如此博文所述,Spring Boot 對靜態資源映射提供了默認配置html
默認將 /** 全部訪問映射到如下目錄:
classpath:/static
classpath:/public
classpath:/resources
classpath:/META-INF/resourcesspring
可是能夠經過application.properties文件配置靜態資源的訪問URL樣式和靜態資源的存放位置,分別爲以下兩個屬性,我從spring-boot的官方文檔複製過來,包括井號後對此屬性的註釋mvc
spring.mvc.static-path-pattern=/** # Path pattern used for static resources. spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/ # Locations of static resources.
即第一個屬性配置訪問靜態資源URL樣式,第二個配置存放靜態資源的位置app
我想改訪問靜態資源的URL爲 /static/**,因而我在application.properties文件添加如下代碼spring-boot
spring.mvc.static-path-pattern = /static/** # Path pattern used for static resources
我通常是把這些配置從spring官方文檔中粘貼進來,而後改一下後面的值便可,留着註釋想方便本身之後修改的時候快速瞭解該屬性url
按理說,井號以後都是註釋,且井號以前已經有一個空格了,應該沒什麼問題的spa
但是當我訪問 http://localhost:8080/static/test_pdf.pdf 的時候,且包404錯誤,提示找不到映射此連接的處理器.net
這讓我折騰了很久,最後我嘗試把後面的註釋去掉的時候,變成以下配置時,忽然發現能夠正常訪問了code
spring.mvc.static-path-pattern = /static/**
這樣看來,應該時spring把#號以及後面的註釋都當作URL樣式了htm
所以,你們配置這兩個屬性的時候,記得要後面不能添加註釋,不然想我同樣浪費時間懷疑很久
當時我配置其餘屬性的時候,後面的註釋是能夠保留,我也不知道解析這兩個屬性時是否是存在一點bug了