(1) ، request.getRealPath ("/") ؛ // لا ينصح باستخدام مسار الجذر للمشروع للحصول على المشروع
(2) ، request.getRealPath (request.getRequesturi ()) ؛ // الحصول على المسار إلى JSP. هذه الطريقة أسهل في الاستخدام ويمكن استخدامها مباشرة في servlets و JSP
(3) ، request.getSession (). getServletContext (). هذه الطريقة أسهل في الاستخدام ويمكن استخدامها مباشرة في Servlet و JSP
(4) ، this.getClass (). getClassloader (). يمكن استخدام هذه الطريقة في أي ملفات JSP و Servlet و Java ، لأنه بغض النظر عن أنها JSP ، Servlet ، هي في الواقع برامج Java وجميع الفئات. لذلك يجب أن يكون نهجا عاما.
0. حول المسارات المطلقة والنسبية
1. فهم المفاهيم الأساسية المسار المطلق: المسار المطلق هو المسار الحقيقي للملف أو الدليل على صفحتك الرئيسية على القرص الثابت (عنوان URL والمسار المادي). على سبيل المثال: C: تمثل XYZ EST.TXT المسار المطلق لملف test.txt. http://www.sun.com/index.htm يمثل أيضًا مسار URL المطلق. المسار النسبي: المسار بالنسبة إلى دليل قياسي معين. يحتوي على المسار النسبي للويب (الدليل النسبي في HTML) ، على سبيل المثال: في servlet ، "/" يمثل دليل تطبيق الويب. والتمثيل النسبي للمسار المادي. على سبيل المثال: "./" يمثل الدليل الحالي ، "../" يمثل الدليل السابق. هذا التمثيل المماثل ينتمي أيضًا إلى المسار النسبي. بالإضافة إلى ذلك ، بالنسبة إلى URI ، URL ، URN ، وما إلى ذلك ، يرجى الرجوع إلى معايير الوثائق المتعلقة بـ RFC. RFC 2396: معرفات الموارد الموحدة (URI): بناء الجملة العام ، (http://www.ietf.org/rfc/rfc2396.txt) 2. فيما يتعلق بالمسارات النسبية والمطلقة في JSP/servlets. 2.1 عنوان جانب الخادم يشير العنوان النسبي لجانب الخادم إلى عنوان تطبيق الويب الخاص بك. يتم تحليل هذا العنوان على جانب الخادم (على عكس العناوين النسبية في HTML و JavaScript ، يتم تحليلها بواسطة متصفح العميل)
1. request.getRealPath
الطريقة: request.getRealPath ("/")
المسار الذي تم الحصول عليه: C:/Program Files/Apache Software Foundation/Tomcat 5.5/WebApps/StrutStest/
الطريقة: request.getRealPath (".")
المسار الذي تم الحصول عليه: C:/Program Files/Apache Software Foundation/Tomcat 5.5/WebApps/StrutStest/.
الطريقة: request.getRealPath ("")
المسار الذي تم الحصول عليه: C:/Program Files/Apache Software Foundation/Tomcat 5.5/WebApps/StrutStest
request.getRealPath ("web.xml")
C:/ملفات البرنامج/Apache Software Foundation/Tomcat 5.5/WebApps/StrutStest/Web.xml
2. request.getParameter ("") ؛
ActionForm.getMyFile () ؛
الطريقة: String filePath = request.getParameter ("myfile") ؛
المسار الذي تم الحصول عليه: D:/VSS Directory/user.txt
الطريقة: String filePath = ActionForm.getMyFile () ؛
المسار الذي تم الحصول عليه: D:/VSS Directory/user.txt
-------------------------------------------------
Strutstest هو اسم المشروع
myfile in Actionform ، سلسلة خاصة myfile ؛
في صفحة JSP: <html: file property = "myfile"> </html: file>
-------------------------------------------------
3. الحصول على مسار النظام
في التطبيق:
System.getProperty ("user.dir")
في servlet:
servletContext servletContext = config.getServletContext () ؛
String ROOTPATH = servletContext.getRealPath ("/") ؛
في JSP:
application.getRealPath ("")
4. آخر 1
1. يمكن أن يكون في طريقة init للخدمة
string path = getServletContext (). getRealPath ("/") ؛
سيحصل هذا على المسار الكامل لمشروع الويب
على سبيل المثال: E:/Eclipsem9/مساحة العمل/شجرة/
الشجرة هي الدليل الجذر لمشروع الويب الخاص بي
2. يمكنك أيضًا الاتصال به في أي فصل في أي وقت
this.getClass (). getClassLoader (). getResource (""). getPath () ؛ // بعد الاختبار ، هذه الطريقة آمنة وأكثر فعالية
this.getClass (). getResource ("/conf"). getPath () ؛ // بعد الاختبار ، هذه الطريقة آمنة أيضًا
سيحصل هذا على المسار الكامل إلى دليل الفصول
على سبيل المثال:/d:/workpace/strutstest/webroot/web-inf/classes/
هناك أيضًا this.getClass (). getResource (""). getPath (). toString () ؛
سيحصل هذا على/d:/مساحة العمل/strutstest/webroot/web-inf/classes/bl/
يمكن أيضًا استخدام هذه الطريقة دون تحديد المسار في بيئة الويب.
3.request.getContextPath () ؛
احصل على بيئة سياق جذر الويب
مثل /شجرة
الشجرة هي سياق الجذر لمشروع الويب الخاص بي
5. آخر 2
عدة طرق للحصول على مسارات في جافا - - -
1. كيف يحدد JDK المسار في البرنامج؟ بشكل عام ، في البرمجة ، تنقسم مسارات الملف إلى مسارات نسبية ومسارات مطلقة. المسارات المطلقة أسهل في التعامل معها ، لكنها ليست مرنة. لذلك ، عندما نقوم بتشغيل الملفات في البرمجة ، عادة ما نقرأ المسارات النسبية للملف.
قد يكون المسار النسبي أكثر تعقيدًا قليلاً ، لكنه أيضًا بسيط نسبيًا. يمكن أن يكون المسار النسبي ، بشكل أساسي بالنسبة لمن ، مسار تحميل الفئة ، أو المسار الموجود تحت ملف Java الحالي. في برمجة JSP ، قد يكون طريق الموقع. بالمقارنة مع مسار الموقع ، يمكننا استخدام GetServletContext (). getRealPath ("/") و request.getRealPath ("/"): هذا هو المسار المطلق للحصول على الموقع ؛ و GetContextPath (): احصل على المسار الظاهري للموقع ؛
2. class.getClassloader.getPath (): احصل على المسار إلى تحميل الفئة: ما هو تحميل الفئة؟ بشكل عام ، يتم تعريف اللوائح الفئة بواسطة النظام والمستخدمين أنفسهم ؛ يتم توفير جهاز تحميل فئة النظام من قبل JDK ، ومساره هو المسار الموجود تحت JDK ، أو في برمجة JSP ، مثل Tomcat ، موقع تحميل الفئة الذي تم الحصول عليه هو مسار اللودر المصمم بواسطة Tomaca.
بعد فهم هذه ، سيكون تشغيل مسارات الملف واضحًا تمامًا. عندما نقوم بالبرمجة ، نحتاج فقط إلى معرفة المسار الذي يعمل فيه الملف الذي نديره ويحصل على المسار النسبي.
6. ملخص
1. احصل على مسار الملف ضمن خادم الويب
request.getRealPath ("/")
application.getRealPath ("") 【JSP】
servletcontext (). getRealPath ("")
System.GetProperty ("user.dir") [يسمى في مواقع مختلفة ، يتم تغيير المسار الذي تم الحصول عليه ديناميكيًا]
2. احصل على المسار المحلي
في JSP ، <html: file property = "myfile"/>
request.getParameter ("myfile") ؛
ActionForm.getMyFile () ؛
القيمة التي تم الحصول عليها هي نفسها: مثل دليل تثبيت D:/VSS/user.txt.txt
***************************************
this.getClass (). getClassLoader (). getResource (""). getPath () ؛
==/d:/مساحة العمل/strutstest/webroot/web-inf/classes/
this.getClass (). getResource (""). getPath (). toString () ؛
==/d:/مساحة العمل/strutstest/webroot/web-inf/classes/bl/
3. احصل على المسار النسبي
request.getContextPath () ؛
فضلاً عن ذلك:
GetResource أو GetResourCeasStream متاح في ملفات Java
مثال: getClass (). getResourCeasStream (FilePath) ؛ // يمكن أن يكون FilePath "/اسم FileName" ، هنا/يمثل المسار الافتراضي للفئات/الفئات على الويب ضمن مسار جذر نشر الويب: Web-Inf/Classes. تم اختباره في Tomcat.
الأساليب المختلفة أعلاه (ملخص) من مسارات الحصول على جافا هي كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.