جی‌اس‌پی

صفحات جاواسرور (جی‌اس‌پی)، یک فناوری از سکوی جاواست که به توسعه‌دهندگان نرم‌افزار سرورها کمک می‌نماید تا صفحات پویا مبتنی بر اچ‌تی‌ام‌ال و ایکس‌ام‌ال یا اسناد دیگری را ایجاد نمایند. اولین جی‌اس‌پی از سوی سان میکروسیستمز در سال ۱۹۹۹(۱۳۷۸) در پاسخ به ای‌اس‌پی و پی‌اچ‌پی ارائه شد. جی‌اس‌پی برای این موضوع طراحی شده‌است که محیط جاوا، به اندازه کافی برای محیط وب پشتیبانی انجام نداده‌است.
برای استقرار و اجرا، کانتینر وب متناسب به همراه سرولت نیاز است. جاوا سرولت و صفحات جاوا، از سوی فرایند جمعیت جاوا و سان مورد پشتیبانی قرا می‌گیرد.
دیدگاه
از لحاظ معماری، جی‌اس‌پی انتزاعی سطح بالا از جاوا سرولت‌ها ست. صفحات جی‌اس‌پی در سرور بارگذاری شده و از سوی ساختار مخصوصی که بسته‌های سرور جاوا بر روی آن نصب شده، برنامه وب جاوای ایی‌ایی اجرا می‌شود. این بسته‌ها در فایل‌های با پسوندهای war. و ear. قرار گرفته‌اند
جی‌اس‌پی، کدهای جاوا و همچنین فعالیت‌های از پیش تعریف شده با محتوای ایستا را ترجمه می‌نماید تا بر روی سرور اجرا شود و اسناد مبتنی بر اچ‌تی‌ام‌ال و ایکس‌ام‌ال را تولید و ارائه نماید. صفحات ترجمه‌شده و هر کتابخانه همراهی که از بایت‌کد جاوا استفاده می‌نماید, باید در یک ماشین مجازی جاوا (جی‌وی‌ام)اجرا شود. این ماشین مجازی باید بر روی میزبان نصب شده باشد تا محیط انتزاعی-طبیعی را فراهم نماید.
نمونه
جی‌اس‌پی‌ها در سرولت‌ها توسط کامپایلر جی‌اس پی ترجمه می‌شود. کامپایلر نیز به نوبه خود کد جاوایی را تولید می‌نماید که توسط کامپایلر جاوا ترجمه شده یا اینکه مستقیما به بایت کد تبدیل شده که مستقیم قابل اجراست. جی‌اس‌پی‌ها قادرند تا اصطلاحا به صورت تفسیر در هوا باشد تا زمان لازم برای بازیابی تغییرات کاهش یابد.
فارغ از این موضوع که مترجم جی‌اس‌پی کد منبع جاوا را برای سرور تولید نماید یا بایت کد را مستقیما تولید نماید. کد جی‌اس‌پی ورودی و جاوا سرولت ایجاد شده زیر را در نظر بگیرید:
جی‌اس‌پی
سرولت خروجی
package jsp_servlet;
import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import com.foo.bar; // Imported as a result of
import …
class _myservlet implements javax.servlet.Servlet, javax.servlet.jsp.HttpJspPage {
// Inserted as a
// result of
int serverInstanceVariable = 1;
public void _jspService( javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response )
throws javax.servlet.ServletException,
java.io.IOException
javax.servlet.ServletConfig config = …; // Get the servlet config
Object page = this;
PageContext pageContext = …; // Get the page context for this request
javax.servlet.jsp.JspWriter out = pageContext.getOut();
HttpSession session = request.getSession( true );
try {
out.print( " \r\n" );
out.print( " \r\n" );
// From
int localStackBasedVariable = 1;
out.print( " \r\n" );
out.print( " " );
// From
out.print( toStringOrBlank( "expanded inline data " + ۱ ) );
out.print( " \r\n" );
catch ( Exception _exception ) {
// Clean up and redirect to error page in
جی‌ای‌پی ۲٫۰
مشخصات نگارش جدید جی‌اس‌پی شامل ویژگی‌های جدید برای بهبود بهره‌وری برنامه‌نویسی ارائه نموده‌است.
یک عبارت زبانی که به توسعه‌دهندگان این امکان را می‌دهد تا قالب‌هایی شبیه جاکارتا ولوسیتی را ارائه دهد.
راهی ساده‌تر و سریع‌تر برای نمایش مقادیر پارامترها
راهی سریعتر برای بین‌های متداخل
سکوی جاوا، نسخه سازمانی نگارش پنجم، بر روی توسعه ساده‌تر با استفاده از زبان جاوا تمرکز نموده‌است.
ای‌اس‌پی
پی‌اچ‌پی
سکوی جاوا
برای مطالعه بیشتر
(جی‌اس‌پی ۲٫۱)
(جی‌اس‌پی ۲٫۰)
(جی‌اس‌پی ۱٫۲)
آموزش‌های عمومی با پشتیبانی دانشگاه جان هاپکینز