الدرس الأول : مفهوم jsp :
*********************
بالنسبة لتنزيل التومكات تم شرحه على الرابط /index.ph...ndpost&p=222179
Java Server Pages(jsp) :
هي بكل بساطة عبارة عن ملفات نصية (وثائق) تصف كيفية معالجة طلب (request) من المستخدم(client) ليتم تحديد ووصف طريقة الاستجابة (response) من السيرفر عبر بروتروكول معين (البروتوكول الافتراضي هو HTTP ) وذلك بهدف بناء تطبيقات تضيف محتويات ديناميكية لصفحة الويب (نموذج طلب-استجابة أو form) بحيث يتم تغليف صفحة الويب بإمكانات الجافا .
تملك تقنية الjsp مفاتيح رئيسية تمثل أدوات العمل وهي :
· Directives
· Actions
· Scriptlets
· Tag Libraries
قبل التطرق الى شرح المفاهيم السابقة سأدرج مثال بسيط لنموذج (طلب-استجابة) لتوضيحه لمن يجهله :
افتح النوتباد واكتب فيه (لا تنقل التعداد الرقمي !!!) :
1. <html><body>
2. <% String name=request.getParameter("yrname");
3. if(name!=null){
4. %>
5. <p> hellow <font color="red"><%=name%> </font>
6. <% } else{
7. %>
8. <form action="my_page.jsp" method="get">
9. type your name then click Submit
10. <input type="text" name="yrname">
11. <input type="submit" value="Submit">
12. </form>
13. <% } %>
14. </body></html>سمي الملف my_page.jsp وافتح مجلد التومكات تجد فيه مجلد اسمه webapps افتح فيه مجلدك الخاص
my_dir مثلا وضع فيه الملف السابق
افتح الاكسبلورر واكتب http://localhost:8080/my_dir/my_page.jsp وستظهر صفحة تحوي مربع نص لتكتب اسمك .. عند ضغطك على زر Submit فأنت تقوم ب(طلب)
ما يحدث انه في السطر 2 استعملنا لغة الجافا ضمن اقواس من الشكل <% …%> لتعريف متحول نصي name يأخد قيمة ما تكتبه في مربع النص yrname طلما ليس فارغا ليقوم باستدعاء هذا المتحول في السطر 5 بالشكل <%=name%> لكتابة hellow ثم اسمك باللون الأحمر في صفحة جديدة (استجابة)
طبعا أول مره لفتحك الصفحة سيكون المربع فارغ بالتالي name=null حتما فيتم تجاهل if الى else في السطر 6حيث يتم عرض الفورم
ستتساءل عن العبارة request.getParameter("yrname"); من هو request ومن أين أتى
Request هو متحول ضمني Implicit) ) تم اسناده ضمنيا كنموذج للواجهة HttpServletRequest التي تمثل طلب المستخدم موجودة في الحزمة javax.servlet.http
أما getParameter( ) فهي دالة معرفة في الواجهة HttpServletRequest وهي تأخذ بارامتر يمثل اسم الوسيط الذي سيأتي بمعطيات الطلب (هنا هو مربع النص yrname) ويحوله الى وسيط استجابة name
