English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Servlet هي خدمة الطلبات HTTP وتحقق javax.servlet.Servlet فئة Java للواجهة. يكتب مطورو التطبيقات الويب عادةً Servlet لتوسيع HttpServlet من javax.servlet.http وإنجاز فئة الوجهة الخاصة بالواجهة Servlet لمعالجة طلبات HTTP.
إليك مثال على مصدر Servlet لتوليد Hello World:
// استيراد المكتبات الضرورية java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; // توسيع HttpServlet public class HelloWorld extends HttpServlet { private String message; public void init() throws ServletException { // تنفيذ التجهيزات الضرورية message = "Hello World"; } public void doGet(HttpServletRequest request, HttpServletResponse response) يُلقي استثناء ServletException, IOException { // تعيين نوع المحتوى الخاص بالاستجابة response.setContentType("text/html"); // الفعلية هي هنا كاتبة مكتوبة خارجية out = response.getWriter(); out.println("<h1>" + message + "</h1> } public void destroy() { // لا شيء يحدث } }
دعونا نكتب الكود أعلاه في ملف HelloWorld.java، وضعه في مجلد C:\ServletDevel (في Windows) أو /usr/ServletDevel (في UNIX)، وستحتاج أيضًا إلى إضافة هذه الدلائل إلى CLASSPATH.
افترض أن بيئتك قد تم إعدادها بشكل صحيح، أدخل ServletDevel مجلد، واقم بترميز HelloWorld.java كما يلي:
$ javac HelloWorld.java
إذا اعتمد Servlet على أي مكتبات أخرى، يجب أن تحتوي CLASSPATH على تلك ملفات JAR. هنا، أضفت فقط ملف servlet-api.jar JAR لأنني لم أستخدم أي مكتبات أخرى في برنامج Hello World.
استخدمت هذه الأوامر سلسلة الأوامر Sun Microsystems Java Software Development Kit (JDK) المدمجة javac compiler. من أجل أن يعمل هذا الأمر بشكل صحيح، يجب إعداد متغير PATH لتشمل مسار SDK Java.
إذا كان كل شيء على ما يرام، فإن التجميع أعلاه سيقوم بإنشاء ملف HelloWorld.class في نفس الدليل. في الفصل التالي سيتم شرح كيفية توزيع Servlet التي تم تجميعها في بيئة الإنتاج.
بالتجربة، تطبيق Servlet يوجد في مسار <Tomcat-installation-directory>/webapps/ROOT، وملفات الصفحة الرئيسية في <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes.
إذا كان لديك اسم فئة كامل com.myorg.MyServletإذا كان ذلك هو الحال، فإن هذه فئة Servlet يجب أن تكون في <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes/com/myorg/MyServlet.class.
الآن، دعونا نسحب HelloWorld.class إلى مجلد <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes، ونضعه في المجلد <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/. web.xml أنشئ المدخلات التالية في الملف:
<web-app> <servlet> <servlet-name>HelloWorld</servlet-name> <servlet-class>HelloWorld</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorld</servlet-name> <url-pattern>/HelloWorld</url-pattern> </servlet-mapping> </web-app>
الإدخالات أعلاه يجب أن تكون مكتوبة داخل علامات <web-app>...</web-app> في ملف web.xml. قد تكون هناك إدخالات متاحة مسبقًا في هذا الملف، لكن لا تقلق.
إلى هنا، لقد أنهيت تقريبًا، الآن دعنا نبدأ في تشغيل خادم Tomcat باستخدام <Tomcat-installation-directory>\bin\startup.bat (على Windows) أو <Tomcat-installation-directory>/bin/startup.sh (على Linux/Solaris وما إلى ذلك) وتأكد من إدخال http://localhost:8080/HelloWorldإذا تم كل شيء بشكل صحيح، ستشاهد النتيجة التالية: