• 0
زوار

طريقة تهيئة المخدم Tomcat و تشغيل صفحات Jsp & Servlet عليـ&#

سؤال

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

المتطلبات :

1- تحميل آخر نسخة tomcat5.5.17

http://tomcat.apache.org/download-55.cgi

2- تحميل JDK1.5

http://java.sun.com/javase/downloads/index.jsp

لماذا نحتاج tomcat ؟

لأن servlet لاتستطيع العمل على كمبيوتر عادي فهي مصممه على أن تعمل في سيرفر ولذلك لابد أن تحتاج إلى مايسمى بـ servlet engine وأشهرها طبعاًَ apache tomcat

طريقة العمل :

1- بعد ماتحمل tomcat5.5.17 فك ضغط الملف على السي درايف ، راح ينتج مجلد وحيد اسمه Jakarta-tomcat5.5.17

غير اسمه إلى tomcat وبذلك يكون مسار السيرفر عندك c:\tomcat

2 - اذهب إلى هذا المسار :

Start->Right Click on My Computer -> Properties -> Advance ->Enviroment Variable

في خانة الSystem Variable اضغط new

انشئ متغير بإسم JAVA_HOME وقيمته هي مكان JDK في جهازك .

وغالباً يكون :

C:\Program Files \ Java \ jdk1.5.0

اضغط OK ثلاث مرات للخروج من جميع النوافذ .

1-انسخ الملف servlet-api.jar

في مثالنا تجد الملف في هذا المسـار :

 c:\tomcat\common\lib

انسخه إلى

  C:\Program Files \ Java \ jdk1.5.0 \jre\lib\ext

في حالة عدم نسخ هذا الملف يظهر الخطأ الشائع javax.servlet package does not exist

4- اذهب إلى c:\tomcat\conf وحرر الملف context.xml

ثاني سطر تجده هو

<Context>

غيره إلى

<Context reloadable="true">

5- في نفس مسار الخطوه الرابع تجد ملف web.xml حرره ومن ثم ابحث عن هذا الكود :

- <servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>org.apache.catalina.servlets.InvokerServlet</servlet-class>
- <init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>

واحذف علامة <!-- من فوقه وعلامة --> من تحته

ونفس الشئ على هذا الكود :

- <servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>

احذف علامة <!-- من فوقه وعلامة --> من تحته

احفظ التعديلات واخرج من الملف .

6- اذهب إلى هذا المسـار:

C:\tomcat\webapps\ROOT\WEB-INF

وانشئ مجلد وسمـّـه classes ليكون مساره

C:\tomcat\webapps\ROOT\WEB-INF\classes

الآن انتهينا من اعدادت tomcat وبقي تشغيله .

اذهب إلى start->run->cmd then enter OK

استخدم الأمر cd & cd.. للوصول إلى مجلد c:\tomcat\bin

بعدها اكتب الأمر startup

ستظهر نافذة دوس اخرى وفي آخرها جمله مثل هذه باختلاف الارقام :

INFO : Server startup in 3110 ms

جميل الآن بقي شئ واحد وهو الدخول على السيرفر من البراوزر

تأكد من رقم البورت وذلك بالذهاب إلى الملف

c:\tomcat\conf\server.xml

وابحث عن هذه الجمله

Connector port="8080"

الآن اذهب إلى المستعرض واكتب

http://localhost:8080

8080 لابد أن يكون نفس الرقم الموجود بجانب Connector port في الملف server.xml

ستظهر شاشة الترحيب الرئيسيه المكتوب فيها

If you're seeing this page via a web browser, it means you've setup Tomcat successfully. Congratulations!

اذا لم تظهر وظهرلك شئ ثاني مثل شاشة ترحيب Oracle أو Sun Application Server أو WEbsphere

فيجب عليك تحرر ملف server وتغير رقم إلى 18080 مثلاً أو إلى أي رقم آخر .

وبعدها تكتب في شاشة الدوس في المسار c:\tomcat\bin الأمر shutdown لإقفال السيرفر ومن ثم startup لتشغيله

حيث أي تعديل في المجلد conf يحتاج إلى اعادة تشغيل tromcat

ثم اذهب إلى هذا العنوان

http://localhost:18080

وبذلك يكون السيرفر شغال تمام في جهازك .

الآن طريقة تشغيل صفحات jsp & servlet

Servlet :

خذ هذا الكود

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

public class HelloWorld2 extends HttpServlet
{
public void doGet(HttpServletRequest request , HttpServletResponse response )
throws IOException ,ServletException
{
PrintWriter out=response.getWriter();
out.println("Hello, World ");
}
}

واحفظه في ملف باسم HelloWorld2.java

ثم قم بعمل compiling له وخذ ملف HelloWorld2.class واذهب به الى هذا المسـار

C:\tomcat5.5\webapps\ROOT\WEB-INF\classes

ثم اكتب هذا العنوان في البراوزر :

http://localhost:8080/servlet/HelloWorld2

سيظهر الناتج وهو كلمة Hello,World

JSP :

اذهب الى هذا المسار

 C:\tomcat5.5\webapps\ROOT

وانشئ مجلد سيكون محتوي جميع ملفات jsp وليكن jsp-root

افتح النوتباد واكتب الكود التالي :

<html>
<head>
<title> Hello World</title>
</head>
<body>
<h1>
<% out.println("Hello, World");
%>
</h1>
</body>
</html>

واحفظه باسم HelloWorld.jsp داخل مجلد jsp-root

الآن اذهب إلى البراوزر واكتب العنوان http://localhost:8080/jsp-root/HelloWorld.jsp

وسترى النتيجه .

وبذلك نكون عملنا صفحات jsp & servlet على المخدم

والسلام عليكم :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

43 إجابة على هذا السؤال .

  • 0

سلمت يمناك ، اشتغل معي السيرفلت أخيرا

ثانكيوووو

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

حياك الله يابو سعد

الشكر لله ثم لك على مساعدتك لي في أشياء كثيره

أبو سعد انت ماسويت صفحات servlet بمشروعك حق الشركه ؟

كلهن صفحات jsp ?

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الله يعافيك أخي عيسى

ولو تكرمت ممكن شرح لو بسيط للسيرفلت والحاجة إليه .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أهلا أخي المتميز

Servlet

هي كلاس جافا عادي يعمل على web server

لذلك فائدتها دائماً في الـDistributed Application التي تعتمد على مدخلات اليوزر

هدفها هو معالجه الطلبات المرسله من قبل اليوزر عن طريق المتغير HttpServletRequest

وحياتها كالتالي :

المستخدم يدخل معلومات عن طريق form في الصفحه ثم يضغط زر معين جميع المعلومات الضروريه تخزن في المتغير HttpServletRequest

بعدها يرسل الطلب إلى السيرفر

الServlet تستقبل هذا الطلب وتقوم بالعمل المطلوب مثل جملة select على قاعدة البيانات أو ماشابه

ثم تعمل generate للطلب وترسله على شكل HttpServletResponse

ثم تعرض البيانات على شكل صفحة HTML

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مشكور أخي عيسى على التوضيح ولكن أليس هذا يمكن عمله بالـjsp ؟

أنا كنت فاهم أن أي صفحة jsp يتم طلبها عن طريق المتصفح يتم إنشاء سيرفلت لها ؟!

معذرة تراني ماني فاهم فيها زين

شكرا لتحملك

مشكور أخي عيسى على التوضيح ولكن أليس هذا يمكن عمله بالـjsp ؟

أنا كنت فاهم أن أي صفحة jsp يتم طلبها عن طريق المتصفح يتم إنشاء سيرفلت لها ؟!

معذرة تراني ماني فاهم فيها زين

شكرا لتحملك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

فعلاً كلامك صحيح

صفحات الjsp يتم تحويلها إلى servlet ثم إلى Bytecode

يعني بالأخير كله نفس الشي ، وتقدر تعمل المشروع كله بصفحات jsp !!

يمكنك تصور الفرق بالتالي

صفحات jsp هي أعلى مستوى من servlet كيف ؟؟

انظر :

Servlet

PrintWriter out=response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title> HelloWorld</title>");
out.println("</head>");
out.println("<body>");
out.println("Hello World");
out.println("</body>");
out.println("</html>");

لاحظ كثرة أوامر out.println لترتيب البيانات المرسله او مايسمى layout

JSP

<html>
<head>
<title> Hello World</title>
</head>
<body>
<h1>
<% out.println("Hello, World");
%>
</h1>
</body>
</html>

كأنها صفحة html ولكن ميزتها أنها ليست ثابته

تحتوي على Scriplets ( العلامتين <% ، %> ) وفي مثالنا بسيط هو طباعة سترنق

ولكن تخيل لو كان العمل هو استدعاء من قاعدة بيانات وفلترة المعلومات ،

هل ستكتب كل هذه العمليات المعقده داخل Scriplets

وقد تحتوي على java scripts للمستخدم لادخل له بالسيرفر

لذلك جائت صفحات jsp لعرض البيانات

والعمليات أو الـProcessing data يكون دائماً في servlet

دائماً الفروق لاتتضح إلا مع العمل ويجب استخدام التقنيتين jsp & servlet كليهما في المشروع

مثلاً عندما تعمل على مايسمى MVC Pattern ستدرك أن صفحات jsp تستعمل لعمل View للداتا

و Servlet تستعمل لتتحكم بنوع البانات المرسل إلى المستخدم

لاتنسى ان الـj2ee موجود على أساس 3tiers

التي تعتمد على الفصل بيين Presentation layer (like jsp pages ) & Brocess Layer ( like servlets )& Presistense(

storages )

ولذلك فهو مطلب رئيسي أن تفصل في مشروعك بيين عرض البيانات ومعالجتهن

من ناحيه أخرى

فكر ببساطه في لغات البرمجه ،

لو جاك واجب يقول ادخل رقمين واطبع جمعهم ، هل تهم اللغه هنا ؟ طبعاً تهم

ماذا لو اخترت الأسمبلي ؟ ستحل الواجب ولكن بصعوبه ، لكنها بسهوله مع الجافا

0

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ألف شكرا فعلا موضوع ممتاز

الله يحفظك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

حياك الله اخوي ابن السعوديه

آسف على تأخري في الرد

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بارك الله فيك

ملف jsp اشتغل

servlet ما تبي تشتغل

وتعطيني هالمسج

HTTP Status 404 - /servlet/HelloWorld2

--------------------------------------------------------------------------------

type Status report

message /servlet/HelloWorld2

description The requested resource (/servlet/HelloWorld2) is not available.

--------------------------------------------------------------------------------

Apache Tomcat/5.5.20

ارجو المساعده

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
بارك الله فيك

ملف jsp اشتغل

servlet ما تبي تشتغل

وتعطيني هالمسج

HTTP Status 404 - /servlet/HelloWorld2

--------------------------------------------------------------------------------

type Status report

message /servlet/HelloWorld2

description The requested resource (/servlet/HelloWorld2) is not available.

--------------------------------------------------------------------------------

Apache Tomcat/5.5.20

ارجو المساعده

نصيحتي لك هي عدم إضاعة وقتك الثمين في السرفلت و توجة الى JSF او الى JSP&Struts

والله الموفق.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
بارك الله فيك

ملف jsp اشتغل

servlet ما تبي تشتغل

وتعطيني هالمسج

HTTP Status 404 - /servlet/HelloWorld2

--------------------------------------------------------------------------------

type Status report

message /servlet/HelloWorld2

description The requested resource (/servlet/HelloWorld2) is not available.

--------------------------------------------------------------------------------

Apache Tomcat/5.5.20

ارجو المساعده

واضح أن التومكات لم يتعرف على وجود السيرفلت ،

أعد تشغيل التومكات وجرب الدخول إلى السيرفلت ، واذا استمرت المشكله فهي من أمرين

إما أنك لم تضع ملف HelloWorld2.class في مكانها الصحيح

C:\tomcat5.5\webapps\ROOT\WEB-INF\classes

أو أن هناك خطأ في التسميه ، تأكد من اسم الملف

نصيحتي لك هي عدم إضاعة وقتك الثمين في السرفلت و توجة الى JSF او الى JSP&Struts

والله الموفق.

شكراً لك أخي علي لهذه النصائح ولكن أخي لاأعتقد أن أحداً ينكر أهمية السيرفلت

فحتى في JSF or Struts هناك سيكون Controller وبالتالي من لم يعلم ماهو السيرفلت كبدايه له

في رأيي ستكون صعبه عليه تعلم servlet داخل صفحات JSF or Struts

في الأخير المسأله تختلف من شخص لآخر ولكن أنا أحبذ دائماً أن الانسان ينتقل تصاعدي أي من الabstract thing إلى details

بالتوفيق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

قمت بعمل كل الخظوات ولا زالت المشكلة قائمة

لا حول ولا قوة الا بالله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا اخي الكريم

السيرفر شغال ولكن عندي مشكله في صفحه الjsp المحتويه على jdbc .. الصفحة لا تعمل.. أين الخلل؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخوي عيسى

كثر الله خيرك شرح وافي وجميل ,وعندي إستفسار بسيط .

أنا عندي apache server على جهازي لكن هل أقدر أنزل عليه Servlet engine لصفحات الjsp

أنا لا أريد تنزيل apache مدمج معه Servlet engine . ودمتمت بخير

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي مشكور على الموضع كتير لكن لدي بعض الاسئلة لو تكرمت بالرد

1. هل تعمل jsp على سيرفر wamp؟

2. هل يمكنني اختبار صفحاتي التي تم عملها في سيرفر jrun على سيرفر tomcat؟

3. هل يمكنني اختبار موقعي المبني بـ jsp في مواقع الاستضافة التي تستخدم سيرفرات Apache و لوحة تحكم Cpanel؟

ولك الشكر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
اخي مشكور على الموضع كتير لكن لدي بعض الاسئلة لو تكرمت بالرد

1. هل تعمل jsp على سيرفر wamp؟

لاأظنه يدعم jsp ويمكنك معرفة ذلك من الhelp

2. هل يمكنني اختبار صفحاتي التي تم عملها في سيرفر jrun على سيرفر tomcat؟

نعم JRun & JBoss & tomcat كلهم يدعمون jsp and servlet

3. هل يمكنني اختبار موقعي المبني بـ jsp في مواقع الاستضافة التي تستخدم سيرفرات Apache و لوحة تحكم Cpanel؟

لاأدري

ولك الشكر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الاخ العزيز جزاك الله كل خير

لدي بعض الاسئلة

1- ما هي معلومات الدخول لصفحة التحكم بالتوم كات الموجود على الرابط http://127.0.0.1:8080/admin/

2- ما هي السيرفرات المجانية او ذات الاسعار المنخفضة و التي تدعم الجافا بشكل جيد

شكرا جزيلا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

Tomcat's administration web application is no longer installed by default. Download and install the "admin" package to use it.

هذا ماظهر لي عندما حاولت الدخول على الادمن ، لذلك حمل الباكج الخاصه بالادمن من موقع اباتشي أو ابحث في documentation

السؤال الثاني لاأدري

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمة الله

أنا جربت كل حاجة بل واستخدمت ال Eclipse IDE

لكن نفس المشكلة بتظهر في ال servlets

HTTP Status 404 - /servlet/HelloWorld2

type Status report

message /servlet/HelloWorld2

description The requested resource (/servlet/HelloWorld2) is not available.

أرجو الرد السريغ لأني محتاجه ضروري وجزاكم الله خيرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

eclipse ماستخدمه لذلك لاأدري

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جرب إزالة الجافا و نصيبه مره أخري` قد يكون العيب منه.

أو استخدم نيتبينز

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا اخي العزيز

واعتذر عن وضع موضوعي بدون البحث لكني كنت محتاجته فعلا

شكرا جزيلا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

انا منزله الي كليبس عندي بس ماسبب لي مشاكل مع السيرفلت؟

يمكن فيه عندك خطأ بادراج المتغيرات؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

عزيزى عيسى

شكرا على الشرح الممتاز ولكنى أسفا لم اتمكن من تشغيل ال tomcat وأنا لا أعرف لماذا ولكنى مبرمج ب websphere وأقوم بتشغيلة بمتياز فبرجاء مساعدتى فى تشغيل ال tomcat ولكم جزيل الشكر

أو يوجد حل أفضل

توجد ver كثيرة للتجميل فممكن أرسال اللينك الأخير للتحميل وسوف أحاول التجربة مرة أخرى

وشكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .