2012-01-25 2 views
1

факт: контейнер сервлетов создает один экземпляр на сервлет (надеюсь, что я прав по этому факту)
квест: если предположительно, 2 запроса отправляются на тот же сервлет, чтобы обновить столбец x в таблице Y для одной записи Будет ли превышено значение, отправленное по одному запросу, по другому запросу? Как это обрабатывается, контейнер будет обрабатывать его сам по себе или? ответьтесервлеты с несколькими запросами

ответ

1

факт: контейнер сервлетов создает один экземпляр каждого сервлета (надеюсь, я правильно на этом факте)

не гарантируется, но, как правило, верно , Так что больше предположения, чем факт.

если предполагается, что 2 запроса отправлены на тот же сервлет, чтобы обновить столбец x в таблице Y для той же записи, будет ли превышено значение, отправленное по одному запросу другим запросом? как это будет обрабатываться, контейнер будет обрабатывать его сам по себе?

Это зависит от базы данных, а не контейнера сервлетов. Будут два потока, использующих один и тот же экземпляр сервлета, каждый со своим собственным подключением к базе данных.

Но, конечно, второй запрос перезапишет значение базы данных, помещенное туда первым запросом. Не знаете, как еще вы ожидаете, что это сработает.

0

1 экземпляр сервлета. Верный.

Но запрос будет обрабатываться различными потоками, созданными контейнером.
Таким образом, код сервлета будет вызываться двумя разными потоками.

Поэтому убедитесь, что ваш код поточно

Смежные вопросы