Я действительно основывал свою карьеру на этих строках -
По умолчанию
servlet containerзагружает только asingle instanceсервлет.Requests, обслуживаемый сервлетом,runвseparate threads, ноshare the same instance. Это позволяет приложениям гибкий и масштабируемый, поскольку он требует меньшего количества ресурсов и использует их эффективно.
Почти все знают, что это default threading model.
Этот вопрос/обсуждение является продолжением этого конкретного потока stackoverflow.
Но выход в моем случае будет совершенно другим,
May 21, 2016 1:57:59 PM com.stackoverflow.question8011138.MyServlet doGet
INFO: [doGet] Test before // 1st thread
May 21, 2016 1:58:26 PM com.stackoverflow.question8011138.MyServlet doGet
INFO: [doGet] Test before // 2nd thread
May 21, 2016 1:58:59 PM com.stackoverflow.question8011138.MyServlet doGet
INFO: [doGet] Test after // 1st thread
May 21, 2016 1:59:26 PM com.stackoverflow.question8011138.MyServlet doGet
INFO: [doGet] Test after // 2nd thread
Несмотря на то, что я попал в URL-адрес этого подробного сервлета в двух браузерах одного и того же браузера, разница в 2/2 раза, но я вижу следующий результат
May 21, 2016 1:58:26 PM com.stackoverflow.question8011138.MyServlet doGet
INFO: [doGet] Test before // 2nd thread
после секунд больше, чем ранее упомянутая ~ 1 секунда,
i.e к этому,
May 21, 2016 1:57:59 PM com.stackoverflow.question8011138.MyServlet doGet
INFO: [doGet] Test before // 1st thread
Почему?
Очевидно, что из вышеприведенного вывода второй запрос не подается после того, как первый был подан полностью, но в ч/б, вопреки тому, что предложил OP этому вопросу.
Что именно происходит?
Почему два разных выхода для одного и того же сценария?
result/ output ясно показывает, что сервер not synchronizing 2 requests.