多个请求处理servlet

时间:2012-01-25 08:51:51

标签: servlets

事实:servlet容器为每个servlet创建一个实例(希望我对此事实是正确的)
quest:假设有2个请求被发送到同一个servlet以更新表Y中的x列以获得相同的记录 一个请求发送的值是否会被其他请求覆盖? 如何处理,容器将自己处理它还是? 请回复

2 个答案:

答案 0 :(得分:1)

  

事实:servlet容器为每个servlet创建一个实例(希望我对此事实是正确的)

不保证,但通常是真的。所以更多的是假设而不是事实。

  

如果假设有2个请求被发送到同一个servlet来更新表Y中的x列以获得相同的记录,那么一个请求发送的值是否会被其他请求覆盖?如何处理,容器将自己处理它?<​​/ p>

这取决于数据库,而不是servlet容器。将有两个线程使用相同的servlet实例,每个线程都有自己的数据库连接。

但是当然是,第二个请求将覆盖第一个请求放在那里的数据库值。不知道你还有什么期望这个可以工作。

答案 1 :(得分:0)

有一个servlet实例。正确。

但请求将由容器创建的不同线程处理 因此servlet代码将由2个不同的线程调用。

因此,请确保您的代码线程安全