Avatar ·

كيف تعمل السيرفلتات: الإنشاء، الجلسات، المتغيرات المشتركة وتعدد الخيوط

مرحباً بالجميع! لقد بدأت للتو في تعلم Java EE والسيرفلتات، لكنني مرتبك في بعض الأمور الأساسية. هل يمكنكم الشرح بطريقة بسيطة؟ لدي سيرفلت بسيط يحسب عدد زيارات الصفحة. كنت أتوقع أن يرى كل مستخدم عداداً خاصاً به، لكن في الواقع كل شيء يعمل بشكل غريب. إليك الكود الخاص بي: ```java public class CounterServlet extends HttpServlet { private int counter = 0; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { counter++; response.getWriter().println("لقد زرت هذه الصفحة " + counter + " مرة(مرات)"); } } ``` لقد فتحته في متصفحين مختلفين (Chrome و Firefox). في المتصفح الأول، قمت بتحديث الصفحة 3 مرات - أظهر العداد 3. ثم في المتصفح الثاني، قمت بتحديثها مرة واحدة - وأصبح العداد 4! أي أنه لا يفصل الزيارات لمستخدمين مختلفين، بل يجمعها. لماذا يحدث ذلك؟ ولدي أسئلة أخرى: 1. كيف يتم إنشاء الـ