JSF مخفف کلمات JavaServer Faces یک چهارچوب زبان جاوا با معماری سه لایه است وتکنولوژی استاندارد زبان برنامه نویسی جاوا برای ساخت رابط های صفحات وب مبتنی بر مؤلفه و رویداد گرا است. JSF یک برنامه کاربردی تحت وب است که برای ساده سازی توسعه یکپارچه رابط های کاربر مبتنی بر وب استفاده میشود.
JSF چیست ؟ JSF چه کاربردی در زبان جاوا دارد؟
JavaServer Faces (JSF) فناوری استاندارد جاوا برای ساخت رابط های وب مبتنی بر مؤلفه و رویداد محور است. مانند (JSP)، JSF اجازه دسترسی به داده ها و منطق سمت سرور را میدهد. بر خلاف JSP، که در اصل یک صفحه HTML مملو از قابلیت های سمت سرور است، JSF یک سند XML است که نمایانگر اجزای رسمی در یک درخت منطقی است. اجزای JSF توسط اشیا جاوا پشتیبانی میشوند، که مستقل از HTML هستند و دارای توانایی های گسترده Java هستند، از جمله دسترسی به API از راه دور و پایگاه داده.ایده اصلی یک چارچوب مانند JSF کپسول سازی (یا بسته بندی) فناوری های سمت مشتری مانند HTML، CSS و Java script است که به توسعه دهندگان اجازه میدهد بدون تعامل زیاد با این فناوری ها رابط های وب ایجاد کنند.
JSF در حال تکامل
JSF که از محبوبیت زیادی برخوردار است، اخیراً با چارچوب های وب سازگار با جاوا ، از جمله چارچوب های جاوااسکریپت سمت کاربر، روبرو شده است. با این وجود، JavaServer Faces به ویژه برای توسعه شرکت های جاوا در مقیاس بزرگ، استاندارد جاوا است. مشخصات JSF همچنین مجموعه ای از چارچوب ها و کتابخانه ها را ایجاد کرده است، که همگام با پیشرفت های اخیر سمت کاربر است.
در حالی که برنامه توسعه آینده مشخص نیست، زمانی که ما منتظر هستیم، JSF 2.3 به توسعه دهندگان فرصت کار میدهد. JSF 2.3 که در مارس 2017 منتشر شد، عمداً برای مدرن سازی JSF طراحی شده است. در میان چند صد تعمیر کوچک و به روزرسانی های بزرگتر، JSF 2.3 حاشیه نویسی مدیریت شده لوبیا را به نفع CDI لغو میکند.
ساختار JSF
JSF 2.3 در جاکارتا EE
در سپتامبر 2017، اوراکل قصد خود را برای انتقال Java EE به بنیاد Eclipse اعلام کرد. Java EE از آن زمان به Jakarta EE تغییر نام داد و JSF 2.3 (Eclipse Mojarra) برای ادامه تصویب شد. نسخه اصلی بعدی مشخصات JSF Eclipse Mojarra 3.0 خواهد بود.
ایجاد رابط های وب مبتنی بر مؤلفه ها در JSF
ایده اصلی JSF این است که قابلیت ها را در اجزای قابل استفاده مجدد محصور کند. این شبیه برچسب های قابل استفاده مجدد در JSP است، اما اجزای JSF رسمیت بیشتری دارند.در حالی که میتوانید از صفحات JSF در JavaServer Pages استفاده کنید، معمولاً از Facelets برای ساخت صفحات مستقل JSF استفاده میشود. Facelet ها صفحات XHTML هستند که برای تعریف رابط های JSF طراحی شده اند. با Facelets، از برچسب های XML برای ایجاد یک درخت مؤلفه استفاده میکنیم که به داربست یک رابط کاربری JSF تبدیل میشود.
لیست 1 قسمتهای اصلی یک صفحه ساده JSF را که با استفاده از Facelets نوشته شده است، ارائه میدهد. در این مثال ما از طریق لوبیایی که از طریق CDI در دامنه قرار گرفته است، به قابلیت های سمت سرور جاوا دسترسی پیدا میکنیم.
لیست کردن 1. نمونه صفحه JSF
<lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <lt;html xmlns=http://www.w3.org/1999/xhtml xmlns:h="http://xmlns.jcp.org/jsf/html" > <lt;h:head> <lt;title>Hello JavaWorld!<lt;/title> <lt;/h:head> <lt;body> #{javaBean.content} <lt;/body> |
در لیست 1 یک صفحه استاندارد XHTML مشاهده میکنیم. نمای Facelets در بالای XHTML ساخته شده است. علاوه بر فضای نام XHTML، یک فضای نام ثانویه تعریف و به آن ارجاع داده میشود.
مکانیسم پاسخ JSF
اجزای HTML در JSF
از نظر نحو، عنصر Listing 1 <h: head>، کتابخانه jsf / html را با پیشوند h ارجاع میدهد. سپس به مولفه خاص موجود در کتابخانه، که مولفه head است، ارجاع میکند. جز <h: head> عنصر سرآیند HTML را خارج میکند.
اجزای تو در تو
در رأس یک عنصر استاندارد اچ تی ام ال ،<title> قرار دارد. این عنصر به همراه عناصر کودک محتوای درون آن قرار داده شده به مولفه
<h: head> ارائه میشود. در متن فایل، یک عبارت JSF توسط نحو {}# موجود است. این دقیقاً مشابه یک عبارت JSP با فرمت {}$ است که اجازه دسترسی به اشیا جاوا در محدوده و توابع ساده را میدهد.الگوی اساسی برای JSF ساده است: از Facelets برای ساختن درخت XML استفاده کنید که به یک کتابخانه مؤلفه یا کتابخانه ارجاع میدهد، سپس از مؤلفه های داخل کتابخانه استفاده کنید تا اشیا جاوا را به صورت HTML ارائه دهد.
استفاده از اشیا جاوا در JSF
با بازگشت به لیست 1، توجه داشته باشید که در داخل عبارت JSF (${javaBean.content) شی javaBean هنگام اجرای این نشانه گذاری در دامنه است. XHTML Facelets به خاصیت content. موجود در شی javaBean دسترسی پیدا میکند. خروجی نهایی یک رابط وب است که ساختار نمای Facelets را با قابلیت های داده و منطقی سمت سرور جاوا ادغام میکند.
استفاده از یک عبارت JSF تنها یکی از راه های دسترسی به داده های برنامه جاوا از رابط کاربری JSF است. سرانجام، شما میخواهید سایر روش های تعامل یک جز مؤلفه JSF با Java backend -، مواردی مانند لیست داده ها و شبکه ها و انواع کنترل ورودی را کشف کنید. در حال حاضر، کافی است نحوه استفاده JSF از برچسب XML یا (حاشیه نویسی) را برای ایجاد درختی از اجزای سازنده که HTML را بر اساس داده های موجود در اشیا Java جاوا، بیاموزید.
ساختار یک برنامه JSF
مانند JavaServer Pages و Servlet API، JavaServer Faces به یک ساختار فهرست استاندارد و فراداده نیاز دارد. اینها به عنوان فایل های war. مستقر میشوند.ساختار یک فایل war. مشابه برنامه Servlet یا JSP است. این شامل یک فهرست / برنامه وب است، که دارای فایل های نشانه گذاری برنامه (در این مورد HTML، JSP و Facelet ) و همچنین یک فهرست WEB-INF/ است، که فراداده ها را برای توصیف برنامه ارائه میدهد.
معماری برنامه کاربردی JSF
JSF 2.3 مشخصات و پیاده سازی ها
یکی از نقاط قوت جاوا این است که مبتنی بر استاندارد است و این استانداردها توسط یک فرآیند جامعه منبع باز اداره میشوند. فرآیند Java Community (JCP) از ابتدای تاسیس خود بر توسعه فناوری جاوا نظارت داشته است. هنگامی که مشخصات یا مشخصات بهبود یافته توسط JCP تهیه و تایید شد، برای چندین شخص در دسترس است. تا همین اواخر، Servlets، JSP و JSF همه با استفاده از فرآیند مشخصات منبع باز JCP ساخته شده بودند. Mojarra اوراکل اکنون (Eclipse) پیاده سازی مرجع JSF است و MyFaces و PrimeFaces محبوب ترین شخص ثالث هستند.
هر یک از این چارچوب ها هسته JSF را اجرا میکنند که شامل برخی از مؤلفه های استاندارد است. همچنین فروشندگان ممکن است کتابخانه های اجزای اضافی را در بالای استاندارد ارائه دهند. هنگام ارزیابی چارچوب های JSF، بهتر است نیازهای برنامه خود را در نظر بگیرید و اینکه چه مجموعه کتابخانه هایی برای کمک به شما در ساخت آن موجود است. در حالت ایده آل، چارچوب JSF شما باید شما را تا آنجا که ممکن است نزدیک کند، دقیقاً خارج از جعبه.
MVC در JSF 2.3
JSF یک چارچوب MVC است که الگوی کنترل کننده مدل-نمایش را پیاده سازی میکند. در الگوی MVC، ایده این است که سه نگرانی از رابط کاربری را به قسمت های مجزا تقسیم کنید، بنابراین مدیریت آنها آسان تر است. به طور کلی، نمای وظیفه نمایش داده ها در مدل را دارد و کنترل کننده نیز وظیفه تنظیم مدل و هدایت کاربر به نمای صحیح را بر عهده دارد.
MVC در Java EE
رویدادها در JSF
JSF همراه با اینکه یک فریم ورک مبتنی بر مولفه است، یک چارچوب رویدادی است. این بدان معنی است که از رویدادها برای مدیریت تعاملات با کاربران و مؤلفه ها استفاده میکند. ما با یک نگاه سریع به معماری رویداد محور JSF نتیجه خواهیم گرفت.
در حالت ایده آل، رویدادها با جداسازی کد تولید رویداد از کد مدیریت رویداد، جدایی روشنی از نگرانی ها را ایجاد میکنند. رویدادهای JSF را میتوان به دو نوع تقسیم کرد: رویدادهای سمت سرور و رویدادهای سمت کاربر.
برای راه اندازی یک رویداد سمت سرور، یک کنترل کننده رویداد در کد جاوا ایجاد میکنید. سپس میتوانید یک فرستنده رویداد (روی نشانه گذاری مؤلفه) یا یک شنونده رویداد ایجاد کنید، که نقش او گوش دادن به رویدادهای چرخه زندگی است.
رویدادهای سمت کاربر - مواردی مانند کلیک کاربر بر روی یک دکمه در مرورگر - به صورت شفاف برای کنترل کنندگان رویدادها در سرور ترسیم میشوند. رویدادهای مؤلفه از این طریق مدیریت میشوند. در بیشتر موارد، چارچوب JSF سیم کشی واقعی وقایع را خلاصه میکند. این حتی در مورد رویدادهای AJAX یا Websocket نیز صادق است.
اجزای داخلی JSF
نتیجه
JavaServer Faces استاندارد جاوا برای ایجاد UI های تحت وب است. از زمان نوشتن، JSF 2.3 نسخه فعلی است و اجرای مرجع Eclipse Mojarra است. JSF برای درج و توسعه بیشتر در Jakarta EE انتخاب شده است، که خبر خوبی برای توسعه دهندگان جاوا است که میخواهند روشی استاندارد برای توسعه UI های مبتنی بر جاوا مدرن داشته باشند.
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
دوره های آموزشی برنامه نویسی
انجام پروژه های برنامه نویسی
تدریس خصوصی برنامه نویسی
بیش از 7 سال از فعالیت جاواپرو میگذرد
جاواپرو دارای مجوز نشر دیجیتال از وزارت فرهنگ و ارشاد اسلامی است
جهت ارتباط مستقیم با جاواپرو در واتساپ و تلگرام :
09301904690