menusearch
javapro.ir

JSP چیست و چه کاربردی در جاوا دارد؟

جستجو
شنبه ۶ مرداد ۱۴۰۳ | ۱۵:۵۷:۵۷
۱۳۹۹/۱۱/۱ چهارشنبه
(4)
(0)
JSP چیست و چه کاربردی در جاوا دارد؟
JSP  چیست و چه کاربردی در جاوا دارد؟

کاربرد JSP در زبان جاوا چیست؟

 

 

 

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 تغییر کرده باشد،در این صورت به طور خودکار در یک سرورلت دوباره کامپایل شده و اجرا می‌شود.

 

jsp در زبان برنامه نویسی جاوا کاربردش چیه؟

شکل 1: جریان درخواست/پاسخ فراخوانی صفحه JSP

 

روش های مهم سرولت ها و صفحات JSP
تاکید بر استفاده از بهترین شیوه های JSP صرفاً به این دلیل است که صفحات JSP به طور گسترده تری مورد استفاده قرار می‌گیرند (احتمالاً به این دلیل که فناوری JSP جداسازی ارائه از محتوا را ترویج می‌کند).
یکی از بهترین روش‌هایی که استفاده از سرولت‌ها و صفحات JSP را ترکیب و یکپارچه می‌کند، الگوی طراحی مدل View Controller (MVC) است.


یکپارچه سازی Servlets و JSP Pages
برای ساخت برنامه های کاربردی وب با استفاده از صفحات JSP با توجه به مشخصات JSP از دو روش استفاده می‌شود که عبارتند از معماری JSP مدل 1 و مدل 2. تفاوت این مدل ها در مکانی است که پردازش در آن انجام می‌شود در معماری مدل 1،همانطور که در شکل 2 نشان داده شده است، صفحه JSP

مسئول پردازش درخواست ها و ارسال پاسخ به مشتریان است.

 

 

 

 

 

آموزش JSP  در زبان برناه نویسی جاوا

 

شکل 2: معماری JSP مدل 1

 

در معماری مدل 2، servlets و صفحات JSP ادغام می‌شود. در این حالت، صفحات JSP برای لایه ارائه کاربرد دارد و از servlet ها برای پردازش وظایف استفاده می‌شود.servlet به عنوان یک کنترل کننده مسئول پردازش درخواست ها و ایجاد هر گونه Bean مورد نیاز صفحه JSP عمل می‌کند.کنترل کننده همچنین مسئول تصمیم گیری برای ارسال درخواست به صفحه های مورد نظر در JSP است. صفحه JSP ،اشیاء را که servlet ساخته است را بازیابی می‌کند و محتوای پویایی را استخراج می‌کند که برای درج در قالب مناسب باشد.

 

 

 

 

اشنای با JSP یکی از فریمورک های زبان برنامه نویسی جاوا

شکل 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/

 

 

نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

1 نظر
عیسی اشرف
دوشنبه سی ام مرداد ۰۲
پاسخ
(2)
()
عیسی اشرف
سلام و خسته نباشيد شما که زحمت ميکشيد و مقالات تخصصي خوبي رو در سايت قرار ميديد، لطفاً وقتي داريد از مترجم هايي مثل گوگل ترنسليت استفاده ميکنيد، کمي هم دانش جاوايي خودتون و همچنين دستورات زبان فارسي رو باهاش بياميزيد، تا مقاله تون براي مخاطب خوانا تر و قابل فهم تر باشه. و صرفاً يک COPY/PASTE مبتدي نباشه.
پاسخ مدیر سایت
متن مقاله توسط تیم فنی جاواپرو اصلاح شد. از توجه شما سپاسگزاریم
پاسخ مدیر سایت
هدر سایت
مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو  [کلیک کنید]
آموزش پروژه محور اسپرینگ بوت(Spring Boot)-سیستم دانشگاه
ثبت نام در دوره آموزش Spring security
دوره پرتاب | آموزش پیش نیازهای برنامه نویسی
دوره آموزش مبانی زبان برنامه نویسی جاوا
دوره آموزش مفاهیم پیشرفته زبان برنامه نویسی جاوا
مقدمه ای از زبان برنامه نویسی جاوا(java)
آموزش زبان برنامه نویسی جاوا
آموزش گرافیک در زبان برنامه نویسی جاوا
آموزش مدیریت چیدمان گرافیکی در زبان جاوا
آموزش ساخت بازی دوبعدی در زبان جاوا
Collection ها در زبان برنامه نویسی جاوا
آموزش پروژه محور ساخت برنامه مدیریت بانک با JavaFX
نمونه پروژه های رایگان زبان جاوا
آموزش دیتابیس در زبان برنامه نویسی جاوا
نمونه مثال پایه ای زبان برنامه نویسی جاوا
نمونه مثال String در زبان برنامه نویسی جاوا
آموزش جامع برنامه نویسی JavaFX
آموزش ساخت برنامه آزمون تستی در JavaFX
آموزش برنامه نویسی سوکت در جاوا
آموزش ساخت برنامه دفترچه تلفن با JavaFX
آموزش ساخت ربات ساده تلگرام با زبان جاوا
آموزش ساخت برنامه ماشین حساب با JavaFX
آموزش ساخت برنامه ساده مدیریت ایمیل ها با JavaFX
دوره آموزش Spring Boot
سفارش انجام پروژه زبان برنامه نویسی جاوا(JAVA)
سفارش انجام پروژه برنامه نویسی متلب(MATLAB) با قیمت منصفانه و تحویل به موقع
سفارش انجام پروژه زبان برنامه نویسی سی شارپ (#C)
سفارش انجام پروژه زبان برنامه نویسی سی(C)
سفارش انجام پروژه زبان برنامه نویسی پایتون(Python)
سفارش انجام پروژه زبان برنامه نویسی PHP (پی اچ پی)
سفارش انجام پروژه زبان برنامه نویسی اسمبلی(Assembly)
سفارش انجام پروژه زبان برنامه نویسی جاوا اسکریپت (Javascript)
سفارش انجام پروژه هوش مصنوعی
سفارش انجام پروژه طراحی الگوریتم
سفارش انجام پروژه ساختمان داده ها
سفارش انجام پروژه مهندسی نرم افزار
سفارش انجام پروژه شبکه های کامپیوتری
سفارش انجام پروژه پایگاه داده: دیتابیس (database)
 سفارش انجام پروژه سیستم عامل
سفارش انجام پروژه پاورپوینت(PowerPoint)
سفارش انجام پروژه اکسل (Excel)
سفارش انجام تحقیق و تهیه مقاله
سوالات متداول برنامه نویسی
جدیدترین مطالب
گفتگو را شروع کنید
مشاوره ،تدریس خصوصی و سفارش انجام انواع پروژه های برنامه نویسی