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

آلية طلب خادم خارجي في JSF

بدأه علاء الصالحي في 12 يناير 2011 · 8 رد · 615 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

كيف حالكم يا شباب

في الماضي السحيق عندما كنت سعيد الحظ وكنت أعمل على Servlet و JSP كنت قادر على عمل كل شيء من الألف وحتى كوز الذرة

المشكلة أني أعمل على JSF الرائعة بالطبع الرائعة في توفير العمل في التصميم على الأقل بالنسبة لي أنا الذي لا أفقه عن التصميم شيء :)

المهم أن المرونة التي كنت أحصل عليها من Servlet يبدو أنها ذهبت مع الريح

لن أطيل في البلاغة

مشكلتي أني كنت أيام Servlet أقوم بالاتصال مع أي خادم باستخدام URL و أحصل على كل ما أريد في InputStream أقوم بشبكه مع الـ OutputStream الخاصة بالرد response الخاص بالـ Servlet اليوم أنا غير قادر على استخدام Servlet في JSF

كي يمكن لي الاتصال مع أي خادم

خذوا في حسابكم أني أريد أن أقوم بـ post request لأن من ضمن الأمور المرسلة إلى الخادم الـ username و الـ password

هل من حل لهذا الموضوع؟

هل هناك طريقة لو كنا نتكلم عن JSF application على نفس الخادم؟

تحياتي

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

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

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

728x90.png

#2

كيفك أخي علاء ...

بالنسبه لموضوع POST فإن الوضع الإفتراضي لل method في h:form هي POST .

كل ما هنالك أنك ستقوم بإنشاء backing bean و هو POJO عادي و تقوم بعمل داله به و هي الداله التي ستنفذ في حالة الضغط على الزر (commandButton) "أ" مثلا.

و في الزر "أ" تقول له أن ينفذ هذه الداله

أما بالنسبه للوصول لكل ما كنت تصل إليه في حالة ال Servlets .... فبإمكانك الوصول

إنظر هذا المثال:

http://www.exadel.com/tutorial/jsf/jsftutorial-kickstart.html

1
#3

لم أجد طلبي يا عم هويدي :(

تحياتي

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

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

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

728x90.png

#4

ph34r.gif

طب إيه طلبك بالظبط يا سيد علاء؟

#5

في الماضي أيام Servlet كان يمكنني طلب أي موقع آخر على أساس أنه API

باستخدام HTTPConnection

وأخذ الرد الذي يعطيني اياه الموقع وأقوم بعرضه عندي في موقعي صورة أو ملف word

باستخدام Response مباشرة

هل أستطيع عمل شيء كهذا في JSF؟

تحياتي

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

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

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

728x90.png

#6

أولا ال JSF مبنيه على Servlets..

ثانيا HttpConnection ممكن تكلم أي خادم HTTP بغض النظر عن التكنولوجيا اللي موجوده على الخادم..(Java, php, .net, ....)

#7

قمت بحل المشكلة :)

            	try {                 		
byte[] buffer = new byte[2048];                              	
int length;                 		
while ((length = (url.getStream().read(buffer))) >= 0) {                         		
response.getOutputStream().write(buffer, 0, length);                 		
}                                              	
response.setStatus(200);                                              	
url.close();                 		
response.getOutputStream().flush();                 		
facesContext.responseComplete();         		
}catch (IOException e) {                 		
e.printStackTrace();         		
}

مشكلتي أني لم أكن أعرف بوجود responseComplete

فكنت أظن أن ما أقوم به خطأ مطلق :(

تحياتي

تم تعديل هذه المشاركة بواسطة علاء الصالحي في 13 يناير 2011 في 17:00

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

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

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

728x90.png

#8

أها .. يبدوا أني فهمتك خطأ ..

أنت كنت تريد أن تخاطب HTTP Server من داخل ال JSF :D

#9

هوه أنتا فاكر ايه يا عم :)

تحياتي

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

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

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

728x90.png

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