事实:servlet容器为每个servlet创建一个实例(希望我对此事实是正确的)
quest:假设有2个请求被发送到同一个servlet以更新表Y中的x列以获得相同的记录
一个请求发送的值是否会被其他请求覆盖?
如何处理,容器将自己处理它还是?
请回复
答案 0 :(得分:1)
事实:servlet容器为每个servlet创建一个实例(希望我对此事实是正确的)
不保证,但通常是真的。所以更多的是假设而不是事实。
如果假设有2个请求被发送到同一个servlet来更新表Y中的x列以获得相同的记录,那么一个请求发送的值是否会被其他请求覆盖?如何处理,容器将自己处理它?</ p>
这取决于数据库,而不是servlet容器。将有两个线程使用相同的servlet实例,每个线程都有自己的数据库连接。
但是当然是,第二个请求将覆盖第一个请求放在那里的数据库值。不知道你还有什么期望这个可以工作。
答案 1 :(得分:0)
有一个servlet实例。正确。
但请求将由容器创建的不同线程处理 因此servlet代码将由2个不同的线程调用。
因此,请确保您的代码线程安全