JavaServer Pages (JSP) یک فناوری استاندارد جاوا است که شما را قادر میسازد صفحات پویا و داده محور را برای برنامه های وب جاوا خود بنویسید. JSP در بالای مشخصات Java Servlet ساخته شده است. این دو فناوری معمولاً با هم کار میکنند، خصوصاً در برنامه های وب قدیمی جاوا
JSP چیست؟ آشنایی با صفحات JavaServer
JavaServer Pages که یکی از اصلی ترین فناوری های وب جاوا است، همچنان به طور گسترده ای برای ساخت صفحات وب پویا که به Java backend متصل میشوند، استفاده میشود. (JSP) یک فناوری استاندارد جاوا است که شما را قادر میسازد صفحات پویا و داده محور را برای برنامه های وب جاوای خود بنویسید. JSP در بالای مشخصات Java Servlet ساخته شده است. این دو فناوری معمولاً با هم کار میکنند، خصوصاً در برنامه های وب قدیمی جاوا. از دیدگاه کدگذاری، بارزترین تفاوت بین آنها این است که با servlets شما کد جاوا را مینویسید و سپس علامت گذاری سمت کاربر مانند (HTML) را در آن کد قرار میدهید، در حالی که با JSP شما با اسکریپت سمت کاربر یا نشانه گذاری شروع میکنید، سپس برچسب های JSP را برای اتصال صفحه خودتان به صفحات Java backend تعبیه میکنید.
JSP همچنین با JSF (JavaServer Faces)، مشخصات جاوا برای ساخت برنامه های وب MVC(مدل-مشاهده-کنترل کننده) ارتباط نزدیک دارد. JSP نسبت به JSF یک فناوری نسبتاً ساده و قدیمی است که استانداردی برای چارچوب های وب جاوا مانند Eclipse Mojarra، MyFaces و PrimeFaces است. اگرچه دیدن JSP که به عنوان پیشانی برای برنامه های قدیمی JSF استفاده میشود، امری غیرمعمول نیست، اما Facelets فناوری نمای ترجیحی برای پیاده سازی های مدرن JSF است. اگرچه JSP ممکن است اولین انتخاب شما برای ایجاد صفحات وب پویا نباشد، اما این یک فناوری اصلی وب جاوا است. ساخت صفحات JSP نسبتاً سریع و آسان است و با یک سرویس دهنده جاوا در یک ظرف سرولت مانند تامکت با یک سرویس ارتباط برقرار میکنند. در برنامه های تحت وب جاوا با JSP روبرو خواهید شد، و گاه گاهی ممکن است برای ساخت صفحات وب جاوا ساده و پویا مفید واقع شوید. به عنوان یک توسعه دهنده جاوا، حداقل باید با JSP آشنا باشید.
چرخه حیات JSP
JSP در JakartaEE
پس از انتشار Java EE 8، اوراکل سرپرستی Java Enterprise Edition (Java EE) را به بنیاد Eclipse منتقل کرد. با پیشرفت، پلتفرم سازمانی جاوا با نام Jakarta EE تغییر نام داده است. همراه با مشخصات Java Servlet و JSF، JSP یکی از فناوری های وب جاوا است که برای پشتیبانی و ارتقا مداوم در Jakarta EE ارائه شده است.
نوشتن صفحات JSP
یک صفحه ساده JSP (.jsp) شامل نشانه گذاری HTML است که با برچسب های JSP تعبیه شده است. هنگامی که پوشه در سرور پردازش میشود، HTML به عنوان نمای برنامه، یک صفحه وب ارائه میشود. از برچسب های جاسازی شده JSP برای فراخوانی کد و داده های سمت سرور استفاده خواهد شد. نمودار در شکل 1 تعامل بین HTML، JSP و سرور برنامه وب را نشان میدهد.
لیست1. یک صفحه ساده JSP
<html> <body> <p>${2 * 2} should equal 4</p> </body> </html> |
JSP در ظرف سرولت
صفحات JSP باید درون یک ظرف سرویس دهنده جاوا مستقر شوند. به منظور استقرار یک برنامه وب جاوا بر اساس JSP و servlets، فایلهای jsp. ، کد جاوا و فراداده برنامه خود را در یک فایل war. بسته بندی میکنند، این یک فایل zip ساده با ساختار معمولی برای برنامه های وب است.
هنگامی که JSP را در ظرف سرولت خود بارگیری کردید، در یک سرولت کامپایل میشود. JSP ها و سرویس های جاوا از ویژگی های مشابهی برخوردار هستند، از جمله توانایی دسترسی و پاسخ به اشیا درخواست کننده. Apache Tomcat x9 پیاده سازی مرجع برای Servlet 4.0 و JSP 2.3 است.
شکل 1. بررسی اجمالی JSP
ظرف Servlet در مقابل سرور برنامه
در دنیای جاوا ، یک سرویس servlet به عنوان وب سرور شناخته میشود .یک ظرف servlet تعاملات درخواست و پاسخ را کنترل میکند و به این تعاملات اجازه میدهد تا با زیر مجموعه ای از قابلیت های سازمانی جاوا برای برنامه های وب ارتباط برقرار کنند. یک سرور برنامه جاوا شامل سرویس servlet به عنوان بخشی از پشته سازمانی کامل Java، از جمله EJB، JPA، JMS و موارد دیگر است.
نمونه برنامه کاربردی برای JSP
ما برای شروع کار با JavaServer Pages از یک نمونه برنامه در Tomcat استفاده خواهیم کرد. اگر Tomcat را قبلاً نصب نکرده اید، به صفحه بارگیری Tomcat بروید و نصب Tomcat را برای سیستم عامل خود انتخاب کنید.
می توانید Tomcat را به عنوان سرویس Windows نصب کنید یا آن را از خط فرمان با
/bin/catalina.sh start یا /bin/catalina.bat اجرا کنید. در هر صورت، تامکت را راه اندازی کنید، سپس به localhost: 8080 بروید تا صفحه خوش آمدگویی تامکت را در شکل 2 ببینید.
شکل 2. صفحه خوش آمد گویی تامکت
درخواست پارامترها
اشیا ضمنی، اشیا-داخلی هستند که از طریق صفحه JSP قابل دسترسی هستند. به عنوان یک توسعه دهنده صفحه وب، از این اشیا برای ایجاد دسترسی به مواردی مانند پارامترهای درخواست، که داده هایی است که هنگام ارسال درخواست HTTP از مرورگر ارسال میشود، استفاده خواهید کرد. URL مرورگر را برای اشیا ضمنی در نظر بگیرید:
http://localhost:8080/examples/jsp/jsp2/el/implicit-objects.jsp?foo=bar
foo = bar؟ پارامتر است، و میتوانید آن را در خروجی صفحه وب مشاهده کنید، جایی که جدول عبارت "EL" را نشان میدهد و مقدار "’’bar" است. برای آزمایش این، URL را به
http: // localhost: 8080 / samples / jsp / jsp2 / el / implicite-objects.jsp؟ foo = zork تغییر دهید، Enter را بزنید، و تغییر را در خروجی مشاهده خواهید کرد.
این مثال مقدمه ای بسیار ساده برای استفاده از برچسب های JSP برای دسترسی به پارامترهای درخواست سمت سرور است. در این حالت، صفحه JSP از شی object داخلی (ضمنی) به نام param برای دسترسی به پارامترهای درخواست برنامه وب استفاده میکند. شی param در داخل نحو بیان JSP موجود است که در لیست 1 مشاهده کردید.
در آن مثال، از عبارتی برای انجام ریاضیات استفاده کردیم: {2 * 2}$ که خروجی 4 است.
در این مثال، از عبارت روبرو برای دسترسی به یک شی و فیلد در آن شی استفاده شده است: ${param.foo}.
توابع JSP
اگر با HTML آشنا هستید، لیست 2 باید کاملاً آشنا به نظر برسد. شما عناصر HTML مورد انتظار <td> را دارید و به دنبال آن {}$ دستور JSP در لیست 1 آورده شده است. اما مقدار param.foo را ملاحظه کنید:
param.foo: <td>${fn:escapeXml(param["foo"])} </td> |
یک تابع JSP است.
یک عملکرد JSP یک بخش از قابلیت استفاده مجدد را دربر میگیرد. در این حالت، عملکرد فرار از XML است. JSP توابع مختلفی را ارائه میدهد و همچنین میتوانید خودتان توابع ایجاد کنید. برای استفاده از یک تابع، کتابخانه آن را به صفحه JSP خود وارد میکنید، سپس با این تابع تماس میگیرید.
در لیست 2، تابع EscapeXML با خط موجود است:
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> |
نحو کاملاً واضح است: توابع مورد نیاز را وارد کرده و پیشوندی را به آنها اختصاص میدهد)در این حالت "Fn"(که میتواند در تمام عبارات استفاده شود.
کتابخانه برچسب استاندارد JSP (JSTL)
خط import در لیست 2 با taglib نامیده میشود که مخفف کتابخانه برچسب یا (در این مورد) JSP Standard Tag Library (JSTL) است. کتابخانه های برچسب بیت های قابل استفاده مجدد را برای JSP تعریف میکنند. JSTL یک کتابخانه برچسب استاندارد است که شامل مجموعه ای از taglibs است که با هر سرویس و اجرای JSP از جمله Tomcat ارسال میشود.
کتابخانه "توابع" فقط یکی از برچسب های موجود در JSTL است.
کتابخانه tag های JSTL
ایمن سازی صفحات JSP
یک برچسب نمونه ای از کتابخانه اصلی است:
<c:out value = "${'<div>'}"/> |
که برچسب <div> را با XML خارج کرده است. این عملکرد مهم است زیرا خروجی مستقیم محتوا به یک صفحه وب از طریق {variable} $ را برای حملات تزریق اسکریپت باز میکند. این عملکرد ساده برای محافظت از صفحات وب در برابر چنین حمله هایی استفاده میشود.
کتابخانه اصلی همچنین شامل برچسب های مختلفی برای تکرار و کنترل جریان مانند مدیریت (IF / ELSE) است.
طرح یک برنامه وب JSP
تامکت از طرح استاندارد صفحات Java servlet و JSP پیروی میکند. ساختار کلی پوشه ای با نام برنامه است که در داخل دایرکتوری Tomcat / webapps مستقر شده است.
نتیجه
JPS یک فناوری کاملاً شناخته شده و متنوع برای توسعه نماهای برنامه وب جاوا است. صفحات JSP همراه با سرویس دهنده ها بسیار قدرتمند هستند و دسترسی به کل قابلیت های جاوا را فراهم میکنند. اگرچه ممکن است JSP اولین انتخاب شما برای توسعه یک برنامه وب مدرن جاوا نباشد، اما در برنامه های قدیمی با صفحات JSP روبرو خواهید شد. همچنین برای برنامه های ساده تر، جایی که میخواهید سریع HTML خود را به کد جاوا سمت سرور متصل کنید، انتخاب خوبی است. برچسب های JSTL قادر به مدیریت بیشتر نیازهای برنامه وب هستند و کتابخانه های شخص ثالث این قابلیت را برای فناوری های خاص گسترش میدهند و از موارد استفاده میکنند.
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
سایت جاواپرو با هدف تولید محتوای آموزشی با کیفیت رایگان در زمینه برنامه نویسی جاوا و اندروید فعالیت خود را در سال 1395 شروع کرد.امیدواریم بتوانیم دامنه گسترده تری از موضوعات پر نیاز در زمینه برنامه نویسی جاوا و اندروید را البته با حمایت شما پوشش دهیم.
تلفن: 09301904690