PDA

View Full Version : عملکرد صفحه web.xml در jsp



F.zeinali
پنج شنبه 26 مرداد 1391, 12:20 عصر
سلام دوستان
در پروژه jsp در فولدر WEB-INF یه صفحه با نام web.xml وجود داره
می خواستم بدونم که web.xml برای چی استفاده می شه و به چه دردی می خوره؟
و منظورش از کدهای زیر چیه؟
با تشکر


<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>

persianshadow
پنج شنبه 26 مرداد 1391, 12:28 عصر
خب فایل پروژه شما در نهایت یک war فایل یا ear فایل خواهد بود خب وقتی شما اپلیکیشن رو در یک سرور deploy میکنید اون سرور این فایل web.xml رو میبینه و فرضآ از همون welcome-file-list میفهمه که اگه یه کاربر سایت شما رو دید اولین صفحه ای که باید بهش نشون بده چیه.در اصل این فایل نقطه ورود برنامه محسوب میشه و شما می‌تونید توی اون تنظیمات مختلفی رو بنویسید که توسط سرور برنامه کاربردی مثلآ tomcat - glassfish - weblogic دیده میشه و بر اساس اون برنامه شما رو اجرا میکنه. بنابراین web.xml فایل بسیار مهمی محسوب میشه.

F.zeinali
پنج شنبه 26 مرداد 1391, 13:01 عصر
خب فایل پروژه شما در نهایت یک war فایل یا ear فایل خواهد بود خب وقتی شما اپلیکیشن رو در یک سرور deploy میکنید اون سرور این فایل web.xml رو میبینه و فرضآ از همون welcome-file-list میفهمه که اگه یه کاربر سایت شما رو دید اولین صفحه ای که باید بهش نشون بده چیه.در اصل این فایل نقطه ورود برنامه محسوب میشه و شما می‌تونید توی اون تنظیمات مختلفی رو بنویسید که توسط سرور برنامه کاربردی مثلآ tomcat - glassfish - weblogic دیده میشه و بر اساس اون برنامه شما رو اجرا میکنه. بنابراین web.xml فایل بسیار مهمی محسوب میشه.

ممنون از جوابتون
با این حساب اگر در این قسمت مشخص نکنیم که defualt page ما کدومه در تنظیمات هاست با مشکل روبرو می شیم؟
میشه توضیح بدین فرق کدهای که در بالا نوشتم چیه؟و در کدوم خط باید defualt page رو مشخص کرد؟چرا بعضی از این خط ها داری پسوند .htm و بعضی هاشون با پسون .jsp هستند؟

persianshadow
پنج شنبه 26 مرداد 1391, 14:26 عصر
این خطها هیچ فرقی با هم ندارن شما میتونید چندتاشون رو پاک کنید. این ها رو برای این گذاشته که بعضی افراد صفحه اولشون پسوند html داره یا مثلآ یکی دوست داشته صفحه اولش اسمش default باشه یکی index شما میتونید اصلآ اسمش رو بزارید test.jsp
شما کافیه توی یکی از این تگ ها اسم و پسوند صفحه اولتون رو بنویسید همین و مابقی رو پاک کنید.

javaphantom
پنج شنبه 26 مرداد 1391, 14:55 عصر
در WEB.XML شما توضیحی در مورد web application ی که نوشته اید رو به servlet container ی که داره این application رو deploy می کنه ارائه می دید. مثلا در همین مثالی که زدید دارید به servlet container می گید که اگر از بیرون کسی اسم برنامه من رو با url ی که deploy کردی و با پروتکل HTTP صدا زد تو برو و بگرد ببین کدوم از این صفحات هست و اون رو به تقاضا کننده نشون بده.
مهمتر از اون در برنامه شما کلاسهایی هستند که از کلاس HttpServlet ارث کرفته اند که به اون کلاس ها می گن Servlet. همانطور که اشاره کردم گفتم Servlet Container یعنی چی؟ یعنی ظرفی که درون اون ظرف فقط چی می شناسه Servlet حالا این طرف چی کار می کنه با این servlet ها؟ چرخه حیات این servlet ها رو مدیریت می کنه. چجوری می تونی بگی که این servlet ها کجای برنامه هستن ، اسمشون چی، از طریق چه urlی صدا می شن. همه و همه این تعریف ها که محصوص برنامه شما هست باید به این servlet container معرفی بشه چه جوری؟ یکی از راههای این معرفی از طریق این web.xml هست. چه جوری عمل می کنه سیستم. به محض اینکه شما web app خودتون رو در درون این ظرف انداختید می سراغ این web.xml بازش می کنه و چیزایی که بهش گفتین رون شرو می کنه به پیکربندی کردن تا بقولی web app شما آماده استفاده بشه. پس برای هر web app یک web.xml مخصوص بخودش باید باشه.

maktoom
جمعه 24 شهریور 1391, 13:06 عصر
سلام
وقتی وارد مبحث struts بشید بهتر متوجه کاربردش میشید.

همایون افشاری
دوشنبه 08 آبان 1391, 17:14 عصر
مثلا امکان ارسال پارامترهای اولیه به دورن صفحات و servlet ها از طریق این فایل ممکنه.