sd4it بتاريخ: 28 مارس 2012 تقديم بلاغ مشاركة بتاريخ: 28 مارس 2012 من يتعامل مع الشاشات يجد أنه يستطيع استخدام JSP أو JSPX أو Facelet ، وفي هذه المقالة نتعرف على الفرق بين هذه الملفات.بداية نوضح أن امتداد الملف ليس هو ما يحدد نوع الملف بل محتويات الملف هي المحدد الفعلي لنوع الملف ، ولنستعرض كل ملف على حدة.أولاً: JSP:JSP هي الملف الذي يمكنك فيه كتابة HTML مع جافا من خلال العناصر الستة المعروفة فيه (Declaration - Expression - Scriptlet - Action - Comment - Directive) ويعتبر هذا التكنيك قديم حيث أنه يخلط بين مهام التصميم بـ HTML والبرمجة بالجافا كما أنه لا يوفر أي أدوات جاهزة للاستخدام بل يجب عليك كتابة كل شئ تقريباً من الصفر ، صحيح أن هذا يعطي تحكم كامل في البرنامج ولكنه يأتي على حساب الوقت والجهد.ومع ظهور وانتشار دوت نت بدأت شركة صن تنتبه غلى أنها تخسر سوقاً وقطاعاً كبيراً من المبرمجين الذين يريدون السهولة التي تتميز بها مايكروسوفت دائماً وبالتالي بدأت في تطوير أدوات جاهزة للاستخدام ، ومن هنا بدأ ظهور JSF.ثانياً: JSF و Facelets:هو تطوير لملف JSP يحتوي على مكتبات تساعد في بناء الشاشة بشكل سريع ، وتختلف صفحة JSF عن صفحة JSP التقليدية في التالي:1. لا بد من تضمين مكتبات JSF في الصفحة عن طريق السطرين التاليين<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%><%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>2. لا بد أن يكون المكون الأساسي في الصفحة هو <f:view>3. يتم داخل الصفحة استخدام أدوات مكتبات JSF من inputText وخلافههذا يعني أنه لو كانت لدي صفحة JSP التقليدية وأحببت أن أغيرها إلى صفحة JSF فيكفي أن أقوم بالخطوات الصلاثة الموضحة أعلاه وبالتالي يتم تحويلها إلى صفحة JSF.لاحظ أن امتداد الملف يظل jsp وهذا يثبت أن المحتويات هي الفيصل وليس الامتداد.ولعدم حدوث خلط بين JSP و JSF (نظراً لأن الامتداد واحد) فقد تم إطلاق مصطلح Facelets على أي صفحة JSP تستخدم بالكامل أدوات JSF وتتبع قواعد XML في طريقة كتابة الصفحة كما أنه لا يفضل وجود كود HTML فيها (بالرغم من أن ذلك مسموح به) وتم في JDeveloper R2 تغيير الامتداد ليصبح jsf للتمييز الإضافي بين الاثنينثالثاً: JSPX:ملف JSPX هو ملف JSP ولكن يتم كتابته بطريقة XML أي أن له علامة واحدة رئيسية Single Root Tag ولا بد من إغلاق العلامات بنفس ترتيب فتحهم ... إلخ.وللعلم فإن هذه الطريقة معروفة منذ زمن بعيد حيث كان يمكن كتابة ملف JSP بطريقة XML وكانت هذه الطريقة تجعل من الممكن كتابة كود برمجي يقوم بقراءة ملف JSP على أنه ملف XML وبالتالي لو أحبببت مثلاً أن اقوم بإضافة علامة جديدة في كل الصفحات فيمكن التنفيذ ولكن بالكبع لو الملف ليس له قواعد واضحة فلن توجد طريقة غير قراءة الملف Parsing التي تعتبر أصعب كثيراً ونتائجها غير مضمونة وتحتمل الخطأ بشكل أكبر.إذن ملف JSPX هو ملف JSP مكتوب بصيغة XML ليس أكثر ، وتختلف صفحة JSPX عن صفحة JSF في التالي:1. تبدأ الصفحة بالتالي<?xml version='1.0' encoding='UTF-8'?><jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:af="http://xmlns.oracle.com/adf/faces/rich"><jsp:directive.page contentType="text/html;charset=UTF-8"/>2. تنتهي الصفحة بالتالي</jsp:root>3. تتبع قواعد XML في كتابة العلاماتأيهم أختار؟بالطبع هذا سؤال منطقي حيث توجد لدينا ثلاثة اختيارات ، إذن متى أختار العمل بأي منهم؟بداية بالنسبة لصفحة JSP التقليدية فهذه تقنية قديمة وبالتالي ليس من المفروض استخدامها إلا إذا كنت تستخدم Servlet and JSP في التطوير (وهذه لا تزال موجودة في بعض الأماكن نظراً لعدم رغبتهم في التحديث) ، ففي هذه الحالة تكون مجبر على صفحة JSP التقليديةبالنسبة لصفحة Facelets أو JSPX فاختر JSPX إذا كان لديك النية لقراءة الملف برمجياً للتعديل فيه أو كنت تريد بناء portal باستخدام Web Center أو كنت تريد استخدام MDS ، أما عدا ذلك فيمكنك استخدام Facelets لأن مسالة التزام قواعد XML تكون مزعجة أحياناً لأنه مثلاً إذا أحببت كتابة HTML مثل <br> فيجب كتابتها <br/>أيهم أسرع؟سرعة Facelets و JSPX تعتبر واحدة والاثنين في حالة يعتبران أسرع وفي حالة أخرى أبطأ.Facelets و JSPX أسرع من JSP في عملية الترجمة لأن ملف JSP يقوم بعملية الترجمة إلى Servlet في حين أن Facelets تقوم بقراءة الملف على هيئة XML وبالتالي تعتبر أسرع في القراءة ولكن لو تكلمنا على النظام بأكمله فإن صفحة Facelets (خاصة مع تقنية ADF) تمر بدورة حياة Life Cycle أكبر من صفحة JSP التقليدية ولذلك نجد أن النظام المعتمد على JSP أسرع من نظيره المبني بتقنية ADF ولكن مع تطور التقنية وتطور الهاردوير لم يعد الفارق بالشئ الكبير خاصة مع الخدمات الرائعة التي تقدمها أدوات ADF وبالتالي باستخدام هاردوير جيد فسيكون أداء ADF عالي جداً خاصة بعد ضبط إعدادات Web Logic.أرجو أن يكون الفرق قد وضح للكل. 9 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mhawad بتاريخ: 28 مارس 2012 تقديم بلاغ مشاركة بتاريخ: 28 مارس 2012 مشكور أخ مصطفىوجزاك الله خيرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
oracle_itself بتاريخ: 6 أبريل 2012 تقديم بلاغ مشاركة بتاريخ: 6 أبريل 2012 مشكور أخ مصطفىوجزاك الله خيرا من يتعامل مع الشاشات يجد أنه يستطيع استخدام JSP أو JSPX أو Facelet ، وفي هذه المقالة نتعرف على الفرق بين هذه الملفات.بداية نوضح أن امتداد الملف ليس هو ما يحدد نوع الملف بل محتويات الملف هي المحدد الفعلي لنوع الملف ، ولنستعرض كل ملف على حدة.أولاً: JSP:JSP هي الملف الذي يمكنك فيه كتابة HTML مع جافا من خلال العناصر الستة المعروفة فيه (Declaration - Expression - Scriptlet - Action - Comment - Directive) ويعتبر هذا التكنيك قديم حيث أنه يخلط بين مهام التصميم بـ HTML والبرمجة بالجافا كما أنه لا يوفر أي أدوات جاهزة للاستخدام بل يجب عليك كتابة كل شئ تقريباً من الصفر ، صحيح أن هذا يعطي تحكم كامل في البرنامج ولكنه يأتي على حساب الوقت والجهد.ومع ظهور وانتشار دوت نت بدأت شركة صن تنتبه غلى أنها تخسر سوقاً وقطاعاً كبيراً من المبرمجين الذين يريدون السهولة التي تتميز بها مايكروسوفت دائماً وبالتالي بدأت في تطوير أدوات جاهزة للاستخدام ، ومن هنا بدأ ظهور JSF.ثانياً: JSF و Facelets:هو تطوير لملف JSP يحتوي على مكتبات تساعد في بناء الشاشة بشكل سريع ، وتختلف صفحة JSF عن صفحة JSP التقليدية في التالي:1. لا بد من تضمين مكتبات JSF في الصفحة عن طريق السطرين التاليين<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%><%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>2. لا بد أن يكون المكون الأساسي في الصفحة هو <f:view>3. يتم داخل الصفحة استخدام أدوات مكتبات JSF من inputText وخلافههذا يعني أنه لو كانت لدي صفحة JSP التقليدية وأحببت أن أغيرها إلى صفحة JSF فيكفي أن أقوم بالخطوات الصلاثة الموضحة أعلاه وبالتالي يتم تحويلها إلى صفحة JSF.لاحظ أن امتداد الملف يظل jsp وهذا يثبت أن المحتويات هي الفيصل وليس الامتداد.ولعدم حدوث خلط بين JSP و JSF (نظراً لأن الامتداد واحد) فقد تم إطلاق مصطلح Facelets على أي صفحة JSP تستخدم بالكامل أدوات JSF وتتبع قواعد XML في طريقة كتابة الصفحة كما أنه لا يفضل وجود كود HTML فيها (بالرغم من أن ذلك مسموح به) وتم في JDeveloper R2 تغيير الامتداد ليصبح jsf للتمييز الإضافي بين الاثنينثالثاً: JSPX:ملف JSPX هو ملف JSP ولكن يتم كتابته بطريقة XML أي أن له علامة واحدة رئيسية Single Root Tag ولا بد من إغلاق العلامات بنفس ترتيب فتحهم ... إلخ.وللعلم فإن هذه الطريقة معروفة منذ زمن بعيد حيث كان يمكن كتابة ملف JSP بطريقة XML وكانت هذه الطريقة تجعل من الممكن كتابة كود برمجي يقوم بقراءة ملف JSP على أنه ملف XML وبالتالي لو أحبببت مثلاً أن اقوم بإضافة علامة جديدة في كل الصفحات فيمكن التنفيذ ولكن بالكبع لو الملف ليس له قواعد واضحة فلن توجد طريقة غير قراءة الملف Parsing التي تعتبر أصعب كثيراً ونتائجها غير مضمونة وتحتمل الخطأ بشكل أكبر.إذن ملف JSPX هو ملف JSP مكتوب بصيغة XML ليس أكثر ، وتختلف صفحة JSPX عن صفحة JSF في التالي:1. تبدأ الصفحة بالتالي<?xml version='1.0' encoding='UTF-8'?><jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:af="http://xmlns.oracle.com/adf/faces/rich"><jsp:directive.page contentType="text/html;charset=UTF-8"/>2. تنتهي الصفحة بالتالي</jsp:root>3. تتبع قواعد XML في كتابة العلاماتأيهم أختار؟بالطبع هذا سؤال منطقي حيث توجد لدينا ثلاثة اختيارات ، إذن متى أختار العمل بأي منهم؟بداية بالنسبة لصفحة JSP التقليدية فهذه تقنية قديمة وبالتالي ليس من المفروض استخدامها إلا إذا كنت تستخدم Servlet and JSP في التطوير (وهذه لا تزال موجودة في بعض الأماكن نظراً لعدم رغبتهم في التحديث) ، ففي هذه الحالة تكون مجبر على صفحة JSP التقليديةبالنسبة لصفحة Facelets أو JSPX فاختر JSPX إذا كان لديك النية لقراءة الملف برمجياً للتعديل فيه أو كنت تريد بناء portal باستخدام Web Center أو كنت تريد استخدام MDS ، أما عدا ذلك فيمكنك استخدام Facelets لأن مسالة التزام قواعد XML تكون مزعجة أحياناً لأنه مثلاً إذا أحببت كتابة HTML مثل <br> فيجب كتابتها <br/>أيهم أسرع؟سرعة Facelets و JSPX تعتبر واحدة والاثنين في حالة يعتبران أسرع وفي حالة أخرى أبطأ.Facelets و JSPX أسرع من JSP في عملية الترجمة لأن ملف JSP يقوم بعملية الترجمة إلى Servlet في حين أن Facelets تقوم بقراءة الملف على هيئة XML وبالتالي تعتبر أسرع في القراءة ولكن لو تكلمنا على النظام بأكمله فإن صفحة Facelets (خاصة مع تقنية ADF) تمر بدورة حياة Life Cycle أكبر من صفحة JSP التقليدية ولذلك نجد أن النظام المعتمد على JSP أسرع من نظيره المبني بتقنية ADF ولكن مع تطور التقنية وتطور الهاردوير لم يعد الفارق بالشئ الكبير خاصة مع الخدمات الرائعة التي تقدمها أدوات ADF وبالتالي باستخدام هاردوير جيد فسيكون أداء ADF عالي جداً خاصة بعد ضبط إعدادات Web Logic.أرجو أن يكون الفرق قد وضح للكل. Excellent Eng.Mostafa .. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sakr_orcl بتاريخ: 13 أبريل 2012 تقديم بلاغ مشاركة بتاريخ: 13 أبريل 2012 جزاك الله خيراتحياتي لك وتمنياتي بالتوفيق لك دائما اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
saad ORACLE بتاريخ: 23 ديسمبر 2012 تقديم بلاغ مشاركة بتاريخ: 23 ديسمبر 2012 ما شاء الله تبارك الله الله يعطيك العافية اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ramiora بتاريخ: 24 ديسمبر 2012 تقديم بلاغ مشاركة بتاريخ: 24 ديسمبر 2012 شكرا على هذه المعلومات اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
DBProgrammer بتاريخ: 2 يناير 2013 تقديم بلاغ مشاركة بتاريخ: 2 يناير 2013 جزاك الله خير اخ مصطفى . اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
MARCELO بتاريخ: 29 سبتمبر 2014 تقديم بلاغ مشاركة بتاريخ: 29 سبتمبر 2014 موضوع جميل جدا اتمنى المزيد مثل هذه المواضيع وشكرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
al3a8eb بتاريخ: 10 نوفمبر 2014 تقديم بلاغ مشاركة بتاريخ: 10 نوفمبر 2014 جزاك الله ألف خير يا أخي مصطفى .... وإن شاء الله في ميزان حساناتك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
visiterman بتاريخ: 22 يناير 2015 تقديم بلاغ مشاركة بتاريخ: 22 يناير 2015 شكرا...على التوضيح وجزاك الله خيرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sd4it بتاريخ: 25 يناير 2015 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 25 يناير 2015 شكراً لكم جميعاً اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمد عمر مكي بتاريخ: 17 يناير 2016 تقديم بلاغ مشاركة بتاريخ: 17 يناير 2016 عند الرغبة في إضافة صفحة JSF من خلال ADF وأقوم بكل الخطوات اللازمة تنتج لي صفحة JSP جبراً ولا أعلم لذلك سبب علماً بأنني أقوم بالخطوات كالتي كما هو موضح في الصورة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sd4it بتاريخ: 19 يناير 2016 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 19 يناير 2016 ليست إجباراً ولديك اختيار jspx في أول اختيار لديك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sd4it بتاريخ: 19 يناير 2016 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 19 يناير 2016 أما اختيار jsf فيظهر في الإصدارات الأحدث من JDeveloper الواضح أنك تستخدم إصداراً قديماً اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.