Avatar ·

सर्वलेट कैसे काम करते हैं: निर्माण, सत्र, साझा चर और मल्टीथ्रेडिंग

सभी को नमस्ते! मैंने अभी Java EE और सर्वलेट समझना शुरू किया है, और मेरे दिमाग में पूरी गड़बड़ी है। मैंने पेज विज़िट गिनने के लिए एक सरल सर्वलेट लिखा, लेकिन यह अजीब व्यवहार कर रहा है। यह रहा मेरा कोड: ```java @WebServlet("/counter") public class CounterServlet extends HttpServlet { private int counter = 0; // instance variable @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { counter++; resp.getWriter().println("Visits: " + counter); } } ``` जब मैं ब्राउज़र के दो अलग-अलग टैब में पेज खोलता हूं, तो काउंटर किसी कारण से तुरंत 2 या उससे अधिक बढ़ जाता है। मैंने सोचा था कि प्रत्येक उपयोगकर्ता के लिए सर्वलेट का एक अलग instance बनता है, लेकिन ऐसा लगता है कि ऐसा नहीं है। मुझे यह भी समझ नहीं आ रहा: 1. सर्वलेट कब बनता है? एक बार स्टार्ट होने पर या हर अनुरोध पर? 2. सत्र कैसे काम करते हैं? मैं प्रत्येक उपयोगकर्ता के लिए अलग-अलग विज़िट गिनना चाहता हूं। 3. अगर सर्वलेट सभी के लिए एक ही है, तो कैसे ब