علامة عناصر JSP

⚡ ملخص ذكي

تتيح هياكل علامات عناصر JSP للمطورين إمكانية تضمين Java مباشرة في الصفحة من خلال الإعلان، والبرنامج النصي، والتعبير، وعلامات التعليق، مما يتيح إنشاء المتغيرات، وتنفيذ المنطق، والإخراج الديناميكي، والوثائق القابلة للقراءة داخل ملف واحد يتم عرضه بواسطة الخادم.

  • 📝 علامة الإعلان: يُعلن الوسم <%! %> عن المتغيرات والأساليب على مستوى فئة servlet، خارج أسلوب الخدمة.
  • ⚙️ علامة Scriptlet: يضع الوسم <% %> Java العبارات التي يتم تشغيلها داخل _jspservice() في كل طلب من العميل.
  • 🔢 علامة التعبير: يقوم الوسم <%= %> بتقييم تعبير حسابي أو منطقي وكتابة نتيجته إلى المخرجات.
  • 💬 علامة التعليق: يُخفي الوسم <%– –%> الملاحظات عن الحاوية والمتصفح، ويحافظ علىping الكود موثق ونظيف.
  • 🚀 تشغيل على الخادم: يتم تجميع صفحة JSP كاملة في ملف WAR ونشرها على خادم ويب مثل JBoss.
  • 📁 بنية الدليل: توجد ملفات JSP خارج مجلد WEB-INF، بينما تبقى ملفات التكوين والمكتبة داخل مجلد WEB-INF.

علامات JSP

في هذا البرنامج التعليمي، سوف نتعلم العلامات الأساسية لـ JSP وكيفية إضافة التعليقات إلى JSP. بالإضافة إلى ذلك، سنقوم أيضًا بإنشاء JSP وتشغيله على الخادم.

إعلان جي إس بي

  • علامة الإعلان هي قطعة من Java كود للإعلان عن المتغيرات والأساليب والفئات. إذا أعلنا عن متغير أو طريقة داخل علامة الإعلان، فهذا يعني أن الإعلان تم داخل فئة servlet ولكن خارج طريقة الخدمة.
  • يمكننا الإعلان عن عضو ثابت ومتغير مثيل (يمكن الإعلان عن رقم أو سلسلة) وطرق داخل علامة الإعلان.

بناء جملة علامة الإعلان:

<%!  Dec var  %>

هنا Dec var هو الأسلوب أو المتغير داخل علامة التصريح.

على سبيل المثال:

في هذا المثال، سنستخدم علامات التصريح

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Declaration Tag</title>
</head>
<body>
<%! int count =10; %>
<% out.println("The Number is " +count); %>
</body>
</html>

شرح الكود:

Code خط 10: نحن هنا نستخدم علامة التصريح لتهيئة عدد المتغيرات إلى 10.

عند تنفيذ الكود أعلاه، ستحصل على الناتج التالي:

إعلان جي إس بي

الإخراج:

تتم طباعة المتغير الذي تم الإعلان عنه في علامة التصريح كمخرجات.

البرنامج النصي JSP

  • تسمح علامة البرنامج النصي بالكتابة Java الكود في ملف JSP.
  • تقوم حاوية JSP بنقل البيانات بطريقة _jspservice() أثناء إنشاء servlet من jsp.
  • لكل طلب من العميل، يتم استدعاء طريقة الخدمة الخاصة بـ JSP ومن ثم يتم تنفيذ التعليمات البرمجية الموجودة داخل البرنامج النصي لكل طلب.
  • يحتوي البرنامج النصي على كود جافا الذي يتم تنفيذه في كل مرة يتم فيها استدعاء JSP.

بناء جملة علامة البرنامج النصي:

<% java code %>

العلامات <%%> هنا هي علامات نصوص برمجية ويمكننا وضع كود جافا بداخلها.

على سبيل المثال:

في هذا المثال، نحن نأخذ علامات Scriptlet التي تحتوي على كود جافا.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Scriplet</title>
</head>
<body>
<% int num1=10;
   int num2=40;
   int num3 = num1+num2;
   out.println("Scriplet Number is " +num3);
%>
</body>
</html>

شرح الكود:

Code الأسطر 10-14: في علامات Scriptlet حيث نأخذ متغيرين num1 و num2 . تم أخذ المتغير الثالث num3 والذي يضيف num1 وnum2. والإخراج هو num3.

عند تنفيذ الكود، ستحصل على الإخراج التالي:

البرنامج النصي JSP

الإخراج:

الناتج لرقم البرنامج النصي هو 50 وهو عبارة عن إضافة num1 وnum2.

تعبير جي إس بي

  • تقوم علامة التعبير بتقييم التعبير الموجود فيها.
  • فإنه يصل إلى البيانات المخزنة في التطبيق المخزن.
  • يسمح بإنشاء تعبيرات مثل الحسابية والمنطقية.
  • وتنتج صفحة JSP بدون نصوص.

بناء الجملة:

<%= expression %>

هنا التعبير هو التعبير الحسابي أو المنطقي.

على سبيل المثال:

في هذا المثال، نستخدم علامة التعبير

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Expression</title>
</head>
<body>
<% out.println("The expression number is "); %>
<% int num1=10; int num2=10; int num3 = 20; %>
<%= num1*num2+num3 %>
</body>
</html>

شرح الكود:

Code خط 12: نحن هنا نستخدم علامات التعبير حيث نستخدم تعبيرًا عن طريق ضرب رقمين أي num1 وnum 2 ثم إضافة الرقم الثالث أي num3.

عند تنفيذ الكود أعلاه، ستحصل على الناتج التالي:

تعبير جي إس بي

الإخراج:

رقم التعبير هو 120 حيث نقوم بضرب رقمين num1 وnum2 ثم نضيف هذا الرقم مع الرقم الثالث.

تعليقات جي إس بي

التعليقات هي تلك التي عندما تريد حاوية JSP تجاهل نصوص وبيانات معينة.

عندما نريد إخفاء محتوى معين، يمكننا إضافة ذلك إلى قسم التعليقات.

بناء الجملة:

<% -- JSP Comments %>

يتم استخدام علاماته للتعليق في JSP ويتم تجاهلها بواسطة حاوية JSP.

هذا تعليق HTML يتم تجاهله بواسطة المتصفح

على سبيل المثال:

في هذا المثال، نستخدم تعليقات JSP

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Comments</title>
</head>
<body>
<%-- Guru Comments section --%>
<% out.println("This is comments example"); %>

</body>
</html>

شرح الكود:

Code خط 10: نحن هنا نضيف تعليقات JSP إلى الكود لشرح الكود الذي يحتوي عليه. تم تجاهله بواسطة حاوية JSP

عند تنفيذ الكود أعلاه، ستحصل على الناتج التالي:

تعليقات جي إس بي

الإخراج:

نحصل على الإخراج الذي تتم طباعته بطريقة println. يتم تجاهل التعليقات بواسطة الحاوية

إنشاء صفحة JSP بسيطة

  • تحتوي صفحة JSP على نص HTML مدمج معه Java رمز فيه
  • نحن نقوم بإنشاء صفحة JSP بسيطة تتضمن الإعلانات والنصوص والتعبيرات وعلامات التعليقات فيها.

على سبيل المثال:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru JSP Example</title>
</head>
<body>

<%-- This is a JSP example with scriplets, comments , expressions --%>
<% out.println("This is guru JSP Example"); %>
<% out.println("The number is "); %>
<%! int num12 = 12; int num32 = 12; %>
<%= num12*num32 %>
Today's date: <%= (new java.util.Date()).toLocaleString()%>
</body>
</html>

شرح الكود:

Code خط 1: نستخدم هنا توجيهات مثل اللغة ونوع المحتوى وتشفير الصفحة. اللغة هي Java ونوع المحتوى هو نص/html مع مجموعة أحرف قياسية ISO 8859. وترميز الصفحة هو مجموعة أحرف قياسية.

Code خط 11: نحن هنا نستخدم تعليقات JSP لإضافة تعليقات إلى JSP

Code خط 14: نحن هنا نعلن عن المتغيرات num12 و num32 مع التهيئة بـ 12.

Code خط 15: نحن هنا نستخدم تعبيرًا حيث نضرب رقمين num12 وnum32.

Code خط 16: نحن هنا نحضر تاريخ اليوم باستخدام كائن التاريخ.

عند تنفيذ الكود أعلاه، ستحصل على الناتج التالي

إنشاء صفحة JSP بسيطة

الإخراج:

نحن نقوم بالطباعة هنا،

  • هذا هو مثال المعلم JSP.
  • الرقم هو num12*num32 (12*12).
  • تاريخ اليوم هو التاريخ الحالي

كيفية تشغيل صفحة JSP بسيطة

  • يمكن تشغيل JSP على خوادم الويب أو خوادم التطبيقات.
  • سنستخدم هنا خادم ويب، ويمكننا نشره على الخادم الذي يحتوي عليه في تطبيق حربي.
  • يمكننا إنشاء JSP في تطبيق (الحرب).

هذا هو التطبيق الذي لديه هيكل الدليل التالي، والتطبيق يجب أن يتم بناؤه.

تشغيل صفحة JSP بسيطة

يجب بناء هذا التطبيق، وستظهر الرسالة التالية بعد نجاح البناء:

تشغيل صفحة JSP بسيطة

بعد إنشاء التطبيق، يجب تشغيل التطبيق على الخادم.

لتشغيل JSP على خادم الويب، انقر بزر الماوس الأيمن على مشروع IDE (كسوف المستخدمة في هذه الحالة) وهناك العديد من الخيارات. حدد خيار التشغيل على الخادم. يظهر في لقطة الشاشة أدناه؛

من الرسم البياني، يتم توضيح النقاط التالية:

  1. هناك خياران إما اختيار الخادم أو إضافة الخادم يدويًا إلى هذا التطبيق. في هذه الحالة، قمنا بالفعل بإضافة خادم JBoss إلى التطبيق ومن ثم، قمنا باختيار الخادم الحالي.
  2. بمجرد أن نختار الخادم، يظهر خيار الخادم في النقطة 2 أي خادم نريد تحديده. يمكن أن يكون هناك عدة خوادم تم تكوينها على هذا التطبيق. يمكننا اختيار خادم واحد من كل هذه الخيارات
  3. بمجرد تحديد هذا الخيار، انقر فوق زر "إنهاء" وسيتم تشغيل التطبيق على هذا الخادم.

تشغيل صفحة JSP بسيطة

في لقطات الشاشة أدناه، يمكنك ملاحظة أن برنامج JSP الخاص بنا يتم تنفيذه، ويتم نشر تطبيق الاختبار في خادم جي بوس مُشار إليه في المربع الأحمر.

تشغيل صفحة JSP بسيطة

هيكل دليل JSP

في بنية الدليل، يوجد مجلد جذر يحتوي على المجلد WEB-INF، والذي يحتوي على جميع ملفات التكوين وملفات المكتبة.

ملفات JSP موجودة خارج مجلد WEB-INF

هيكل دليل JSP

هيكل دليل JSP

على سبيل المثال:

في هذا المثال يوجد تطبيق اختبار يحتوي على بنية مجلد على النحو التالي:

هيكل دليل JSP

الأسئلة الشائعة

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

لا. مزيج سكريبتليت Java مع استخدام لغة الترميز، يصعب صيانتها. تفضل صفحات JSP الحديثة لغة التعبير، ومكتبة JSTL، ومكتبات الوسوم، مما يفصل العرض عن منطق العمل ويحسن من سهولة القراءة.

يحتوي وسم التعبير على قيمة واحدة يقوم الحاوية بتحويلها إلى سلسلة نصية وكتابتها في المخرجات. إضافة فاصلة منقوطة يحولها إلى جملة، وهو أمر غير صالح داخل وسوم التعبير.

يمكن للذكاء الاصطناعي إنشاء وسوم الإعلان، والبرنامج النصي، والتعبير من وصف بسيط، وتحديد أخطاء بناء الجملة، واقتراح بدائل أنظف مثل JSTL، و helping يستطيع المبتدئون إنشاء صفحات JSP صحيحة بشكل أسرع.

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

تلخيص هذه التدوينة بـ: