توريد الموارد الثابت الافتراضي
لدى Springboot العديد من أدلة الموارد الثابتة الافتراضية ، والتي يمكن تكوينها أيضًا. التكوين الافتراضي /** خرائط إلى /ثابت (أو /عام ، /موارد ، /موارد /موارد meta) ، وطريقة التكوين المخصص هي كما يلي:
spring.mvc.static-path-pattern =/** # نمط المسار المستخدم للموارد الثابتة.
إذا احتاج الواجهة الأمامية إلى الوصول إلى الموارد الثابتة الافتراضية ، فيرجى الانتباه إلى هيكل الدليل التالي:
└ dresources
كيفية الرجوع إلى الموارد الثابتة أعلاه في index.html؟
طريقة الكتابة التالية:
<link rel = "stylesheet" type = "text/css" href = "/css/index.css" rel = "severonal nofollow"> <script type = "text/javaScript" src = "/js/index.js
ملاحظة: التكوين الافتراضي /** خرائط إلى /ثابت (أو /عام ، /موارد ، /موارد /موارد meta)
عند طلب /css/index.css ، سيتم العثور على Spring MVC في /static /directory.
إذا تم تكوينه كـ /static/css/index.css ، فهناك دليل لا /ثابت تحت عدة أدلة تم تكوينها أعلاه ، وبالتالي لن يتم العثور على ملف المورد!
لذلك عند كتابة مواقع الموارد الثابتة ، لا تحضر أسماء الدليل المعينة (مثل/static/،//،/،/،/،/،/meta-inf/)!
الموارد الثابتة المخصصة
تشير المعلومات عبر الإنترنت إلى أنه يمكن تحديد المواصفات في ملف التكوين. لم أستخدم هذه الطريقة. لقد استخدمته عن طريق تنفيذ التكوين الموسع.
PS: اشرح أنه في إصدار Springboot 1.x ، يتم تمديد بعض التكوينات المتعلقة بـ Spring MVC من خلال وراثة WebMvCautoconFiguration ، ولكن في الإصدار 2.x ، يتم تنفيذ واجهة WebVCConfigurer مباشرة لتوسيع نطاق الوظائف المخصصة لتكوين المخصصات المخصصة ، وتكوين هذا المخصصات المخصصة أيضًا ، وتشمل مخصصات مخصصة ، وتشمل هذه المخصصات المخصصة ، وتشمل المخصصات المخصصة للموارد المخصصة ، وتكوين المخصصات المخصصة للموارد ، وما إلى ذلك. مقال ، تغطي الأساليب الافتراضية مثل الداخل.
فقط قم بتحميل الرمز:
ConfigurationPublic class myWebAppConfigurer تنفذ webmvcconfigurer {// event.share.image.dir =/data/share/image/value ("$ {event.share.image.dir}") outputdir الخاصة ؛ Override public void addresourceHandlers (ResourceHandlerRegistry Recistry) {registry.addresourceHandler ("/share/image/**"). addresourcelocations ("file:"+outputdir) ؛ }}ملاحظة: خلفية الكود أعلاه هي صورة مأخوذة من مكان آخر ديناميكيًا. يجب عدم وضعه في حزمة جرة Sringboot. لذلك ، من خلال التكوين أعلاه ، يمكنك الوصول مباشرة إلى الصورة في /data/share/image/a.jpg من خلال http: //host/share/image/a.jpg. إذا لم يكن ملف المورد الثابت ديناميكيًا ، فهو أيضًا في دليل الموارد ، فقط بحاجة إلى كتابته مثل هذا:
registry.addresourceHandler ("/share/image/**"). addresourcelocations ("classpath:"+outputdir) ؛ // تغيير الملف إلى classpathالوصول إلى الموارد الثابتة من خلال فئة أدوات Springboot
بسيط للغاية ، الرمز كما يلي:
Private Static Final String background_image = "share/background.jpg" ؛ file file = classPathResource جديد (background_image) .getFile () ؛ inputStream هو = جديد classPathResource (background_image) .getInputStream () ؛
اتضح أن هناك طريقة أخرى لكتابتها:
private Static Final String background_image = "classpath: share/background.jpg" ؛ file file = resourceUtils.getFile (background_image) ؛
ولكن في الإصدار 2.x ، قد يظهر ما يلي ولكن استثناء
java.io.filenotfoundException: لا يمكن حل مورد مسار الفئة [share/background.jpg] إلى مسار الملف المطلق لأنه لا يقيم في نظام الملفات: jar: file: /home/ubuntu/wxcs/calendar-api-.0.0.0.jar!
أود أن أوصي الطريقة الأولى لكتابتها.