الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

شرح : نشر برنامج أو بريمج باستخدام Java Web Start (jws)

بدأه rohaili في 15 ديسمبر 2009 · 4 رد · 3,304 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بســم الله الـرحمــن الرحيــم

السلام عليكــم ورحمـة الله وبركاتــه ،،

اللهم يا معلم آدم علمنا ويا مفهم سليمان فهمنا ، سبحانك لا علم لنا إلا ما علمتنا إنك أنت علام الغيوب .

الشرح التالي باستخدام بيئة التطوير netbeans

لإنشاء الملف .jnlp الخاص بالمشروع نتبع الخطوات التالية :

* من القائمة projects إضغط بالزر الأيمن على المشروع ثم properties .

* من القائمة categories إختر web start .

* ضع صح على enable web start .

* من القائمة codebase إختر local execution وسيظهر لك مسار الذي سوف يوضع فيه الملف .jnlp ، هذا الاختيار يمكنك من تجريب المشروع على جهازك ( كما سوف اوضح لك بعد قليل ) ، أو جعل البرنامج يعمل على جهازك فقط .

أما الآن فاختر user defined لأننا نريد النشر على الانترنت .

* الخيار icon لاختيار رمز للبرنامج والخيار allow offline للسماح للبرنامج بالعمل في حالة عدم الاتصال بالانترنت .

* ضع صح على self-signed ( تعني توقيع المشروع رقميا بنقرة واحدة ليس كما نفعل قديما !) لكي يتمكن المشروع من الوصول للملفات والحافظة ، فقط إذا أردت الوصول لللملفات أو الحافظة وما شابههما كما هو الحال في المشروع المرفق .

* اختر application descriptor اذا كان المشروع برنامج وليس بريمج (applet) .

* اختر applet descriptor اذا كان المشروع بريمج (applet) .

* أخيرا اضغط على ok .

* سوف تصبح النافذة في حالة البرنامج كالتالي :

post-63809-12608776855854_thumb.jpg

سوف تصبح النافذة في حالة البريمج كالتالي :

post-63809-12608776950092_thumb.jpg

* من القائمة projects إضغط بالزر الأيمن على المشروع ثم clean and build .

* سوف ينشأ المعالج ملفان جديدان بجوار الملف jar للمشروع في المجلد dist هما :

ملاحظة : يمكن استعراض مجلد المشروع من القائمة files .

الأول launch.html : يمكنك من تجربة المشروع في صفحة انترنت مباشرة ، ويضرب لك مثالا على كيفية ربط المشروع بالصفحة .

ملاحظة : لتجربة المشروع إذاكنت قد اخترت local execution في codebase الذي ذكرناه سابقا فما عليك إلا الضغط على هذا الملف بالزر الأيمن ثم اختر view سوف تفتح الصفحة في المستعرض ومن ثم اضغط على الرابط الوحيد في الصفحة وسوف يشتغل البرنامج أما البريمج فسوف يشتغل مباشرة مع الصفحة .

هذا الملف في حالة البرنامج يحتوي على رابط للملف jnlp كالتالي :


<a href="launch.jnlp">Launch the application</a>

الخاصية href تحتوي على اسم الملف .jnlp الذي يحتوي على معلومات البرنامج .

أما في حالة الأبلت فيحتوي على وسم الأبلت التالي :


<applet width="300" height="300">
<param name="jnlp_href" value="launch.jnlp"/>
</applet>

ونلاحظ أنه يحتوي على باراميتر قيمته هي اسم ملف .jnlp المحتوي على معلومات البريمج .

ويمكن استبدال الرابط التالي بوسم الأبلت السابق ، وسوف يعمل البريمج عند الضغط على الرابط فقط لكن في نافذة خارج المستعرض .


<a href="launch.jnlp">applet</a>

الثاني launch.jnlp :

ويحتوي على الوسم jnlp ونلاحظ وجود الخاصية codebase التي تحدد المسار لكل الملفات المذكورة في هذا الوسم ، أما الخاصية href فتحدد اسم الملف الموجود به الوسم jnlp (نفس الملف ! ) وفي حال اختلف اسم الملف مع الاسم المذكور في هذة الخاصية فلن تتمكن من تشغيل المشروع باستخدام jws ، ويمكن حذف هذا الوسم بدون حدوث مشاكل .

* ولتجربة الكلام السابق أنشأت ثلاث مشروعات موجودة في المرفقات :

الأول openfile : برنامج يستعرض الملفات ويعود بمسار الملف المحدد .

الثاني openfileapplet : بريمج يستعرض الملفات ويعود بمسار الملف المحدد .

الثالث openfilejnlp : تطبيق انترنت : يحتوى على صفحة يوجد بها روابط لتشغيل المشروعان السابقان .

* من القائمة projects افتح مجلد البريمج المسمى openfileapplet ثم المجلد dist ، وغير اسم الملف launch.jnlp إلى launch2.jnlp ثم افتحه وغير قيمة href في الوسم jnlp إلى launch2.jnlp لكي تصبح مطابقة لاسم الملف .

* من القائمة projects انسخ المجلد والملفات الظاهرة في الصورة إلى المجلد web pages الخاص بتطبيق الانترنت كما ترى في الصورة .

post-63809-12608777395917_thumb.jpg

post-63809-12608777708195_thumb.jpg

أظنك الآن عرفت لماذا غيرنا اسم الملف !

* لقد وضعنا الملفات والمجلد بجوار الملف index.jsp ، إذا سوف يكون مسار الملفات هو نفس مسار الصفحة index ، ولمعرفة مسارها شغل تطبيق الانترنت أو اضغط على الصفحة بالزر الأيمن واختر run file ، كما ترى في الصورتين التاليتين .

post-63809-12608777799118_thumb.jpg

post-63809-12608778116487_thumb.jpg

إذا مسار ملفا .jnlp وكذلك .jar هو


http://localhost:8084/openfilejnlp/

* نلصق هذا المسار في الخاصية codebase في الوسم jnlp في كلا ملفي .jnlp كالتالي :


<jnlp codebase="http://localhost:8084/openfilejnlp/" href="launch2.jnlp" spec="1.0+">

* نضيف الوسوم التالية لصفحة index.jsp :


<a href="launch.jnlp">application</a>

<applet width="300" height="300">
<param name="jnlp_href" value="launch2.jnlp"/>
</applet>

<a href="launch2.jnlp">applet</a>

الأول : رابط للبرنامج .

الثاني : يدرج البريمج مباشرة في الصفحة .

الثالث : رابط لتشغيل البريمج في نافذة خارج المستعرض .

سوف تظهر الصفحة كالتالي .

post-63809-1260877822829_thumb.jpg

للإستزادة حول هذا الموضوع يمكن زيارة الروابط التالية :

/index.php?showtopic=146230&st=0&p=740844&hl=jnlp&fromsearch=1entry740844

http://java.sun.com/docs/books/tutorial/deployment/webstart/deploying.html

http://java.sun.com/javase/6/docs/technotes/guides/javaws/developersguide/faq.html

هذا ما أعانني الله على شرحه ، فما كان من صواب فمن الله وحده ، وما كان من خطأ فمني والشيطان .

والحمد لله رب العالمين .

openfile.zip

openfileapplet.zip

openfilejnlp.zip

تم تعديل هذه المشاركة بواسطة rohaili في 15 ديسمبر 2009 في 15:14

3

300_130.gif

#2

ممتاز أخي الكريم ، جزيت خيرا ...

الWeb Start طريقة جيدة لنشر Deploy تطبيقات الجافا Desktop App، وتقريبا جميع الأمثله التي توجد على المواقع (مثل sun tutorial) أصبحت تستخدم هذه الطريقة ،، قديما كان يستخدم الApplet ولكن الWeb Start أفضل بكثير ،،

بالتوفيق ،

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#3

ما لا أحبه في ملفات jnlp هو أنه المتصفحات لا تربطه دائما مع البرنامج javaws، يعني لما المتصفح يطلب من المستخدم اختيار البرنامج الذي يجب استخدامه لفتح الملف، لن يعرفه بالتأكيد إلا إذا كان خبيرا في الجافا

#4

شكرا لك ... ، سأقوم بتجربتها قريبا وسأعرض تجربتي هنا ان شاء الله تعالى

#5

هل كل المتصفحات تعاني هذه المشكلة يا عصام؟

أخ rohaili شكراً على الطريقة

وشكراً آخرى على التنبيه على موضوع الأخ فارس ناصر

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

مواضيع مشابهة