0 امتیاز
قبل در برنامه نویسی توسط (308 امتیاز)
در servlet به ازای هر درخواست یک thread ساخته مي شود آیا آبجکت های که در servlet استفاده کردیم هم یک بار ساخته می شوند یا به ازای هر درخواست یک آبجکت جدید ساخته می شود

1 پاسخ

0 امتیاز
قبل توسط (1.1هزار امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

فکر کنم اگه چرخه عمر یک کلاس Servlet در یک Servlet Container رو براتون توضیح بدم جواب سوالتون رو می گیرین:

  1. بسته به تنظیمات یک شئ از یک servlet یا زمانی که servlet container شروع به کار می کند و یا در زمان رسیدن اولین درخواست ساخته می شود.
  2. در اولین مرحله متد init آن servlet فراخوانی می شود.
  3. در خواست هایی که توسط thread های مختلف برای آن servlet ارسال می شود فقط و تنها فقط توسط متد service همان یک شئ ساخته شده در مرحله اول جواب داده می شود.
  4. در زمان updeploy شدن web application نیز متد destroy آن servlet فراخوانی می شود.

حالا اگر شما درون متد service (همان doGet و ...) یک servlet شئ بسازید که در پایان رسیدگی به درخواست شئ ساخته شده از بین می رود، اگر هم متغییر در سطح کلاس تعریف کنید (که توصیه نمی شود) شئ درون آن متغییر بین تمام thread هایی که به آن servlet در خواست فرستاده اند مشترک است!

قبل توسط (308 امتیاز)
ممنون از جواب کاملتون فقط یک سوال اگر یک درخواست به سرولت فرستاده شود یک شی در سرولت ساخته می شود چون هر درخواست یک thread مي باشد و قبل از پایان رسیدگی به درخواست thread در حال جریان thread دیگری فرصت استفاده به همان شی قبلی را داشته باشد منابع thread قبلي چه مي شود
قبل توسط (1.1هزار امتیاز)
فکر کنم جواب رو با دقت نخوندین، منظورتون از شئ ساخته میشه چیه؟ شیئی درون servlet ساخته نمیشه مگر اینکه شما کدشو نوشته باشین.

سوالات مشابه

+1 امتیاز
1 پاسخ 1.7هزار بازدید
+1 امتیاز
1 پاسخ 662 بازدید
سوال شده 8 سال قبل در برنامه نویسی توسط HS (12 امتیاز)
0 امتیاز
1 پاسخ 7.9هزار بازدید
0 امتیاز
2 پاسخ 1.0هزار بازدید
0 امتیاز
1 پاسخ 377 بازدید
0 امتیاز
0 پاسخ 269 بازدید
0 امتیاز
1 پاسخ 374 بازدید
0 امتیاز
0 پاسخ 310 بازدید
+1 امتیاز
0 پاسخ 384 بازدید
...