PDA

View Full Version : ارتباط صفحات jsp با هم



moja.azimi
یک شنبه 16 مرداد 1390, 12:10 عصر
دوستان مشکل من اینه که می خوام یک فرم را در صفحه اول داشته و بعد از تایید اطلاعاتش را در صفحه بعد بگیرم.
با سرولت این کار را بلدم. ایا تو jsp هم راحی هست ممنون میشم کمکم کنید

Mirmahdi90
یک شنبه 16 مرداد 1390, 13:23 عصر
سلام
یک راهش اینه که توی Session جاری یک سری متغیر ذخیره کنی و تو هر صفحه ی دیگه ای که هستی از Session جاری بخونیشون:

Sessions.getCurrent().setAttribute("Person", person);//saving an object in Current Session
Sessions.getCurrent().getAttribute("Person");//getting an object from current Session

moja.azimi
یک شنبه 16 مرداد 1390, 13:30 عصر
مرسی دوست عزیز ولی اگه متنی باشه خیلی به سرور فشار میاد اگه از session استفاده کنم. راه دیگری نیست؟

phoenix87
یک شنبه 16 مرداد 1390, 14:20 عصر
شما حتما نیاز نیست سرولت بسازی می تونی دستورات سرولت رو تو یه صفحه jsp بزاری.

moja.azimi
یک شنبه 16 مرداد 1390, 14:49 عصر
شما حتما نیاز نیست سرولت بسازی می تونی دستورات سرولت رو تو یه صفحه jsp بزاری.
سلام ممنون می شم یک مثال برام بزاری. من می خام یک صفحه ابتدایی index.jsp داشته باشم و توش اطلاعات بگیرم و بعد از submit کردن بره تو صفحه sucess و اطلاعات رو تو کنه. اگر کمکم کنید ممنون میشم خیلی مهم یادگیریش واسم.

phoenix87
یک شنبه 16 مرداد 1390, 18:41 عصر
شما به جا ساختن صفحه سرولت یه صفحه jsp دیگه بساز.کدای html رو هم خواستی پاک کن چون نیازی بهش نداری.حالا دستورات رو اونجا بنویس.همین.چون صفحات jsp دست آخر به سرولت تبدیل می شن.روی صفحات jsp کلیک راست کنی میبینی نوشته view as servlet .یعنی تو پروژت به جا ساختن سرولت یه صفحه jsp بساز کداتو توش بنویس

m44miri
دوشنبه 17 مرداد 1390, 12:05 عصر
یک نکته که دوستان بهش اشاره نکردند.وقتی قصد داری از این session ها استفاده می کنی باید با url و یا cookie ترکیبش کنی والا اگه چند نفر بطور همزمان ازش استفاده کنند نشستها قاطی پاتی میشه ... مثلا وقتی دونفر با نام کاربری و کلمه عبور خودشون وارد سیستم میشن ممکنه در صفحه بعد جاشون عوض بشه و جفت نشستها یکی بشه ...مراقب این مسئله باشید که توی پروژهای واقعی سر کار نرید

moja.azimi
دوشنبه 17 مرداد 1390, 14:05 عصر
یک نکته که دوستان بهش اشاره نکردند.وقتی قصد داری از این session ها استفاده می کنی باید با url و یا cookie ترکیبش کنی والا اگه چند نفر بطور همزمان ازش استفاده کنند نشستها قاطی پاتی میشه ... مثلا وقتی دونفر با نام کاربری و کلمه عبور خودشون وارد سیستم میشن ممکنه در صفحه بعد جاشون عوض بشه و جفت نشستها یکی بشه ...مراقب این مسئله باشید که توی پروژهای واقعی سر کار نرید
میشه بیشتر توضیح بدی ممنون میشم.

smartleopard
دوشنبه 17 مرداد 1390, 18:40 عصر
سلام
بهترین راه برای دریافت پارامترها چه در صفحات JSP و چه در Servlet استفاده از قطعه کد زیر است

request.getParameter("parametername")

برای درک بهتر موضوع یه پروژه ساده که با Netbeans نوشتم رو براتون پیوست کردم اگه به مشکلی برخوردید مطرح کنید
موفق باشید :لبخندساده:

73515

moja.azimi
دوشنبه 17 مرداد 1390, 21:29 عصر
مرسی از لطفت اینو یاد گرفتم البته با خوندن مقاله ولی بازم ممنون. میشه بگی چه جوزی بدون فرم از یه صفحه به صفحه دیگه متغیری رو بفرستم؟ مثلا فرم Login رو در نظر بگیر واسه تایید اطلاعات میره به یک صفحه دیگه مثل validate بعد اگر اشتباه بود باز به Login برمی گرده یک پیغام میده. تا validate رو مشکل ندارم ولی ارسال پارامتر از validate به Login رو مشکل دارم چون فرمی در کار نیست.

phoenix87
سه شنبه 18 مرداد 1390, 01:13 صبح
شما با یه دستور شرطی میگی اگه درست برو به validate اگه نه برو به صفحه خطا.یه فرم می سازی تو login بهش میگی action کن به یه صفحه jsp یا servlet که پارامتر ها رو از صفحه لاگین بگیره حالا پارامتر ها رو با دیتابیس چک می کنه درست بود بهش بگو بره کجا اگه نه دوباره برو صفحه لاگین .شما فکر کنم هنوز خوب وظایف لایه ها رو یاد نگرفتی . باید که کنترلر باشه که به صفحه ها نظارت کنه اون کنترلر سرولت هست که کداشو هم می تونی تو سرولت بزاری هم تو jsp فرقی نداره چون دست آخر jsp به سرولت تبدیل میشه

smartleopard
سه شنبه 18 مرداد 1390, 13:54 عصر
سلام
کدی که پیوست کردم رو مطالعه کنید، مشکلتون رو حل می کنه

73557

moja.azimi
سه شنبه 18 مرداد 1390, 15:19 عصر
سلام ار لطفت ممنون میشه کمی خلاصه هم توضیح بدی تا کامل یاد بگیرم مخصوصا dispatcher رو.

jessisw
سه شنبه 18 مرداد 1390, 16:10 عصر
wow, our group has grown extremely prominent =). And straight a dope of notice quest of those that are looking at the gowns - not all styles are that ostentatiously made. When you are shopping or having your gown bespoke, block the main seams and hems etc because sometimes they are absolutely dodgy.

smartleopard
سه شنبه 18 مرداد 1390, 18:26 عصر
wow, our group has grown extremely prominent =). And straight a dope of notice quest of those that are looking at the gowns - not all styles are that ostentatiously made. When you are shopping or having your gown bespoke, block the main seams and hems etc because sometimes they are absolutely dodgy.


منظور این دوستمون دقیقا چیه؟؟؟؟؟؟؟؟!!!!!!!!! :متفکر:
کسی متوجه شده!!!!!! :لبخند:

smartleopard
سه شنبه 18 مرداد 1390, 18:27 عصر
سلام
نکته اول:
در صفحات وب هر عمل و درخواستی تحت عنوان Request به سمت سرور فرستاده میشه. برای روشن شدن موضوع همین برنامه ای که برات ضمیمه کردم رو توضیح می دم. با فشردن دکمه Login اطلاعات شما در قالب Request برای سرور فرستاده میشه. (توی این برنامه اطلاعات برای صفحه validate فرستاده میشه چون که action فرم رو برابر با validate.jsp قرار دادیم) این صفحه عملیات لازم رو روی Request ای که دریافت کرده انجام میده. حالا باید تصمیم گرفته بشه که این درخواست پردازش شده به چه صفحه ای فرستاده بشه. بدین منظور ابتدا می بایست نام صفحه مورد نظر تعیین و سپس با استفاده از متد forward درخواست را برای صفحه مشخص شده ارسال نمود.
نکته دوم:
مواردی شبیه به index.jsp?errId=1 تحت عنوان URL Rewriting شناخته می شن چرا که آدرس (URL) اصلی همان index.jsp می باشد ولی برای ارسال یک یا چند پارامتر به این صفحه، از فرمتی که ذکر شد استفاده می شه.

امیدوارم به خوبی متوجه شده باشی
موفق باشی :لبخندساده:

moja.azimi
سه شنبه 18 مرداد 1390, 20:06 عصر
دوست عزیز Request رو بلدم فقط ساختار dispatcher رو برام بگی ممنون.

smartleopard
چهارشنبه 19 مرداد 1390, 11:49 صبح
دوست عزیز Request رو بلدم فقط ساختار dispatcher رو برام بگی ممنون.

سلام
متن زیر که توی پست قبلیم برات نوشتم داره کار dispatcher رو توضیح میده دیگه
"حالا باید تصمیم گرفته بشه که این درخواست پردازش شده به چه صفحه ای فرستاده بشه. بدین منظور ابتدا می بایست نام صفحه مورد نظر تعیین و سپس با استفاده از متد forward درخواست را برای صفحه مشخص شده ارسال نمود."
به زبان ساده و همونطور که از نامش مشخصه، برای ارسال و انتقال درخواست به صفحه ای دیگه به کار میره

mohammad_pro
دوشنبه 18 اردیبهشت 1391, 10:42 صبح
دوستان من می خوام از طریق جاوا اسکریپت با servlet ارتباط داشته باشم
راهنمایی می خوام

همایون افشاری
سه شنبه 26 اردیبهشت 1391, 16:01 عصر
توی صفحه validate زمانی که مثلا کاربر معتبر نیست می تونید با کد زیر به صفحه login و البته با یک خطا بر گردید :
response.sendRedirect("./login.jsp?error=error");