آشنایی با مفاهیم Java Server Page
در سری مقالات آموزش Java Enterpriseُ, به مفاهیم Java Server Page میپردازیم.
در مقاله قبل با Java Server Page ها آشنا شدیم. در Web Server به یک JSP Engine Container نیاز است تا بتواند صحفات JSP را پردازش کند. Apache Tomcat این Container را در خود دارد. JSP Container محیط اجرا و سرویس های مورد نیاز را تأمین میکند. Container میداند چطور element های مشخص, که بخشی از JavaServerPage ها هستند را متوجه شود و با آنها کار کند.
مراحل زیر روش ایجاد یک صفحه وب مبتنی بر JSP است :
- مرورگر یک درخواست را به یک صفحه ارسال میکند.
- web server تشخیص میدهد که این درخواست به یک صفحه JSP مرتبط است و آنرا به JSP Engine ارسال میکند
- JSP Engine فایل را load میکند و سپس آنرا به یک Servlet تبدیل میکند. تمام متن های نمایشی به دستور println() تبدیل میشوند.
- JSP Engine یک کلاس قابل اجرا از Servlet ایجاد میکند و آنرا به Servlet Engine ارسال میکند.
- باقی اعمال مرتبط با Servlet انجام میشوند
در اینجا JSP Engine بررسی میکند که آیا Servlet مرتبط با JSP ایجاد شده است و یا خیر. اگر تاریخ ایجاد JSP قبل از تاریخ ایجاد Servlet آن باشد به این معناست که فایل JSP تغییری نکرده است و رفتار Servlet معتبر است. این روش به سریع تر شدن JSP به نسبت به باقی زبان های اسکریپتی کمک میکند.
در قدم بعدی باید با Life Cycle آنها آشنا شویم. Life Cycle مربوط به JSP بسیار شبیه به Servlet ها است. با این تفاوت که چند روش برای تبدیل JSP به Servlet نیز به آن افزوده شده است. اگر بخواهیم Life Cycle برای JSP ها را بررسی کنیم, موارد زیر از ابتدای ایجاد آن تا انتها در JSP ها رخ میدهد :
- Compilation : وقتی مرورگر درخواست دسترسی به یک فایل JSP را میدهد, JSPEngine ضرورت compile یک JSP را بررسی میکند. اگر فایل JSP هرگز compile نشده و یا دستخوش تغیراتی شده باشد, Compile میشود و شامل چنین مواردی است :
- تحلیل JSP
- تبدیل JSP به Servlet
- Compile فایل Servlet ایجاد شده
- Initialization : وقتی Container یک فایل JSP را load میکند, متد jspInit() فراخوانی میشود. این متد مانند Servlet ها پیش از انجام سرویس و بررسی درخواست فراخوانی میشود. از طریق این متد میتوان نکات خاصی را در JSP مشخص کرد. این متد کاملا مشابه رفتار متد init در Servlet ها است.
public void jspInit()
- Execution : در این مرحله درخواست ها به JSP تا زمان destroy شدن JSP مدیریت میشود. همانند Servlet وقتی یک مرورگر درخواست یک JSP را صادر میکند, بعد از load شدن متد jspService_() را فراخوانی میکند. خاصیت این متد مانند service() در Servlet است.
void _jspService(HttpServletRequest var1, HttpServletResponse var2) throws ServletException, IOException;
- Clean Up : این مرحله وقتی اتفاق میافتد که فایل JSP از Container حذف شود. متد jspDestroy() در این مرحله فراخوانی میشود. قطع اتصال با پایگاه داده و باقی اعمال این چنین در این متد باید صورت پذیرد.
void jspDestroy();
همانطور که از تشابه JSP و Servlet مشاهده کردهاید, JSP یک روش ایجاد Servlet است بدون اینکه درگیرمعضلاتی مانند چاپ خط به خط کد ها باشیم.
در این مقاله و مقاله قبل سعی شد تا مفاهیم و اطلاعات پیرامون ساختار و نحوه عملکرد Java Server Page بررسی شود. در مقاله بعدی به کد نویسی JSP ها میپردازیم.
سری مقالات آموزش Java Enterprise همچنان ادامه دارد.
با ما همراه باشید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.