صفحات ال JSP
المتطلبات
نفترض ان يكون لديك معرفة
في الكيفية التي تعمل بها تطبيقات الويب عبر استخدام ال (Http)
ما هو الويب سيرفر (web server) و ماهو الويب براوزر (web browsers) . سيكون عظيماً إذا كان لديك معرفة بكيفية تطوير الويب ابليكيش (web
application)
بإستخدام لغات البرمجة >> سيتم بإذنه تعالى توضيح هذه المفاهيم في درس قادم .
من خلال تجربتي في هذا
المجال أستطيع ان اقول أن صفحة ال (JSP) كائن مستقل بحد ذاته و اعنى بهذا التعريف
أنه يمكنك كتابة نص فقط في صفحة ال (JSP)و سيظهر لك النص وقت التنفيذ كما كتبته أي انه أي نص تكتبه في صفحة ال (JSP)
بدون أي تاجات سيظهر لك وقت التنفيذ كما هو ، حيث يمكن ان تكتب في صفحة ال (JSP) نص جافا اسكربت و يمكن
ان تستخدم كل تاجات لغة ال (html) داخل صفحة ال (JSP)
فتُظهر فورم و تضيف ازرار و و و ... إلخ و يمكن ان تستخدم الأجاكس و تقنيات كثيرة
وهذا ما اقصده بأنه كائن مستقل بحد ذاته إن صح التعبير .
ال (JSP)
هي تقنية يتم استخدامها لإنشاء تطبيق ويب وهي مثل تقنية سيرفليت (Servlet) سيتم شرح السيرفلت في درس قادم. ويمكن اعتبار ال (JSP) امتدادا للسيرفليت لأن ال (JSP)
يوفر وظائف أكثر من السيرفليت مثل expression language ، jstl الخ.
وبمعنى آخر هي مشابهة
لصفحات ال(html) التي
لها القدرة على التخاطب مع البراوزر.
كيفية انشاء صفحة ال (JSP)
بإستخدام واحدة من بيئات
التطوير الخاصة بالجافا مثل الإكليبس(Eclipse) او الماي_اكليبس(MyEclipse) او النت بينز (NetBeans) ... إلخ
وبعد انشاء مشروع (Web Project) ويب بروجيكت تستطيع اضافة او انشاء صفحات ال (JSP) و ذلك بالضغط بالزر الأيمن على ملف المشروع و من ثم تختار جديد (New) ثم (JSP
Advance Template) أو (JSP Basic Template)
تتكون صفحة (JSP) من علامات او تاجات هتمل (html) وعلامات (JSP).
صفحات ال
(JSP)
هي أسهل من ناحية الصيانة مقارنة بالسيرفليت لأننا يمكن فصل التصميم والتطوير عن بعضهما. لذا فإنه
يوفر بعض الميزات الإضافية مثل لغة التعبير(Expression Language)، علامة مخصصة (Custom Tag) الخ.
تركيب الصفحة او هيكليتها
<%@ page language="java" import="java.util.*"
pageEncoding="windows-1256"%>
<%
String path =
request.getContextPath();
String basePath =
request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'MyJsp.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link
rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
This is my JSP page. <br>
</body>
</html>
|
خذ وقتك بالنظر و تفحص سطور صفحة ال (jsp) سطر سطر و من ثم قم بالتنفيذ و لاحظ كيف يكون الناتج و ماهو الجزء من الصفحة الذي ظهر وقت التنفيذ وماهي الأجزاء التي تختفي ، حاول تضيف و تحذف للنص السابق الذي بين التاجين
<body>
This is my JSP page. <br>
</body>
قم بإضافة بعض تاجات ال (html) بين التاجين السابقين و من ثم قم بالتنفيذ و لاحظ المخرجات.
دورة حياة صفحة ال (JSP) :-
تتبع صفحة ال (JSP) هذه المراحل :-
1- ترجمة صفحة ال (JSP)
2- تجميع صفحة ال (JSP)
3- تحميل الكلاس (و ملف الكلاس يتم
تحميله بواسطة (classloader) )
4- التجسيد (و يتم إنشاء كائن للسيرفليت
التي تم إنشاؤها).
5- التهيئة (يتم استدعاء التهيئة ((
jspInit() بواسطة الحاوية).)
6- عمليات المعالجة و فيها يتم استدعاء
معالجة ريكيوست حيث الدالة (_jspService() ) يتم
استدعائها بواسطة الحاوية).
7- التدمير (حيث يتم استدعاء الدالة jspDestroy()
بواسطة الحاوية)
إنظر الرسمة
الصورة من (tutorial4us.com)
ملحوظة بإختصار :-
هذه الدوال : jspInit(), _jspService() and jspDestroy()
هي دورة حياة صفحة ال (JSP)
كما هو مبين في الرسم البياني
أعلاه، يتم ترجمة صفحة ال (JSP) إلى سيرفليت (Servlet)
بمساعدة مترجم ال (JSP) . مترجم ال (JSP)هو
جزء من خادم الويب المسؤول عن ترجمة صفحة ال (JSP)
إلى سيرفليت (Servlet) . بعد ترجمة صفحة السيرفليت (Servlet) بواسطة المترجم و يتم تحويلها إلى ملف فئة بعد ذلك، يتم تنفيذ جميع
العمليات التي تحدث في السيرفليت على ال (JSP)
في وقت لاحق مثل التهيئة، تأكيد الاستجابة للمتصفح وفي الأخير تدميرها .
اين تتكون او توضع صفحة ال (JSP)
المصدر للصورة (https://www.sitesbay.com/jsp/directory-structure-of-jsp)
هيكل صفحة ال (jsp)
يشابه تماماً السيرفلت (servlet) و يتم وضع صفحات ال(jsp)
خارج المجلد (WEB-INF)
أو في أي دليل او مجلد لأنه بإختصار ملف عام يتم الوصول له من قبل الكلينت بواسطة
البراوزر
يكون المكان الإفتراضي لتموضع ملف ال (JSP) هو WebRoot
أتمنى أن يكون الشرح واضح.
فضلاً إترك تعليقك و استفساراتك حول هذا الموضوع في جزء
التعليقات اسفل كي أحسن انا من مهاراتي في الكتابة و التدوين و إظهار التدوين بشكل
جيد و مفيد ، انشر المقال وانفع به غيرك . شكراً لمرورك و قراءتك للمقال .
مدونة (https://sunwaytech.blogspot.com)
ۚ فَأَمَّا
الزَّبَدُ فَيَذْهَبُ جُفَاءً ۖ وَأَمَّا مَا يَنفَعُ النَّاسَ فَيَمْكُثُ فِي
الْأَرْضِ ۚ
ليست هناك تعليقات