جیاسپی
صفحات سرور جاکارتا (به انگلیسی: Jakarta Server Pages) با کوتهنوشت JSP (جیاسپی)، یک فناوری از سکوی جاواست که به توسعهدهندگان نرمافزارِ سرورها کمک مینماید تا صفحات پویا مبتنی بر اچتیامال و ایکسامال یا اسناد دیگری را ایجاد نمایند. اولین جیاسپی از سوی سان میکروسیستمز در سال ۱۹۹۹(۱۳۷۸) در پاسخ به ایاسپی و پیاچپی ارائه شد. جیاسپی برای این موضوع طراحی شدهاست که محیط جاوا، به اندازۀ کافی برای محیط وب پشتیبانی انجام ندادهاست.
پسوند(های) نام پرونده | .jsp, .jspx, .jspf |
---|---|
نوع رسانهٔ اینترنتی | application/jsp |
توسعهدهنده | بنیاد اکلیپس |
ارائهٔ اولیه | ۱۹۹۹ |
آخرین ویرایش | |
گونه | صفحه وب پویا |
استاندارد بینالمللی | JSR 245 |
قالب آزاد؟ | بله |
وبگاه |
برای استقرار و اجرا، کانتِینِر وب متناسب به همراه سرولت نیاز است. جاوا سرولت و صفحات جاوا، از سوی فرایند جمعیت جاوا و سان مورد پشتیبانی قرا میگیرد.
دیدگاه
از لحاظ معماری، جیاسپی انتزاعی سطح بالا از جاوا سرولتها ست. صفحات جیاسپی در سرور بارگذاری شده و از سوی ساختار مخصوصی که بستههای سرور جاوا بر روی آن نصب شده، برنامۀ وبِ جاوای اییایی اجرا میشود. این بستهها در فایلهای با پسوندهای war.
و ear.
قرار گرفتهاند
جیاسپی، کدهای جاوا و همچنین فعالیتهای از پیش تعریف شده با محتوای ایستا را ترجمه مینماید تا بر روی سرور اجرا شود و اسناد مبتنی بر اچتیامال و ایکسامال را تولید و ارائه نماید. صفحات ترجمهشده و هر کتابخانۀ همراهی که از بایتکد جاوا استفاده مینماید, باید در یک ماشین مجازی جاوا (جیویام)اجرا شود. این ماشین مجازی باید بر روی میزبان نصب شده باشد تا محیط انتزاعی-طبیعی را فراهم نماید.
نمونه
جیاسپیها در سرولتها توسط کامپایلر جیاس پی ترجمه میشود. کامپایلر نیز به نوبۀ خود کد جاوایی را تولید مینماید که توسط کامپایلر جاوا ترجمه شده یا اینکه مستقیماً به بایت کد تبدیل شده که مستقیم قابل اجراست. جیاسپیها قادرند تا اصطلاحاً به صورت تفسیر در هوا باشد تا زمان لازم برای بازیابی تغییرات کاهش یابد.
فارغ از این موضوع که مترجم جیاسپی کد منبع جاوا را برای سرور تولید نماید یا بایت کد را مستقیماً تولید نماید. کد جیاسپی ورودی و جاوا سرولت ایجاد شدۀ زیر را در نظر بگیرید:
جیاسپی
<٪@ page errorPage="myerror.jsp" ٪>
<٪@ page import="com.foo.bar" ٪>
<html>
<head>
<٪! int serverInstanceVariable = 1;٪>
<٪ int localStackBasedVariable = 1; ٪>
<table>
<tr><td><٪= toStringOrBlank( "expanded inline data " + ۱ ) ٪></td></tr>
سرولت خروجی
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 <٪@ page import="com.foo.bar" ٪>
import …
class _myservlet implements javax.servlet.Servlet, javax.servlet.jsp.HttpJspPage {
// Inserted as a
// result of <٪! int serverInstanceVariable = 1;٪>
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( "<html>\r\n" );
out.print( "<head>\r\n" );
…
// From <٪ int localStackBasedVariable = 1; ٪>
int localStackBasedVariable = 1;
…
out.print( "<table>\r\n" );
out.print( " <tr><td>" );
// From <٪= toStringOrBlank( "expanded inline data " + ۱ ) ٪>
out.print( toStringOrBlank( "expanded inline data " + ۱ ) );
out.print( " </td></tr>\r\n" );
…
} catch ( Exception _exception ) {
// Clean up and redirect to error page in <٪@ page errorPage="myerror.jsp" ٪>
}
}
}
جیایپی ۲٫۰
مشخصات نگارش جدید جیاسپی شامل ویژگیهای جدید برای بهبود بهرهوری برنامهنویسی ارائه نمودهاست.
- یک عبارت زبانی (به انگلیسی: Expression Language) که به توسعهدهندگان این امکان را میدهد تا قالبهایی شبیه جاکارتا ولوسیتی را ارائه دهد.
- راهی سادهتر و سریعتر برای نمایش مقادیر پارامترها
- راهی سریعتر برای بینهای متداخل
سکوی جاوا، نسخه سازمانی نگارش پنجم، بر روی توسعۀ سادهتر با استفاده از زبان جاوا تمرکز نمودهاست.
برای مطالعه بیشتر
- هنس، برجستن (۱۳۸۲). صفحات سرور جاوا، ویرایش سوم. ۳. رسانه اوریلی. شابک ۹۷۸-۰-۵۹۶-۰۰۵۶۳-۴.
- هانا، فیل (۱۳۸۲). جیاسپی ۲٫۰ - مرجع کامل. ۳. مکگرو هیل. شابک ۹۷۸-۰-۰۷۲-۲۲۴۳۷-۵.
- سیرا، کتی؛ بیتز، برت؛ باشام، برایان (۱۳۸۲). هِد فرست سرولت و جیاسپی. ۳. رسانه اوریلی. شابک ۹۷۸-۰-۵۹۶-۰۰۵۴۰-۵.
- بروان، سان دالتون، دانیل جپ، دیو جانسون، سینگ لی و مت رابیل. Pro JSP ۲. ای پرس. شابک ۱-۵۹۰۵۹-۵۱۳-۰.
پیوند به بیرون
- جیاسار ۲۵۴ (جیاسپی ۲٫۱)
- جیاسار ۱۵۲ (جیاسپی ۲٫۰)
- جیاسار ۵۳ (جیاسپی ۱٫۲)
- جیایپی ۱٫۱ و ۱٫۰
- آموزشهای جیاسپی به همراه کد منبع بایگانیشده در ۲۵ نوامبر ۲۰۰۹ توسط Wayback Machine
- تمرینهای آموزش جیاسپی بایگانیشده در ۲۶ نوامبر ۲۰۰۹ توسط Wayback Machine آموزشهای عمومی با پشتیبانیِ دانشگاه جان هاپکینز
- آموزشهای رسمی : جاو سازمانی، بخش ۵، فناوری صفحات جاوا
- صفحات جاواسرور نگارش ۱٫۲، مرجع نحوی، ، نگارش ۲٫۰
- دستورالعمال جیاسپی ۱٫۲, مگارش ۲٫۰