التعامل مع Java Servlets

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

التعامل مع Java Servlets

مُساهمة من طرف أحمد مناع في الأحد سبتمبر 08, 2013 7:36 am

بسم الله الرحمن الرحيم

أهلا وسهلا بكم إخوانى الكرام ....درس اليوم إن شاء الله تعالى عن كيفية التعامل مع Java Servlets و هو عبارة عن جافا كلاس يتم وضعه في تطبيقك ليضيف تفاعل مع المستخدم لتطبيقك من خلال الويب....سواء كان تطبيقك هذا يتعامل مع الويب من خلال java se أو java me أو java ee ... مثل التعامل مع قاعدة بيانات مثل اخذ بيانات من الزائر وحفطها في قاعدة البيانات ثم عرضها على الزائر مرة اخرى

1_ المفهوم العلمى لـــــ Servlets

Java Servlet هي أحد فئات لغة الجافا التى يتم برمجتها لتقوم بتلقى الطلبات وبناءالإستجابات بفعالية مع خوادم الويب بأستخدام تطبيقات الجافا ....حيث توفر تلك الفئة آلية قوية لتطوير التطبيقات التى تتعامل مع مقلمات الويب .ومنصة مستقلة لبناء التطبيقات المستندة إلى ويب من دون قيود أداء برامج CGI .

2_ إنشاء الفئة Servlets

الفئة سيرفلتس جافا هي جزء من Java Enterprise Edition (جافا EE) هو يختلف عن الإصدار القياسي في أنه خاص ببرمجة الخوادم والتطبيقات الموزعة وبرمجة الويب ....و بالتالى لابد أن يتوافر على جهازك هذا الاصدار ....ليس هذا فحسب بل يجب أيضا أن يكون مثبت لديك أحد خوادم الويب التى تدعم Servlets ....أما اذا كنت تعتمد على برنامج netbeans أو JBulide أو  Eclipse فإن تلك الخوادم تكون قد تم تنصيبها تلقائية فى جهازك

أولا : إنشاء الفئة Servlets بدون الاعتماد على بنية تطوير :

نفترض أنك تريد إنشاء الفئة Servlets دون الاعتماد على بنية تطوير معينة كالنت بينز و غيرها ...فى البداية يجب تثبيت أحد خوادم الويب التى تدعم Servlets كما نوهنا سابقا ومن اشهرها  ServerTomcat و هو الذى سوف نستخدمة فى مثالنا الحالى و ذلك باتباع الخطوات التالية :

_ تحميل أحدث نسخة من خادم Tomcat من على الرابط التالى :
http://tomcat.apache.org/.

_قم بفك الملف المضغوط فى مكان مناسب و ليكن C:\apache-tomcat-5.5.29 على نظام التشغيل ويندوذ أو على /usr/local/apache-tomcat-5.5.29 فى كلا من  Linux/Unix 

_ يمكنك تشغيل الخادم عن طريق C:\apache-tomcat-5.5.29\bin\startup.bat فى نظام التشغيل ويندوذ أو من خلال /usr/local/apache-tomcat-5.5.29/bin/startup.sh فى كلا من  Linux/Unix

_بعد بدء التشغيل، فإن تطبيقات الويب الافتراضية المضمنة مع خادم tomcat تكون متاحة من خلال زيارة http://localhost:8080/.

إذا كان كل شيء على ما يرام ثم فإنه يجب عرض النتيجة التالية:


_ بعد تثبيت خادم tomcat و تشغيلة سنقوم بإنشاء الفئة Servlets و ذلك على النحو التالى :

1_إنشاء المجلدات الخاصة بالتطبيق :لفئة Servlets بنية دليل فريدة وهى على النحو التالى :

_ إنشاء مجلد بأسم التطبيق الخاص بك وليكن first ....بداخل هذا المجلد يجب أن يكون هناك مجلد أخر باسم WEB_INF بالاضافة الى ملفات HTML أو JSP إن وجدت و ايضا ملفات المصادر الاخرى CSS أو الصور ....الخ

_ بداخل المجلد WEB_INF يجب أن يحتوى على مجلد أخر بأسم classes ومجلد bin وايضا ملف web.xml و الذى يسمى الملف الواصف وسيتم كيفية انشاء و استخدامه فيما بعد


_ بداخل المجلد classes يتم أنشاء وحفظ الفئة Servlets بداخلة و الصورة التالية للتوضيح :



2_ إنشاء وكتابة شفرة الفئة Servlets ....وهناك ثلاث طرق لفعل ذلك على النحو التالى :

_ من خلال تنفيذ واجهة Servlets
_من خلال توسيع الفئة genericservlet
_من خلال توسيع الفئة HttpServlet

لكن فى الغالب يتم إنشاء Servlets من خلال توسيع الفئة HttpServlet و تحتوى على طريقة للتعامل مع الطلبات الواردة من العميل تسمى doGet() وطريقة أخرى لكتابة الاستجابة المردودة مرة أخرى إلى العميل وتسمى doPost() ...وهناك عده طرق أخرى يمكنك انشائها مثل PUT, DELETE, etc ...لكن أهم طريقتين التى يتم استخدامها على نطاق واسع هما GET, POST لذلك سيتم التركيز عليهما ....

نفترض ان فى مثالنا التالى سنتعامل مع الطريقة doget ...سنقوم بفتح محرر النصوص notepad ونكتب التعليمات البرمجية التالية :
الرمز:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;


public class MyServlet extends HttpServlet {
 
 }
فى الكود السابق قمنا بإنشاء الفئة بأسم MyServlet من خلال توسيع الفئة HttpServlet ....الان سنقوم بإنشاء الطريقة doget بداخلها على النحو التالى :
الرمز:
public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
  {
           response.setContentType("text/html");
          PrintWriter out = response.getWriter();
      out.println("<h1>" Hello Readers "</h1>");
  }
الان قم بحفظ بالملف عن طريق الامر save as بإسم MyServlet.java فى المسار WEB-INF/classes ...بعد ذلك قم وضع مجلد المشروع بالكامل فى مجلد الخادم Tomcat/webapps

3_ تجميع و ترجمة Servlet

ترجمة البرنامج ...بعد ما قمنا بكتابة التطبيق و حفظناه بأمتداد java. بنفس أسم الكلاس الرئيسى MyServlet ..لنأتى الان لمرحة الترجمة و التجميع ....فى البداية نحن بحاجة الى الملف servlet-api.jar وهو احد الملفات الموجود فى مجلد الخادم Tomcat قم بنسخ هذا الملف ثم قم بوضعه فى فى مسار حزمة الجافا لديك java jdk و تحديداً فى المسار التالى Java\jdk\jre\lib\ext كما فى الصورة التالية :


بعد ذلك نستطيع عمل الترجمة من خلال نافذة الاوامر command lin ...كما فى الصورة التالية :

4_ إنشاء واصف النشر

واصف النشر هو عبارة عن ملف xml و التى يتم أستخدامها من قبل حاوية ويب لتشغيل Servlet و يتم إنشائها على النحو التالى :
5_ تشغيل Servlet

لكى تتمكن من تشغيل Servlet الذى قمت ببرمجة يجب عليك اولا تشغيل الخادم Tomcat وذلك من خلال النقر على الملف startup.bat الموجود فى مجلد الخادم على المسار التالى :

C:\apache-tomcat-7.0.14\bin\startup.bat

اما اذا كنت اول مرة تقوم فيها بتشغيل الخادم Tomcat على جهازك يلزمك اجراء الخطوات التالية :

_ حدد ايقونة My Computer ثم النقر يمين ومن القائمة التى ستظهر حدد الامر Properites


_حدد التويب Advance ثم قم بالنقر على زر الامر enviroment variable


_ فى مربع النص Variable name قم بوضع الجملة JAVA_HOME وفى مربع النص Variable value قم بوضع مسار java jdk لديك


الان يمكنك تشغيل  وذلك من خلال فتح متصفح الانترنت لديك و كتابة العنوان التالى :

http:localhost:8080/First/hello

و التنيجة كما يلى :


ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 809
النقاط : 1478
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: التعامل مع Java Servlets

مُساهمة من طرف أحمد مناع في الأحد سبتمبر 08, 2013 8:42 am

ثانيا : إنشاء الفئة Servlets من خلال بنية تطوير Netbeans

من خلال بيئة التطوير Netbeans يمكنك بسهولة إنشاء Servlets و ذلك بإتباع الخطوات التالية :

1_ أفتح Netbeans و من القائمة file أختر الامر New Project


2_ من النافذة التى ستظهر ومن خلال التويب categories أختر نوع المشروع Java Web ليظهر لك فى الجانب الاخر بعض انواع المشروعات أختر منه Web Application كما فى الصورة التالية ثم أنقر next

3_ضع اسم مناسب للمشروع ثم انقر next


4_ حدد الخادم glassfish server وهو الخادم المرفق مع بنية Netbeans ثم أنقر finish




5_ الان سنقوم بإنشاء servlet وذلك من خلال فتح Source Package ثم النقر يمين على default packages ومن القائمة التى ستظهر أختر الامر New ثم Servlet


6_ ضع اسم مناسب للفئة servlet






7_بعد إنشاء الفئة servlet ستجد بها بعض الاكواد ....قم بالبحث عن الطريقة doGet و كتابة بعض التعليمات البرمجية كما يلى :


8_ سنقوم بعد ذلك بإنشاء ملف html وذلك من خلال النقر يمين على Web Pages ثم اختيار الامر New من القائمة التى ستظهر ثم الامر HTML




9_ نقوم بعد ذلك بكتابة بعض التعليمات البرمجية فى ملف HTML


10_ نقوم بعد ذلك بتحرير واصف النشر وهو ملف web.xml لادراج صفحة الويب خلالة


11_ نقوم الان بتشغيل المشروع وذلك من خلال تحديد ايقونة المشروع ثم النقر يمين ثم اختيار الامر run







ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 809
النقاط : 1478
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: التعامل مع Java Servlets

مُساهمة من طرف أيمن الإبراهيم في الأحد سبتمبر 08, 2013 8:24 pm

مشكور جدا

أيمن الإبراهيم
........
........

تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 397
التقيم : 0
الدولة : سوريا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى