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

خطأ في برنامج JSP

مغلق
بدأه خـالد في 19 نوفمبر 2004 · 4 رد · 704 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ..

في نظام التعليم الالكتروني استخدمت تقنية الـ Struts as a controler المتاحة في JDeveloper 10g ومن خلالها أنشأت صفحة JSP اسمها instructor.jsp لعرض المدرسين و أعطيت الخاصية action الموجودة في التاج Form القيمة tutorials.do

Action = "tutorials.do"

وعند تشغيل البرنامج لتجربته طبعاً المتصفح يذهب الى tutorials.do عن طريق الـ xml

المشكلة أن الصفحة لا تظهر ويحدث الخطأ التالي :

503 Service Unavailable
Servlet error: Parsing error processing resource path

مع العلم أني عندما أشغل الصفحة لوحدها (ليس عن طريق الـ xml ) فإن الصفحة تعمل بشكل سليم .. لكن عند تشغيل البرنامج كاملاً يحصل الخطأ .

ملاحظة :

1- بحثت و وجدت معنى الخطأ :

503 Service Unavailable

Server cannot respond due to maintenance or overloading. For example, a servlet might return this header if some thread or database connection pool is currently full. Server can supply a Retry-After header.

لكن ما وجدت الحل ..

2- الآن وأنا أحاول حل المشكلة .. فتحت أحد ملفات الجافا و كان في الأعلى الكود السطر التالي :

import oracle.adf.controller.struts.actions.DataForwardAction;

وفي هذا السطر خطأ يقول أنه لم يتمكن من ايجاد الكلاس Can not found class

ربما تكون المشكلة في ClassPath او شيء من متغيرات البيئة ؟؟؟

أنا عندي شك بأن السبب هو في الـ mapping الموجود في ملف web.xml او في ملف struts-config.xml او في تعرف البرنامج على الكلاسات .

أريد الحل

#2

انت اين و ضعت الكلاس

import oracle.adf.controller.struts.actions.DataForwardAction;

و يرجى منك ارفاق المشروع لانه هكذا لم افهم شئ ما هو النظام التعليمي الذي تتحدث عنه... ما فهمته انه عندك مشكلتان اليس كذلك

جرب و ضع جميع الكلاسات المستخدمة في ملف jar ضمن classes

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#3

أشكرك

نظام التعليم الالكتروني الذي اتحدث عنه هو برنامج لمعهد معين (أو اي جهة تعليمية) ، من خلاله يتمكن الأستاذ من اضافة مواد مرئية تساعده في الشرح و يمكنه اضافة دروس و اسناد واجبات و وضع كتب كمراجع للطلاب . ويمكن للطالب أن يضيف تعليق أو سؤال على الدرس أو المادة المرئية (تحقيقاً لمبدأ التفاعل التعليمي) .

البرنامج يعمل باستخدام

Oracle as a db

JSP as a programming language

JDeveloper10g as development tool

استخدمت تقنية Struts المتاحة في JDeveloper ومن خلالها وضعت صفحة jsp و لكل صفحة jsp هناك ملف جافا يمكن معالجة الاحداث من خلاله . في هذا الملف وجدت السطر التالي ( generated code) :

import oracle.adf.controller.struts.actions.DataForwardAction;

طبعاً المشكلة هو أن هذا الكلاس غير معروف .. وجربت وضعته في ملف textpad لأجربه بشكل عادي خارج بيئة JDev وللاسف استمرت نفس المشكلة ..

وجربت حتى import oracle.sql و ايضاً يظهر نفس الخطأ .. لا يمكنه التعرف على الكلاس ..

عملاً بأن الكلاس oracle.adf.controller.struts.actions.DataForwardAction موجود في مجلد من مجلدات الـ JDeveloper

هذه هي المشكلة الأولى .

المشكلة الثانية هي ظهور رسالة خطأ :

503 Service Unavailable
Servlet error: Parsing error processing resource path

وهذا الخطأ كان يظهر في أول تجاربي للبرنامج وقبل وصولي لمرحلة معالجة الأحداث ، أما الآن وعندما دخلت على الكود و جدت الخطأ في التعرف على الكلاس .. فلم يعد يعمل البرنامج بالكامل لأن الكومبايل لا يتم بنجاح .

أما عن ارفاق البرنامج فهو مرتبط بمشروع كامل في JDeveloper وفي بيئته الكثير من الكلاسات ولا أعتقد أنه سيعمل الا بارفاق كل الملفات وهذا كبير جداً .

لك الشكر والتقدير

تم تعديل هذه المشاركة بواسطة خـالد في 19 نوفمبر 2004 في 16:01

#4

جرب افتح كود هذا الكلاس و تاكد من الباكيج و اذا كان هذا الكلاس يعمل بمفرده (اي غير مرتبط بكلاسات التي بجواره) شيل سطر باكيج كله على بعضه و ضع الكلاس على الوجه اي في اعلى مكان يمكن ان يعمل به

و اعد التجربة ... لانه مو معقول يتعرف على كل الكلاسات اى هذا

و هل جربت ما قلته لك في المشاركة السابقة و لا لأ و اذا جربتها شو صار معك

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#5

لك الشكر كل الشكر أخ رامي العيساوي ..

و أخيراً .. اتضحت المشكلة وهي أن ADF Controller Runtime Libraries غير معروفة للـ JDev و قمت بتعريفها و انتهت المشكلة .

كيفية حل المشكلة :

Tools >> manage Libraries

ستفتح لك شاشة وفيها مربع في اليسار يحتوي على المكتبات المتاحة .. ومربع في اليمين و يحتوي المكتبات المختارة فعلاً والتي اضيفت الى مشروعك ، اذا كان الـ JDev لديه مشكلة في التعرف على احد هذه المكتبات فإنه سيعرضه باللون الأحمر . وهذا ما حصل معي بالضبط ..

وجدت ADF Controller Runtim باللون الاحمر ..

حدد المكتبة المطلوب تعريفها واضغط على زر edit ستجد أن مربع حوار انفتح يطلب منك ثلاثة أن تحدد الـ path لثلاثة أشياء :

ADF Controller Runtime Library وهوملف jar الأهم لحل المشكلة

و ADF Controller Runtime Source وهي ملفات الجافا للمكتبة

و ADF Controller Runtime Doc

أنا وجدت ملفات الجار و ملفات الجافا في

 <JDev-Home>/JDev/adfc/

بحيث <JDev-Home> هو المكان الذي تم فيه تثبيت الـ JDeveloper

أشكر للجميع حسن المتابعة :rolleyes:

هذا الموضوع مغلق.

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