Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

الدرس الثالث عشر

231 vues

Publié le

الدرس الثالث عشر

Publié dans : Logiciels
  • Soyez le premier à commenter

الدرس الثالث عشر

  1. 1. ‫الرحيم‬ ‫الرحمن‬ ‫هللا‬ ‫بسم‬ ‫الـ‬ ‫عناصر‬ ‫بعض‬ ‫بأخذ‬ ‫نبدأ‬ ‫سوف‬ ‫اليوم‬JSP ‫الدرس‬ ‫هذا‬ ‫في‬ ‫سنأخذه‬ ‫ما‬: ‫الـ‬ ‫في‬ ‫الجافا‬ ‫كود‬ ‫استدعاء‬JSP ‫شرح‬‫عنصر‬JSP expressions ‫عنصر‬ ‫شرح‬JSP scriptlets ‫عنصر‬ ‫شرح‬JSP declarations ‫مسبقا‬ ‫المعرفة‬ ‫المتغيرات‬ ‫التدريب‬ ‫أجل‬ ‫من‬ ‫وجبات‬ ‫الجافا‬ ‫كود‬ ‫استدعاء‬‫الـ‬ ‫في‬JSP ‫الجافا‬ ‫كود‬ ‫استدعاء‬ ‫أجل‬ ‫من‬‫واستخدام‬‫الـ‬ ‫في‬ ‫الديناميكي‬ ‫التوليد‬JSP‫وهذا‬ ‫استخدمها‬ ‫يمكنك‬ ‫طرق‬ ‫عدة‬ ‫هناك‬ ‫وهذا‬ ‫استخدامه‬ ‫عليك‬ ‫الذي‬ ‫النهج‬ ‫تحديد‬ ‫تستطيع‬ ‫أن‬ ‫األهم‬ ‫ولكن‬ ‫مشروعة‬ ‫كلها‬ ‫السفلي‬ ‫الشكل‬ ‫الموضح‬ ‫الطرق‬ ‫ال‬ ‫المشاريع‬ ‫حال‬ ‫في‬ ‫تعقيده‬ ‫ومدا‬ ‫مشروع‬ ‫طبيعة‬ ‫على‬ ‫يتوقف‬‫بسيطة‬‫ولكن‬ ‫جيد‬ ‫سيكون‬ ‫المباشر‬ ‫األسلوب‬ ‫فأن‬ ‫استخدام‬ ‫فهنا‬ ‫المشاريع‬ ‫تتعقد‬ ‫عندما‬‫األسلوب‬‫في‬ ‫وصعوبة‬ ‫والتطوير‬ ‫الصيانة‬ ‫في‬ ‫عبئ‬ ‫يشكل‬ ‫سوف‬ ‫المباشر‬ ‫العمل‬ ‫المشروع‬ ‫لتطوير‬ ‫عمل‬ ‫فريق‬ ‫تشكيل‬.‫المباشر‬ ‫األسلوب‬ ‫ضمن‬ ‫نعمل‬ ‫وسوف‬ ‫الدرس‬ ‫هذا‬ ‫وفي‬. ‫أو‬ ‫الصغيرة‬ ‫التطبيقات‬ ‫صغير‬ ‫عمل‬ ‫فريق‬ ‫التطبيقات‬‫ال‬‫معقد‬‫ة‬‫أو‬ ‫كبير‬ ‫عمل‬ ‫فريق‬ ‫جافا‬ ‫كود‬ ‫استدعاء‬‫المباشر‬(directly).‫تعليمات‬ ‫كافة‬ ‫وضع‬ ‫فيها‬ ‫ويمكنك‬ ‫الـ‬ ‫صفحة‬ ‫في‬ ‫الجافا‬JSP. ‫جافا‬ ‫كود‬ ‫استدعاء‬‫مباشر‬ ‫الغير‬(indirectly).‫صفوف‬ ‫بتطوير‬ ‫تتعلق‬ ‫الـ‬ ‫الصفحة‬ ‫عن‬ ‫منفصلة‬ ‫مساعدة‬JSP.‫تعليمات‬ ‫أدراج‬ ‫تستطيع‬ ‫وهنا‬ ‫جافا‬‫الـ‬ ‫صفحات‬ ‫في‬JSP‫الصفوف‬ ‫من‬‫المساعدة‬ ‫الصفوف‬ ‫خالل‬. ‫الـ‬ ‫التاغ‬ ‫استخدام‬Action‫بـ‬ ‫يسمى‬ ‫ما‬ ‫أو‬beans.‫بينية‬ ‫وهي‬‫مطورة‬ ‫يكون‬ ‫واستدعائها‬ ‫خاص‬ ‫بشكل‬jsp:useBean, jsp:getProperty, ‫الطرق‬ ‫من‬ ‫وغيرها‬‫و‬‫س‬‫ن‬‫المقبلة‬ ‫الدروس‬ ‫في‬ ‫تعلمها‬. ‫بنية‬ ‫استخدام‬MVC.‫السرفلت‬ ‫من‬ ‫كل‬ ‫نستعمل‬ ‫سوف‬ ‫هنا‬‫والـ‬JSP‫مع‬ ‫في‬ ‫العمل‬ ‫كيفية‬ ‫وسنأخذ‬ ‫بعض‬MVC‫المقبلة‬ ‫الدروس‬ ‫في‬. ‫اللغة‬ ‫التعبير‬ ‫عناصر‬ ‫استخدام‬.‫أجل‬ ‫من‬ ‫مختصرة‬ ‫عبارات‬ ‫نستخدم‬ ‫هنا‬ ‫عادا‬ ‫وهذه‬ ‫الناتج‬ ‫الغرض‬ ‫خصائص‬ ‫على‬ ‫و‬ ‫المورد‬ ‫على‬ ‫الحصول‬ ‫تستخدم‬‫مع‬ ‫باالشتراك‬‫الـ‬beans‫الـ‬ ‫و‬MVC.‫بعد‬ ‫فيما‬ ‫سنتعلمها‬ ‫تاغات‬ ‫استخدام‬‫الخاصة‬.‫ت‬‫الـ‬ ‫في‬ ‫بك‬ ‫الخاصة‬ ‫تاغات‬ ‫بناء‬ ‫ستطيع‬JSP‫وهذا‬ ‫الدورة‬ ‫هذا‬ ‫من‬ ‫المتقدم‬ ‫القسم‬ ‫في‬ ‫نأخذه‬ ‫سوف‬ ‫الـ‬ ‫عناصر‬ ‫نشرح‬ ‫سوف‬ ‫الدرس‬ ‫هذا‬ ‫في‬scripting‫المباشرة‬ ‫طرق‬ ‫من‬ ‫وهي‬ ‫عناصر‬ ‫ثالث‬ ‫إلى‬ ‫تنقسم‬ ‫وهي‬. ‫الـ‬ ‫عناصر‬ ‫أنوع‬scripting‫بالـ‬JSP ‫ن‬ ‫سوف‬ ‫وبعدها‬ ‫الـ‬ ‫لعناصر‬ ‫بسيط‬ ‫شرح‬ ‫نذكر‬ ‫سوف‬ ‫اآلن‬‫لوحده‬ ‫عنصر‬ ‫كل‬ ‫شرح‬. ‫الثالثة‬ ‫العناصر‬: 1.‫التعبير‬(Expressions:)‫الشكل‬ ‫بهذا‬ ‫تكتب‬ ‫وهي‬<%Java Expression=%>‫القيمة‬ ‫حساب‬ ‫ويتم‬ ‫قيمتها‬ ‫وطباعة‬ ‫العبارة‬ ‫هذا‬ ‫في‬‫الـ‬ ‫في‬ ‫توضع‬ ‫وهي‬output‫لسرفلت‬ ‫الصفحة‬ ‫ترجمة‬ ‫يتم‬ ‫عندما‬. 2.‫السكربتلت‬(Scriptlets:)‫الشكل‬ ‫بهذا‬ ‫تكتب‬ ‫وهي‬<% Java Code %>‫البيانات‬ ‫معالجة‬ ‫يتم‬ ‫فيها‬ ‫الطريقة‬ ‫ضمن‬ ‫توضع‬ ‫وهي‬ ‫والطلبات‬jspService‫التي‬‫الطريقة‬ ‫السرفلت‬ ‫في‬ ‫يقابلها‬service. 3.‫اإلعالن‬ ‫أو‬ ‫التصريح‬(Declarations:)‫الشكل‬ ‫بهذا‬ ‫تكتب‬ ‫وهي‬<%! Field/Method Declaration %> ‫د‬ ‫صفوف‬ ‫أو‬ ‫طرق‬ ‫أو‬ ‫المتحوالت‬ ‫عن‬ ‫التصريح‬ ‫أجل‬ ‫من‬ ‫تستخدم‬ ‫وهي‬‫وكل‬ ‫الصفحة‬ ‫داخل‬ ‫أي‬ ‫اخلية‬ ‫عن‬ ‫الصف‬ ‫داخل‬ ‫في‬ ‫تحشر‬ ‫التصريحات‬ ‫هذا‬‫د‬‫سرفلت‬ ‫إلى‬ ‫الصفحة‬ ‫تحويل‬.
  2. 2. ‫عنصر‬ ‫شرح‬JSP Expressions ‫الـ‬ ‫عنصر‬ ‫يستخدم‬Expressions‫الـ‬ ‫صفحة‬ ‫في‬ ‫مباشر‬ ‫بشكل‬ ‫قيمة‬ ‫طباعة‬ ‫أجل‬ ‫من‬JSP‫الشكل‬ ‫بهذا‬ ‫تكتب‬ ‫وهي‬ <%Java Expression%=>‫ال‬ ‫تقيم‬ ‫يتم‬ ‫فأنه‬ ‫الحقيقة‬ ‫وفي‬‫سلسلة‬ ‫إلى‬ ‫وتحويله‬ ‫التاغ‬ ‫هذا‬ ‫ضمن‬ ‫الموجودة‬ ‫عبارة‬ ‫محارف‬(String)‫الـ‬ ‫صفحة‬ ‫بطلب‬ ‫تقوم‬ ‫عندما‬ ‫األجراء‬ ‫هذا‬ ‫يتم‬ ‫الصفحة‬ ‫في‬ ‫حشرها‬ ‫ويتم‬JSP‫أردت‬ ‫إذا‬ ‫فمثال‬ ‫الحالي‬ ‫والوقت‬ ‫التاريخ‬ ‫طباعة‬‫الصفحة‬ ‫طلب‬ ‫عند‬. Current time: <%= new java.util.Date() %> ‫المتغيرات‬‫مسبقا‬ ‫معرفة‬ ‫هنا‬‫الـ‬ ‫في‬ ‫مسبقا‬ ‫معرفة‬ ‫متغيرات‬ ‫ك‬JSP‫بهذه‬ ‫الخاصة‬ ‫المكتبات‬ ‫تضمين‬ ‫أو‬ ‫لتعريفها‬ ‫بحجة‬ ‫لست‬ ‫وأنت‬ ‫من‬ ‫أغراض‬ ‫عن‬ ‫عبارة‬ ‫هي‬ ‫المتغيرات‬ ‫وهذه‬ ‫الدرس‬ ‫هذه‬ ‫في‬ ‫المتغيرات‬ ‫هذه‬ ‫عن‬ ‫وسنتحدث‬ ‫المتغيرات‬ ‫بعد‬ ‫ما‬ ‫في‬ ‫كلها‬ ‫واشرحها‬ ‫أهمها‬ ‫اآلن‬ ‫وسأذكر‬ ‫السرفلت‬ ‫صفوف‬. ‫المتغيرات‬ ‫هذه‬ ‫أهم‬: request:‫وه‬‫الصف‬ ‫من‬ ‫غرض‬ ‫و‬HttpServletRequest. response:‫الصف‬ ‫من‬ ‫غرض‬ ‫وهو‬HttpServletResponse. session:‫الصف‬ ‫من‬ ‫غرض‬ ‫وهو‬HttpSession. out:‫العميل‬ ‫إلى‬ ‫الخرج‬ ‫إرسال‬ ‫ويتم‬ ‫الطباعة‬ ‫أجل‬ ‫من‬ ‫تستخدم‬. application:‫الصف‬ ‫من‬ ‫غرض‬ ‫وهو‬ServletContext.‫البيانات‬ ‫بنية‬ ‫من‬ ‫النوع‬ ‫وهذا‬ ‫ف‬ ‫مشترك‬ ‫يكون‬‫الـ‬ ‫والصفحات‬ ‫السرفلتات‬ ‫جميع‬ ‫ي‬JSP‫جيد‬ ‫وهو‬ ‫الويب‬ ‫تطبيق‬ ‫كامل‬ ‫في‬ ‫بالـ‬ ‫متعلقة‬ ‫ألنه‬ ‫المقبلة‬ ‫الدروس‬ ‫في‬ ‫هذا‬ ‫وسنناقش‬ ‫البيانات‬ ‫ومشاركة‬ ‫تخزين‬ ‫أجل‬ ‫من‬beans ‫والـ‬MVC. ‫المثال‬ ‫سبيل‬ ‫على‬‫المضيف‬ ‫اسم‬ ‫طباعة‬: Your hostname: <%= request.getRemoteHost() %> ‫الـ‬ ‫عنصر‬ ‫كتابة‬Expressions‫أخرى‬ ‫بطريقة‬(‫جمل‬XML) ‫الـ‬ ‫عنصر‬ ‫كتابة‬ ‫يمكنك‬Expressions‫الـ‬ ‫تاغ‬ ‫عبر‬ ‫أخرى‬ ‫بطريقة‬Action‫التالي‬ ‫بشكل‬ ‫وتكتب‬: <jsp:expression>Java Expression</jsp:expression> ‫إصدار‬ ‫في‬2.2‫لـ‬ ‫إصدارت‬ ‫من‬ ‫لحقه‬ ‫وما‬JSP‫ال‬ ‫ولكن‬ ‫الجمل‬ ‫من‬ ‫النوع‬ ‫هذا‬ ‫تدعم‬ ‫كانت‬ ‫السرفر‬ ‫يمكنك‬‫استخد‬‫ام‬‫الجمل‬ ‫من‬ ‫النوع‬ ‫هذا‬(‫جمل‬XML)‫مع‬‫القياسية‬ ‫الجمل‬ ‫نظام‬(<...%=%>)‫نفس‬ ‫في‬ ‫الصفحة‬. ‫العنصر‬ ‫على‬ ‫مثال‬Expressions ‫و‬ ‫والوقت‬ ‫التاريخ‬ ‫يطبع‬ ‫مثال‬‫والسرفر‬ ‫للجلسة‬ ‫دي‬ ‫األي‬‫و‬‫معامل‬(‫بارمتر‬)‫تجريبي‬. ‫الـ‬ ‫ملف‬ ‫مالحظة‬JSP‫ملجلد‬ ‫في‬ ‫يوضع‬ ‫ال‬classes‫توصي‬ ‫أي‬ ‫لوضع‬ ‫داعي‬ ‫هناك‬ ‫وليس‬‫الـ‬ ‫لملف‬ ‫ف‬ JSP‫ملف‬ ‫في‬web.xml‫الـ‬ ‫الملف‬ ‫بوضع‬ ‫قم‬ ‫فقط‬JSP‫التطبيق‬ ‫مجلد‬ ‫في‬. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>JSP Expressions</TITLE> <META NAME="keywords" CONTENT="JSP,expressions,JavaServer Pages,servlets"> <META NAME="description" CONTENT="A quick example of JSP expressions."> <LINK REL=STYLESHEET HREF="JSP-Styles.css" TYPE="text/css"> </HEAD> <BODY> <H2>JSP Expressions</H2> <UL> <LI>Current time: <%= new java.util.Date() %> <LI>Server: <%= application.getServerInfo() %> <LI>Session ID: <%= session.getId() %> <LI>The <CODE>testParam</CODE> form parameter:<%= request.getParameter("testParam") %> </UL> </BODY></HTML>
  3. 3. ‫والـ‬ ‫السرفلت‬ ‫بين‬ ‫تطبيق‬ ‫كتابة‬ ‫مقارنة‬JSP ‫بالـ‬ ‫التطبيق‬ ‫نفس‬ ‫نكتب‬ ‫و‬ ‫بالسرفلت‬ ‫تطبيق‬ ‫نكتب‬ ‫سوف‬ ‫اآلن‬JSP‫تطبيق‬ ‫هو‬ ‫سنكتبه‬ ‫الذي‬ ‫التطبيق‬ ‫معامالت‬ ‫ثالث‬ ‫طباعة‬ ‫وهو‬ ‫بسيط‬(‫بارمترات‬)‫كتبن‬ ‫قد‬ ‫مثال‬ ‫وهو‬‫الثالث‬ ‫الدرس‬ ‫في‬ ‫ه‬. ‫بالـ‬ ‫ولكن‬ ‫المثال‬ ‫نفس‬ ‫نكتب‬ ‫اآلن‬JSP ‫الـ‬ ‫ملف‬HTML‫قي‬ ‫منه‬ ‫ترسل‬ ‫الذي‬‫م‬‫صفحة‬ ‫أو‬ ‫السرفلت‬ ‫إلى‬JSP import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ThreeParams extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); String title = "Reading Three Request Parameters"; out.println("<HTML>n" +"<HEAD><TITLE>" + title + "</TITLE></HEAD>n" + "<BODY BGCOLOR="#FDF5E6">n" +"<H1 ALIGN="CENTER">" + title + "</H1>n" + "<UL>n" +" <LI><B>param1</B>: "+ request.getParameter("param1") + "n" +" <LI><B>param2</B>: "+ request.getParameter("param2") + "n" +" <LI><B>param3</B>: "+ request.getParameter("param3") + "n" +"</UL>n" + "</BODY></HTML>"); } } <HTML> <HEAD> <TITLE>Reading Three Request Parameters</TITLE> </HEAD> <BODY> <H1>Reading Three Request Parameters</H1> <UL> <LI><B>param1</B>: <%= request.getParameter("param1") %> <LI><B>param2</B>: <%= request.getParameter("param2") %> <LI><B>param3</B>: <%= request.getParameter("param3") %> </UL> </BODY></HTML> <HTML><HEAD><TITLE>Collecting Three Parameters</TITLE></HEAD> <BODY BGCOLOR="#FDF5E6"> <H1 ALIGN="CENTER">Collecting Three Parameters</H1> Send params to servlet<BR> <FORM ACTION="ThreeParams"> First Parameter: <INPUT TYPE="TEXT" NAME="param1"><BR> Second Parameter: <INPUT TYPE="TEXT" NAME="param2"><BR> Third Parameter: <INPUT TYPE="TEXT" NAME="param3"><BR> <CENTER><INPUT TYPE="SUBMIT"></CENTER><BR> </FORM> Send params to JSP page<BR> <FORM ACTION="ThreeParams.jsp"> First Parameter: <INPUT TYPE="TEXT" NAME="param1"><BR> Second Parameter: <INPUT TYPE="TEXT" NAME="param2"><BR> Third Parameter: <INPUT TYPE="TEXT" NAME="param3"><BR> <CENTER><INPUT TYPE="SUBMIT"></CENTER> </FORM> </BODY></HTML>
  4. 4. ‫عنصر‬ ‫شرح‬JSP scriptlet ‫الطريقة‬ ‫في‬ ‫يحشر‬ ‫سوف‬ ‫العنصر‬ ‫هذا‬ ‫داخل‬ ‫في‬ ‫تكتبه‬ ‫ما‬ ‫كل‬ ‫فأن‬ ‫معين‬ ‫جافا‬ ‫كود‬ ‫بتنفيذ‬ ‫يقوم‬ ‫العنصر‬ ‫هذا‬ service‫الـ‬ ‫تحويل‬ ‫يتم‬ ‫عندما‬JSP‫كتالي‬ ‫العنصر‬ ‫هذا‬ ‫كتابة‬ ‫وطريقة‬ ‫سرفلت‬ ‫إلى‬: <% Java Code %> ‫السابق‬ ‫في‬ ‫مختصر‬ ‫بشكل‬ ‫ذكرنها‬ ‫التي‬ ‫مسبقا‬ ‫المعرفة‬ ‫المتغيرات‬ ‫إلى‬ ‫الوصول‬ ‫يستطيع‬ ‫العنصر‬ ‫هذا‬ ‫أن‬ ‫كما‬‫فمثال‬ ‫الغرض‬ ‫خالل‬ ‫من‬ ‫الصفحة‬ ‫في‬ ‫ما‬ ‫شيء‬ ‫طباعة‬ ‫أردت‬ ‫إذا‬out‫العملي‬ ‫فتكون‬ ‫مسبقا‬ ‫المعرفة‬ ‫المتغيرات‬ ‫أحد‬ ‫وهو‬‫ة‬ ‫يلي‬ ‫كما‬: <% String queryData = request.getQueryString(); out.println("Attached GET data: " + queryData); %> ‫العنصر‬ ‫من‬ ‫كل‬ ‫مزج‬ ‫خالل‬ ‫من‬ ‫وهي‬ ‫أسهل‬ ‫بطريقة‬ ‫الشيء‬ ‫نفس‬ ‫عمل‬ ‫تستطيع‬ ‫السابق‬ ‫المثال‬ ‫مثل‬ ‫في‬scriptlet ‫عنصر‬ ‫و‬Expression‫األتي‬ ‫النحو‬ ‫على‬ ‫وتكتبها‬: <% String queryData = request.getQueryString(); %> Attached GET data: <%= queryData %> ‫عنصر‬ ‫استخدام‬ ‫عدم‬ ‫السابق‬ ‫المثال‬ ‫في‬ ‫وتستطيع‬scriptlet‫عنصر‬ ‫فقط‬ ‫وتستخدم‬expression‫وتكتب‬‫هكذا‬: Attached GET data: <%= request.getQueryString() %> ‫عنصر‬ ‫استخدام‬ ‫بمكانك‬ ‫فإنه‬ ‫عام‬ ‫بشكل‬scriptlet‫بوسطة‬ ‫بها‬ ‫القيام‬ ‫يمكنك‬ ‫ال‬ ‫التي‬ ‫المهام‬ ‫من‬ ‫العديد‬ ‫تنفيذ‬ ‫في‬ ‫العنصر‬Expression‫البيانات‬ ‫قواعد‬ ‫مع‬ ‫وتعامل‬ ‫الحالة‬ ‫ورموز‬ ‫الهيدر‬ ‫مع‬ ‫التاعامل‬ ‫هي‬ ‫المهام‬ ‫هذه‬ ‫ومن‬ ‫لوحده‬ ‫العميل‬ ‫إلى‬ ‫الصفحة‬ ‫أرسال‬ ‫أردت‬ ‫إذا‬ ‫فمثال‬ ‫األمور‬ ‫من‬ ‫وغيرها‬ ‫والتكرارية‬ ‫الشرطية‬ ‫أوامر‬ ‫وتنفيذ‬‫شكل‬ ‫على‬ ‫صفحة‬ ‫وليس‬ ‫ورد‬ ‫صفحة‬HTML‫بطريقة‬ ‫المحتوى‬ ‫تعين‬ ‫إلى‬ ‫بحاجة‬ ‫فإنك‬setContentType‫أردت‬ ‫فإذا‬ ‫عنصر‬ ‫بواسطة‬ ‫هذا‬ ‫تنفيذ‬scriptlet‫يلي‬ ‫كما‬ ‫يكون‬ ‫فإنه‬: <% response.setContentType("application/msword"); %> ‫تعين‬ ‫المهم‬ ‫من‬‫للعم‬ ‫شيء‬ ‫أي‬ ‫أرسال‬ ‫قبل‬ ‫الهيدر‬ ‫وتعين‬ ‫المحتوى‬ ‫نوع‬‫عنصر‬ ‫استخدام‬ ‫فاألفضل‬ ‫هذا‬ ‫أجل‬ ‫من‬ ‫يل‬ Directive‫هللا‬ ‫شاء‬ ‫أن‬ ‫القادم‬ ‫الدرس‬ ‫في‬ ‫عنه‬ ‫نتكلم‬ ‫سوف‬ ‫العنصر‬ ‫وهذا‬ ‫األمور‬ ‫هذه‬ ‫مثل‬ ‫في‬. ‫الـ‬ ‫عنصر‬ ‫كتابة‬scriptlet‫أخرى‬ ‫بطريقة‬(‫جمل‬XML) ‫الـ‬ ‫عنصر‬ ‫كتابة‬ ‫يمكنك‬scriptlet‫الـ‬ ‫تاغ‬ ‫عبر‬ ‫أخرى‬ ‫بطريقة‬Action‫التالي‬ ‫بشكل‬ ‫وتكتب‬: <jsp:scriptlet>Java Code</jsp:scriptlet> ‫إصدار‬ ‫في‬2.2‫لـ‬ ‫إصدارت‬ ‫من‬ ‫لحقه‬ ‫وما‬JSP‫ال‬ ‫ولكن‬ ‫الجمل‬ ‫من‬ ‫النوع‬ ‫هذا‬ ‫تدعم‬ ‫كانت‬ ‫السرفر‬ ‫الجمل‬ ‫من‬ ‫النوع‬ ‫هذا‬ ‫استخدام‬ ‫يمكنك‬(‫جمل‬XML)‫القياسية‬ ‫الجمل‬ ‫نظام‬ ‫مع‬(<%...%>)‫نفس‬ ‫في‬ ‫الصفحة‬.‫جمل‬ ‫أن‬ ‫تعرف‬ ‫أن‬ ‫وعليك‬XML‫األحرف‬ ‫لحالة‬ ‫حساسة‬ ‫مثال‬‫ع‬‫العنصر‬ ‫لى‬scriptlet ‫معامل‬ ‫نأخذ‬ ‫سوف‬ ‫المثال‬ ‫هذا‬ ‫في‬(‫بارمتر‬)‫صفحة‬ ‫من‬HTML‫لتكون‬ ‫قيمته‬ ‫نأخذ‬ ‫سوف‬ ‫المعامل‬ ‫وبهذا‬ ‫الـ‬ ‫الصفحة‬ ‫لخلفية‬ ‫لون‬JSP‫هما‬ ‫عنصران‬ ‫نستخدم‬ ‫سوف‬ ‫وهنا‬Expression‫و‬scriptlet‫ويتم‬ ‫تاغ‬ ‫في‬ ‫اللون‬ ‫قيم‬ ‫تعين‬Body‫معامل‬ ‫في‬bgColor‫هكذا‬ ‫وتكتبها‬: <BODY BGCOLOR="<%= request.getParameter("bgColor") %>"> ‫المثال‬ ‫كتابة‬ ‫إلى‬ ‫اآلن‬: <HTML> <HEAD> <TITLE>Color Testing</TITLE> </HEAD> <% String bgColor = request.getParameter("bgColor"); if ((bgColor == null) || (bgColor.trim().equals(""))) { bgColor = "WHITE"; } %> <BODY BGCOLOR="<%= bgColor %>"> <H2 ALIGN="CENTER">Testing a Background of "<%= bgColor %>"</H2> </BODY></HTML>
  5. 5. ‫عنصر‬ ‫استخدام‬scriptlet‫الـ‬ ‫في‬ ‫الشرطية‬ ‫العبارات‬ ‫في‬JSP ‫الشرطية‬ ‫العبارة‬ ‫نستخدم‬ ‫سوف‬ ‫المثال‬ ‫هذا‬ ‫في‬ ‫بسيط‬ ‫مثال‬ ‫سنكتب‬ ‫اآلن‬if‫العنصر‬ ‫داخل‬ ‫في‬scriptlet ‫هذا‬ ‫وفي‬‫العشوائ‬ ‫التابع‬ ‫نستخدم‬ ‫سوف‬ ‫المثال‬‫يطبع‬ ‫النصف‬ ‫من‬ ‫أكبر‬ ‫النتيجة‬ ‫كان‬ ‫بحال‬ ‫ي‬nice day ‫يطبع‬ ‫فسوف‬ ‫إال‬ ‫و‬lousy day‫الشرطية‬ ‫العبارة‬ ‫باستخدام‬ ‫وذالك‬if‫المثال‬ ‫إلى‬ ‫اآلن‬: ‫التكرارية‬ ‫العبارات‬ ‫أجل‬ ‫من‬ ‫أيضا‬ ‫فعلها‬ ‫تستطيع‬ ‫السابقة‬ ‫العملية‬ ‫أن‬. ‫عنصر‬ ‫شرح‬JSP Declarations ‫ي‬‫ستخدم‬‫العنصر‬ ‫هذا‬‫التصريح‬ ‫أجل‬ ‫من‬‫داخلية‬ ‫صفوف‬ ‫أو‬ ‫طرق‬ ‫أو‬ ‫المتحوالت‬ ‫عن‬‫في‬‫هذا‬ ‫وكل‬ ‫الصفحة‬ ‫داخل‬ ‫عن‬ ‫الصف‬ ‫داخل‬ ‫في‬ ‫تحشر‬ ‫التصريحات‬‫د‬‫سرفلت‬ ‫إلى‬ ‫الصفحة‬ ‫تحويل‬.‫الشكل‬ ‫بهذا‬ ‫العصر‬ ‫هذا‬ ‫ويكتب‬: <%! Field or Method Definition %> ‫عنصر‬ ‫مع‬ ‫مقترن‬ ‫العنصر‬ ‫هذا‬ ‫نستخدم‬ ‫ما‬ ‫وعادة‬ ‫خرج‬ ‫توليد‬ ‫أجل‬ ‫من‬ ‫العنصر‬ ‫هذا‬ ‫يستخدم‬ ‫ال‬scriptlet‫أو‬ ‫عنصر‬Expression. ‫مثل‬ ‫السرفلت‬ ‫حيات‬ ‫بدورة‬ ‫تتعلق‬ ‫التي‬ ‫الطرق‬ ‫في‬ ‫العنصر‬ ‫هذا‬ ‫استخدام‬ ‫عدم‬ ‫عليك‬ ‫تحذير‬(service, doGet init,‫إلخ‬)‫إلى‬ ‫للوصول‬ ‫العنصر‬ ‫هذا‬ ‫استخدام‬ ‫إلى‬ ‫بحاجة‬ ‫لست‬ ‫وأنت‬service‫أو‬doGet‫أو‬doPost ‫إلنه‬‫الـ‬ ‫في‬ ‫خاصة‬ ‫أتوماتيكيا‬ ‫طريقة‬ ‫استعداء‬ ‫يتم‬JSP‫وهي‬ ‫السرفلت‬ ‫في‬ ‫العمل‬ ‫نفس‬ ‫لها‬_jspService‫كما‬ ‫الـ‬ ‫حياة‬ ‫بدورة‬ ‫تتعلق‬ ‫التي‬ ‫مسح‬ ‫و‬ ‫التهيئة‬ ‫أجل‬ ‫من‬ ‫طرق‬ ‫هناك‬ ‫أنه‬JSP‫هي‬ ‫التهيئة‬ ‫وطريقة‬ ‫السرفلت‬ ‫في‬ ‫كما‬ jspInit‫هي‬ ‫التنظيف‬ ‫أو‬ ‫التدمر‬ ‫وطريقة‬jspDestroy.‫بعد‬ ‫فيما‬ ‫أوسع‬ ‫بشكل‬ ‫الموضوع‬ ‫هذا‬ ‫عن‬ ‫نتحدث‬ ‫ربما‬. ‫الـ‬ ‫عنصر‬ ‫كتابة‬Declaration‫أخرى‬ ‫بطريقة‬(‫جمل‬XML) ‫الـ‬ ‫عنصر‬ ‫كتابة‬ ‫يمكنك‬Declaration‫الـ‬ ‫تاغ‬ ‫عبر‬ ‫أخرى‬ ‫بطريقة‬Action‫التالي‬ ‫بشكل‬ ‫وتكتب‬: <jsp:declaration>Field or Method Definition</jsp:declaration> ‫إصدار‬ ‫في‬2.2‫لـ‬ ‫إصدارت‬ ‫من‬ ‫لحقه‬ ‫وما‬JSP‫الجمل‬ ‫من‬ ‫النوع‬ ‫هذا‬ ‫تدعم‬ ‫كانت‬ ‫السرفر‬‫ال‬ ‫ولكن‬ ‫الجمل‬ ‫من‬ ‫النوع‬ ‫هذا‬ ‫استخدام‬ ‫يمكنك‬(‫جمل‬XML)‫القياسية‬ ‫الجمل‬ ‫نظام‬ ‫مع‬(<...%!%>)‫نفس‬ ‫في‬ ‫الصفحة‬.‫جمل‬ ‫أن‬ ‫تعرف‬ ‫أن‬ ‫وعليك‬XML‫األحرف‬ ‫لحالة‬ ‫حساسة‬. ‫مثال‬‫العنصر‬ ‫على‬Declaration ‫هو‬ ‫المثال‬‫السيرفر‬ ‫على‬ ‫الصفحة‬ ‫تحميل‬ ‫منذ‬ ‫للصفحة‬ ‫الوصول‬ ‫مرات‬ ‫عدد‬ ‫طباعة‬ ‫بهذا‬ ‫نستخدم‬ ‫وسوف‬‫العنصران‬ ‫المثال‬Declaration‫و‬ ‫المتحول‬ ‫تعريف‬ ‫اجل‬ ‫من‬Expression‫من‬ ‫القيمة‬ ‫طباعة‬ ‫أجل‬. <HTML> <HEAD> <TITLE>Wish for the Day</TITLE> </HEAD> <BODY> <% if (Math.random())<0.5) {%> <H1>Have a <I>nice</I> day!</H1> <%{else}%> <H1>Have a <I>lousy</I> day!</H1> <% } %> </BODY></HTML> <HTML> <HEAD> <TITLE>JSP Declarations</TITLE> </HEAD> <BODY> <H1>JSP Declarations</H1> <%! private int accessCount = 0; %> <H2>Accesses to page since server reboot: <%= ++accessCount %></H2> </BODY></HTML>
  6. 6. ‫مسبقا‬ ‫المعرفة‬ ‫المتغيرات‬ ‫الـ‬ ‫في‬ ‫متغيرات‬ ‫هناك‬JSP‫أهميتها‬ ‫لكثرة‬ ‫نظرا‬ ‫مسبقا‬ ‫معرفة‬‫واستعمالها‬‫بسيط‬ ‫موجز‬ ‫سبق‬ ‫ما‬ ‫في‬ ‫ذكرنا‬ ‫وقد‬ ‫الموضوع‬ ‫هذا‬ ‫نشرح‬ ‫سوف‬ ‫اآلن‬ ‫المتغيرات‬ ‫هذه‬ ‫من‬ ‫بعض‬ ‫عن‬‫بالتفصيل‬. request:‫الصف‬ ‫من‬ ‫غرض‬ ‫هو‬ ‫المتغير‬ ‫هذا‬HttpServletRequest‫الغرض‬ ‫هذا‬ ‫لك‬ ‫ويسمح‬ ‫بالوصول‬‫الصفحة‬ ‫طلب‬ ‫نمط‬ ‫وتحديد‬ ‫البارمترات‬ ‫إلى‬(get or post)‫الهيدر‬ ‫إلى‬ ‫الوصول‬ ‫وأيضا‬ ‫السرفلت‬ ‫في‬ ‫عملنا‬ ‫التي‬ ‫األمور‬ ‫من‬ ‫وغيرها‬ ‫والكوكي‬. response:‫من‬ ‫غرض‬ ‫هو‬ ‫المتغير‬ ‫هذا‬‫الصف‬HttpServletResponse‫على‬ ‫يقوم‬ ‫المتغير‬ ‫وهذا‬ ‫بالطباعة‬ ‫الخاص‬ ‫غرض‬ ‫أنتاج‬out‫هيدر‬ ‫يسمى‬ ‫بما‬ ‫المستعرض‬ ‫في‬ ‫هيدر‬ ‫الوضع‬ ‫تستطيع‬ ‫وأيضا‬ ‫االستجابة‬(response headers)‫الحالة‬ ‫برموز‬ ‫التحكم‬ ‫تستطيع‬ ‫وأيضا‬‫به‬ ‫قمنا‬ ‫ما‬ ‫كل‬ ‫فكل‬ ‫وتستطيع‬ ‫الغرض‬ ‫هذا‬ ‫في‬ ‫المتعلق‬ ‫الماضية‬ ‫الدروس‬ ‫في‬. out:‫ا‬ ‫هذا‬‫الصف‬ ‫من‬ ‫غرض‬ ‫لمتغير‬PrintWriter‫العميل‬ ‫إلى‬ ‫الخرج‬ ‫إرسال‬ ‫هو‬ ‫المتغير‬ ‫هذا‬ ‫ومهمة‬ ‫تريد‬ ‫ما‬ ‫بوضع‬ ‫وهي‬ ‫السرفلت‬ ‫في‬ ‫استخدمتها‬ ‫التي‬ ‫الطريقة‬ ‫بنفس‬ ‫الغرض‬ ‫هذا‬ ‫استخدام‬ ‫وتستطيع‬ ‫عنصر‬ ‫داخل‬ ‫طباعته‬scriptlets. session:‫الصف‬ ‫من‬ ‫غرض‬ ‫هو‬ ‫المتغير‬ ‫هذا‬HttpSession‫الـ‬ ‫وفي‬JSP‫أ‬ ‫يتم‬ ‫فإنه‬‫هذا‬ ‫نشاء‬ ‫ألي‬ ‫بشكل‬ ‫الغرض‬.‫الـ‬ ‫في‬ ‫الجلسات‬ ‫استخدام‬ ‫تعطيل‬ ‫اجل‬ ‫من‬ ‫وحيد‬ ‫استثناء‬ ‫هناك‬ ‫ولكن‬JSP‫عن‬ ‫وهو‬ ‫عنصر‬ ‫طرق‬directive‫نفس‬ ‫في‬ ‫استخدام‬ ‫طرقة‬ ‫عن‬ ‫وأما‬ ‫القادم‬ ‫الدرس‬ ‫في‬ ‫نشرحه‬ ‫سوف‬ ‫والذي‬ ‫الجلسات‬ ‫عن‬ ‫كامل‬ ‫التاسع‬ ‫الدرس‬ ‫في‬ ‫وكان‬ ‫السرفلت‬ ‫في‬ ‫الطريقة‬. application:‫غ‬ ‫المتغير‬ ‫هذا‬‫الصف‬ ‫من‬ ‫رض‬ServletContext‫خالل‬ ‫من‬ ‫عليه‬ ‫الحصول‬ ‫ويتم‬ ‫الطريقة‬getServletContext.‫الـ‬ ‫و‬ ‫السرفلت‬ ‫وفي‬JSP‫الصف‬ ‫في‬ ‫بيانات‬ ‫تخزين‬ ‫يمكنك‬ ServletContext‫حالة‬ ‫أنشئ‬ ‫عن‬ ‫عوضا‬ ‫وذالك‬‫للمتغير‬.‫على‬ ‫الحصول‬ ‫أو‬ ‫القيم‬ ‫الوضع‬ ‫أجل‬ ‫ومن‬ ‫الطريقتان‬ ‫خالل‬ ‫من‬ ‫ذلك‬ ‫القيم‬setAttribute‫و‬getAttribute‫البيانات‬ ‫قيم‬ ‫مرتبط‬ ‫يكون‬ ‫وفيها‬ ‫مميز‬ ‫باسم‬(key)‫للحصول‬‫الجلسات‬ ‫مع‬ ‫التعامل‬ ‫في‬ ‫كما‬ ‫ما‬ ‫قيمة‬ ‫وضع‬ ‫و‬.‫تخزين‬ ‫بين‬ ‫فرق‬ ‫هناك‬ ‫الصف‬ ‫في‬ ‫البيانات‬ ‫تخزين‬ ‫بين‬ ‫أو‬ ‫المتغير‬ ‫من‬ ‫حالة‬ ‫في‬ ‫البيانات‬ServletContext‫حال‬ ‫في‬ ‫ألنه‬ ‫الصف‬ ‫في‬ ‫تخزينه‬ServletContext‫مشارك‬ ‫يمكنك‬ ‫فإنه‬‫ة‬‫الب‬‫في‬ ‫يانات‬‫كل‬‫السرفلت‬‫ات‬‫و‬‫الـ‬ ‫صفحات‬ JSP‫المخزنة‬ ‫البيانات‬ ‫فإنه‬ ‫الصف‬ ‫من‬ ‫حالة‬ ‫في‬ ‫البيانات‬ ‫التخزين‬ ‫تم‬ ‫أنه‬ ‫حينما‬ ‫في‬ ‫الويب‬ ‫تطبيق‬ ‫كل‬ ‫في‬ ‫الـ‬ ‫صفحة‬ ‫أو‬ ‫السرفلت‬ ‫نفس‬ ‫في‬ ‫فقط‬ ‫تستخدمها‬JSP. config:‫الصف‬ ‫من‬ ‫غرض‬ ‫هو‬ ‫المتغير‬ ‫هذا‬ServletConfig‫أجل‬ ‫من‬ ‫الغرض‬ ‫هذا‬ ‫ويستخدم‬ ‫معا‬ ‫قراءة‬‫مشابه‬ ‫هنا‬ ‫واألمر‬ ‫السرفلت‬ ‫حياة‬ ‫دورة‬ ‫في‬ ‫الموضوع‬ ‫هذا‬ ‫عن‬ ‫تحدثنا‬ ‫وقد‬ ‫التهيئة‬ ‫مالت‬ ‫الـ‬ ‫صفحة‬ ‫تهيئ‬ ‫التي‬ ‫الطريقة‬ ‫في‬ ‫فنستخدمه‬JSP‫وهي‬jspInit. pageContext:‫الـ‬JSP‫الصف‬ ‫تستدعي‬PageContext‫من‬ ‫عدة‬ ‫إلى‬ ‫الوصول‬ ‫أجل‬ ‫من‬ ‫وهي‬ ‫الصفحة‬ ‫سمات‬.‫والصف‬PageContext‫ومنها‬ ‫طرق‬ ‫فيه‬getRequest‫و‬getResponse getOut‫و‬getSession‫وإلخ‬‫الصف‬ ‫الغرض‬ ‫قيم‬ ‫بتخزين‬ ‫يقوم‬ ‫المتغير‬ ‫هذا‬ ‫و‬PageContext ‫الحالية‬ ‫بالصفحة‬ ‫المرتبط‬. page:‫كثيرا‬ ‫مفيد‬ ‫ليس‬ ‫المتغير‬ ‫هذا‬. ‫التدريب‬ ‫أجل‬ ‫من‬ ‫وجبات‬ ‫إلى‬ ‫السابقة‬ ‫الدروس‬ ‫في‬ ‫أخذناه‬ ‫ما‬ ‫كل‬ ‫بتحويل‬ ‫تقوم‬ ‫أن‬ ‫هو‬ ‫الدرس‬ ‫هذا‬ ‫في‬ ‫الواجبات‬‫ن‬‫مط‬JSP ‫البيانات‬ ‫قواعد‬ ‫مع‬ ‫والتعامل‬ ‫الجلسات‬ ‫و‬ ‫والكوكي‬ ‫البارمترات‬ ‫مع‬ ‫التعامل‬ ‫من‬ ‫كثير‬ ‫أشاء‬ ‫أخذناه‬ ‫وما‬ ‫هللا‬ ‫شاء‬ ‫أن‬ ‫القادم‬ ‫الدرس‬ ‫في‬ ‫اللقاء‬ ‫إلى‬

×