Java Server Pages (JSP)
Java Server Pages (JSP) یک فناوری برنامه نویسی سمت سرور است که منجر به ساخت برنامه های مبتنی بر وب میشود این عمل با یک روش پویا و مستقل از پلتفرم انجام میشود. JSP به پایگاه های داده سازمانی گروه API های جاوا مانند JDBC API دسترسی دارد.صفحات جاوا سرور برنامه هایی هستند که از رابط دروازه مشترک (CGI) استفاده میکنند..
مقایسه JSP با CGI
• عملکرد بسیار بهتری دارد زیرا JSP کمک میکند تا به جای داشتن فایل های CGI مجزا، عناصر پویا در صفحات HTML جاسازی شود.
• JSP قبل از پردازش با سرور کامپایل میشود، ولی CGI/Perl سرور را ملزم میکند هر بار که صفحه درخواست میشود، یک مفسر و اسکریپت هدف را بارگیری کند. صفحات JavaServer مانند سرولت ها،بر روی Java Servlets API ساخته شده اند، JSP به تمام APIهای قدرتمند مفسر در جاوا از جمله JDBC، JNDI، EJB، JAXP و غیره دسترسی دارد.
• صفحات JSP با servlet هایی ترکیب میشود که business logic مدیریت میکندو این مدل با موتورهای قالب سرولت جاوا پشتیبانی میشود.در
• JSP بخشی جدایی ناپذیر از Java EE است، ویک پلتفرم کامل برای برنامه های کاربردی کلاس سازمانی است.
• JSP میتواند همه برنامه ها و سخت افزارهای سخت تا پیچیده نقش داشته باشد.
کاربردهای JSP
همانطور که قبلا ذکر شد، JSP یکی از پرکاربردترین زبان ها در وب است. در زیر به مقایسه برخی از آنها پرداخته میشود.[1]
جدول 1- کاربردهای JSP
مقایسه JSP با صفحات سرور فعال (ASP) | مقایسه JSP با Pure Servlets | مقایسهJSP با شاملیت سمت سرور (SSI) | |
مزایای JSP دوچندان است. | نوشتن (و اصلاح) HTML معمولی راحت تر از داشتن println فراوانی است که HTML را تولید میکنند. | SSI در واقع فقط برای گنجاندن ساده در نظر گرفته شده است، نه برای برنامه های "واقعی" که از داده های فرمی استفاده میکنند | مقایسهJSP با جاوا اسکریپت |
ابتدا قسمت پویا در جاوا نوشته شده است. | جاوا اسکریپت میتواند HTML را به صورت پویا روی کلاینت تولید کند | ||
ویژوال بیسیک یا سایر زبان های خاص MS نیست، بنابراین استفاده از آن قدرتمندتر و آسان تر است. |
فناوری Java Servlet و JavaServer Pages (صفحات JSP) فناوری های سمت سرور هستند که بر بازار فناوری جاوا سمت سرور تسلط پیدا کرده اند علت علاقمندی به این فناوری، یادگیری نسبتاً آسان آن است که پارادایم Write Once, Run Anywhere را به برنامه های وب میآورند.اگر با پیروی از بهترین شیوه ها به طور موثر استفاده شود، سرولت ها و صفحات JSP به جداسازی ارائه از محتوا کمک میکنند.
بهترین شیوهها، شیوه هایی هستند که برای توسعه برنامههای کاربردی وب با کیفیت، قابل استفاده مجدد، اثبات شده اند و به راحتی قابل نگهداری هستند و مبتنی بر سرولت و JSP هستند.به عنوان مثال، کد جاوا (اسکریپت) جاسازی شده در بخش هایی از اسناد HTML پیچیدگی در برنامه ایجاد کند که که کارآمد نیستند و استفاده مجدد، بهبود و نگهداری آنها نیز دشوار است ولی اگر شیوه ای مناسب استفاده شود میتواند همه اینها را تغییر دهند.
در این شکل مشاهده میکنید که یک کلاینت درخواستی را به سرور ارسال میکند و سرور پاسخ را تولید میکند، آن را تجزیه و تحلیل میکند و پاسخ را برای مشتری ارسال میکند.
چرخه زندگی Servlet
کل چرخه زندگی یک سرولت توسط ظرف Servlet مدیریت میشود که از javax.servlet استفاده میکند.
چرخه زندگی Servlet عمدتاً از چهار مرحله میگذرد:
Servlet Life Cycle-Servlet and JSP tutorial- Edureka
بارگیری یک Servlet
هنگامی که یک سرور راه اندازی میشود، کانتینر servlet مستقر میشود و همه servlet ها را بارگذاری میکند.
راه اندازی Servlet
در مرحله بعد، یک servlet با فراخوانی متد ()init مقداردهی اولیه میشود.متد Servlet.init () توسط ظرف Servlet برای اطلاع رسانی فراخوانی میشودکه این نمونه Servlet با موفقیت نمونه سازی شده است و در شرف راه اندازی است.
رسیدگی به درخواست
سپس، servlet متد ()service را برای پردازش درخواست مشتری فراخوانی میکند و برای اطلاع دادن به Servlet در مورد درخواست های مشتری فراخوانی میشود.
خاتمه servlet
در نهایت، یک servlet با فراخوانی ()struct خاتمه مییابد.متد ()struct تنها یک بار در طول عمر یک Servlet اجرا میشود و پایان نمونه Servlet را نشان میدهد.متدهای init() وstruct() فقط یکبار فراخوانی میشوند.
مراحل ایجاد Servlet
برای ایجاد یک servlet باید چند مرحله را به ترتیب دنبال کرد که به شرح زیر است:
ایجاد ساختار دایرکتوری
ایجاد Servlet
کامپایل کردن Servlet
اضافه کردن نقشه ها به فایل web.xml
راه اندازی سرور و پروژه
دسترسی به به servlet [4]
اکنون، بر اساس مراحل بالا، اجازه دهید یک برنامه برای درک بهتر نحوه کار یک servlet ایجاد کنیم.
صفحات جاوا سرور (JSP)
فناوری JSP – یک برنامه باز و رایگان است که توسط Sun Microsystems به عنوان جایگزینی برای فناوری صفحات سرور فعال (ASP) مایکروسافت و یک جزء کلیدی از مشخصات Java 2 Enterprise Edition (J2EE) توسعه یافته است.بسیاری از سرورهای کاربردی تجاری موجود (مانند BEA WebLogic، IBM WebSphere، Live JRun، Orion و غیره) از فناوری JSP پشتیبانی میکنند.
کارکرد صفحات JSP
صفحه JSP اساسا یک صفحه وب با HTML قدیمی و بیت های کد جاوا است. پسوند فایل یک صفحه JSP به جای html یا .htm .jsp. است که به سرور میگوید که این صفحه نیاز به مدیریت خاصی دارد.و با یک افزونه سرور یا یک افزونه دیگر عمل خواهند کرد هنگامی که یک صفحه JSP فراخوانی میشود، (توسط موتور JSP) در یک سرور جاوا کامپایل میشود.در این مرحله سرولت با موتور سرولت مدیریت میشود سپس موتور servlet کلاس servlet را (با استفاده از بارگذار کلاس) بارگذاری میکند و آن را برای ایجاد HTML پویا برای ارسال به مرورگر اجرا میکند، (شکل1)
servlet هر شی لازم را ایجاد میکند، و هر شی را به صورت رشته ای در جریان خروجی مرورگر مینویسد. دفعه بعد که صفحه درخواست شد،موتور JSP سرولت بارگذاری شده را اجرا میکند مگر اینکه صفحه JSP تغییر کرده باشد،در این صورت به طور خودکار در یک سرورلت دوباره کامپایل شده و اجرا میشود.
شکل 1: جریان درخواست/پاسخ فراخوانی صفحه JSP
روش های مهم سرولت ها و صفحات JSP
تاکید بر استفاده از بهترین شیوه های JSP صرفاً به این دلیل است که صفحات JSP به طور گسترده تری مورد استفاده قرار میگیرند (احتمالاً به این دلیل که فناوری JSP جداسازی ارائه از محتوا را ترویج میکند).
یکی از بهترین روشهایی که استفاده از سرولتها و صفحات JSP را ترکیب و یکپارچه میکند، الگوی طراحی مدل View Controller (MVC) است.
یکپارچه سازی Servlets و JSP Pages
برای ساخت برنامه های کاربردی وب با استفاده از صفحات JSP با توجه به مشخصات JSP از دو روش استفاده میشود که عبارتند از معماری JSP مدل 1 و مدل 2. تفاوت این مدل ها در مکانی است که پردازش در آن انجام میشود در معماری مدل 1،همانطور که در شکل 2 نشان داده شده است، صفحه JSP
مسئول پردازش درخواست ها و ارسال پاسخ به مشتریان است.
شکل 2: معماری JSP مدل 1
در معماری مدل 2، servlets و صفحات JSP ادغام میشود. در این حالت، صفحات JSP برای لایه ارائه کاربرد دارد و از servlet ها برای پردازش وظایف استفاده میشود.servlet به عنوان یک کنترل کننده مسئول پردازش درخواست ها و ایجاد هر گونه Bean مورد نیاز صفحه JSP عمل میکند.کنترل کننده همچنین مسئول تصمیم گیری برای ارسال درخواست به صفحه های مورد نظر در JSP است. صفحه JSP ،اشیاء را که servlet ساخته است را بازیابی میکند و محتوای پویایی را استخراج میکند که برای درج در قالب مناسب باشد.
شکل 3: معماری JSP مدل 2
این مدل از مدل نمایش کنترلر (MVC)استفاده میکند و الگوی طراحی سبک معماری را ترویج میکند.در حال حاضر چندین چارچوب وجود دارد که الگوی طراحی را به شکلی مفیدپیادهسازی میکند و ارائه را واقعاً از محتوا جدا میکند. Apache Struts یک چارچوب رسمی برای MVC است.این چارچوب به بهترین وجه برای برنامههای پیچیده
استفاده میشود که در آن یک درخواست یا ارسال فرم میتواند به نتایج کاملاً متفاوتی منجر شود.[2]
جدول 2- تفاوت بین JSP و Servlet
JSP | سرولت |
ترکیبی از HTML و جاوا | جاوا |
HTML پویا تولید میکند | محتوای پویا تولید میکند |
منطق Presentation، برای ایجاد صفحات وب پویا با پردازش سمت سرور استفاده میشود. | منطق Backend برای رسیدگی به درخواست های سمت سرور و تولید محتوای پویا استفاده میشود. |
مشاهده کامپوننت | جزء کنترل کننده |
کوتاه تر و خواندن آسان تر | طولانی تر و پیچیده تر |
کندتر از سرولت ها | سریعتر از JSP |
.jsp | جاوا |
نتیجه گیری
JSP و Servlet دو ابزار مهمی هستند که در ایجاد برنامه های وب جاوا کاربرد دارند آنها مزایای بسیاری مانند مدیریت کاربران، قابلیت اطمینان و ویژگی های امنیتی دارند. این که کدام ابزار انتخاب شود، این، به نیازهای خاص برنامه وب بستگی دارد و گاهی اوقات استفاده از هر دو میتواند ایده خوبی برای به دست آوردن ویژگی های مورد نظر باشد.[3]
منبع
1. https://www.tutorialspoint.com/jsp/ index .htm
2. Qusay H. Mahmoud,2003, Servlets and JSP Pages Best Practices, https://www.oracle.com/technical-resources/articles/javase/servlets-jsp.html
3. Kanak Rana,2023, Difference Between Servlet and JSP, https://www.codingninjas.com/studio/library/difference-between-jsp-and-servlet
4. Vaidya ,Neha ,2023, Servlet and JSP Tutorial- How to Build Web Applications in Java?, https://www.edureka.co/blog/servlet-and-jsp-tutorial/
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
دوره های آموزشی برنامه نویسی
انجام پروژه های برنامه نویسی
تدریس خصوصی برنامه نویسی
بیش از 7 سال از فعالیت جاواپرو میگذرد
جاواپرو دارای مجوز نشر دیجیتال از وزارت فرهنگ و ارشاد اسلامی است
جهت ارتباط مستقیم با جاواپرو در واتساپ و تلگرام :
09301904690
بستن دیگر باز نشو! |