View Full Version : مباحث مربوط به servlet ها در جاوا
aliprogrammer
یک شنبه 28 آبان 1385, 11:48 صبح
با سلام به دوستان که بدون خستگی در حال فرا گرفتن علوم کامپیوتری هستند تا در آینده نچندان دور بتوانند برای مرز و بوم خود مفید واقع شوند .
بنده چند هفته است که شروع به فرا گیری تکنلوژی jsp نموده ام که در ابتدا با مفاهیم servlet آشنا شدم و به آن علاقه وافری پیدا کردم از این تصمیم به ایجاد این بخش گرفتم تا هم خودم مشکلاتم بر طرف شود و هم با دوستان علاقه مند هم فکری و همکاری داشته باشم .
سوال اول بنده این است که چگونه می توان از Session ها در servlet استفاده کرد ؟
pooyanm
دوشنبه 29 آبان 1385, 19:22 عصر
session کاربردهای مهمی دارد به این مثال توجه کن:
آیا رمز کاربر صحیح است
private void checkLogin(HttpServletRequest request){
if (String.valueOf(usernameFromRequest).equals(userNa meFromDB) &&
String.valueOf(userpassFromRequest).equals(userPas swFromDB)
) {
HttpSession hs = request.getSession();
hs.setAttribute("loggedIn", "yes");
}
}
بررسی اینکه آیا کاربر وارد شده است
if (String.valueOf("loggedIn").equals("yes")) {
// TODO: show user info
}
else {
// TODO: invalid user
}
http://java.sun.com/javaee/5/docs/api/javax/servlet/http/HttpSession.html
http://java.sun.com/javaee/5/docs/api/javax/servlet/http/HttpServletRequest.html
aliprogrammer
سه شنبه 30 آبان 1385, 00:57 صبح
با عرض تشکر و قدردانی به خاطر توجه شما دوست عزیز بنده تا حدی جوابم را گرفتم.
aliprogrammer
جمعه 03 آذر 1385, 19:53 عصر
با سلام ه دوستان سوال دیگری در مورد session ها برایم پیش آمده و این است که چگونه نتیجه یک متد را که کارش جستجو در بانک اطلاعاتی است را به یک session بفرستم ؟
azizi-ra
شنبه 04 آذر 1385, 10:48 صبح
با سلام ه دوستان سوال دیگری در مورد session ها برایم پیش آمده و این است که چگونه نتیجه یک متد را که کارش جستجو در بانک اطلاعاتی است را به یک session بفرستم ؟
اگر درست متوجه شده باشم، شما میخواهید مقداری را در session ست کنید.
HttpSession hs = request.getSession();
hs.setAttribute("loggedIn", "yes");
در این دستور مقدار "yes" در session با نام loggedin ذخیره میشود. خوب حالا اگر منظور شما یک آرایه باشد ، تابع setAttribute در ورودی هر نوع کلاس با پایه object را قبول میکند و در زمان بازیابی آن به شما یک object میدهد که باید آن را cast کنید.
HttpSession hs = request.getSession();
String str = (String)hs.getAttribute("loggedIn");
pooyanm
شنبه 04 آذر 1385, 19:25 عصر
البته اگر نتیجه جستجو حجم بالایی داره انباشتن اون در session کار صحیحی نیست زیرا پس از اینکه کاربر از بازدید سایت دست کشید مدت زمانی طول می کشه که session از حافظه پاک بشه (که این زمان معمولا از 30 تا 60 دقیقه برای time out لحاظ می شه) در این شرایط همیشه حجم بالایی از داده ها حداقل نیم ساعت به ازای هر کاربر بدون استفاده در حافظه می مونن.
کاربردهای دیگه session ردیابی مسیر مرور صفحات از اولین لحظه شروع بازدید تا آخرین صفحه بازدید شده و اطلاعات درخواست شده از سایت است (برای نمونه کلمات کلیدی جستجو شده در صفحات نوع اطلاعات مورد نیاز کاربران را نمایان می کنه)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.