Java Servlet – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
מאין תקציר עריכה
מ הגהה
שורה 1:
'''Servlet''' ('''סֶרוְוְלֵט'''; ברבים: '''Servlets''' או '''סרוולטים''') היא טכנולוגיית [[צד-שרת]] מבוססת [[Java (פלטפורמת תוכנה)|Java]], המהווה את אחד מ[[ממשק תכנות יישומים|ממשקי תכנות היישומים]] של [[Java Enterprise Edition]]. המפרט של Java Servlet מגדיר את האופן בו רכיב [[תוכנה]] הכתוב ב[[Java|שפת ג'אווה]] ורץ בצד השרת, יכול להגיב לבקשות המגיעות מ[[צד לקוח|צד הלקוח]] (לדוגמה, [[HyperText Transfer Protocol#בקשות HTTP|בקשות HTTP]] מסוג GET ו-POST). סרוולטים הם [[מחלקה (תכנות)|מחלקות]] Java, אשר עקרונית יכולות לתקשר על גבי כל [[פרוטוקול תקשורת|פרוטוקול]] [[שרת-לקוח]], אבל השימוש הנפוץ ביותר ב-Servlets הוא עם פרוטוקול ה-[[HTTP]]. לפיכך, המילה "Servlet" לבדה בדרך כלל משמשת בהקשר ל-"HTTP Servlet". סרוולט הוא אובייקט המקבל בקשה (request) ויוצר תגובה (response) על סמך אותה בקשה.
 
Servlets רצים על גבי [[שרת HTTP]] והם מהווים את המקבילה של ג'אווה לטכנולוגיות אחרות ל[[דף אינטרנט דינאמי|תוכן ווב דינאמי]], כדוגמת [[PHP]] ו-[[ASP.NET]]. בדרך כלל, התוכן שנוצר על ידי Servlets הם דפי [[HTML]], אבל אלה יכולים להיות גם [[נתונים]] בצורות אחרות, כמו [[JSON]] ,[[XML]], ועוד. Servlets יכולים לשמור מידע אודות ה[[מצב (מדעי המחשב)|מצב]] (state) בתוך [[משתנה (תכנות)|משתני]] [[session]], על פני [[טרנזקציה|טרנזקציות]] שרת רבות, על ידי שימוש ב-[[עוגייה (אינטרנט)|coockiescookies]] או ב-[[URL rewriting]].
 
על מנתכדי [[פריסת תוכנה|לפרוס]] Servlet, נדרש שימוש ב-[[Web container]] (נקרא גם Servlet container) - רכיב ב[[שרת HTTP]] המשמש לאינטראקציה עם ה-Servlets. רכיב זה אחראי על ניהול מחזור החיים של servlets, ממפה בין כתובת [[URL]] ל-Servlet ספציפי, ומוודא שהבקשה הנכנסת ב-URL היא בעלת הרשאות גישה מתאימות. ממשק תכנות היישומים Servlet המוכל ב-[[Java package|package]] בשם <code>javax.servlet</code>, מגדיר את האינטראקציות המצופות בין web container ל-servlet.
 
סרוולטים ניתנים ליצירה באופן אוטומטי מתוך ([[JavaServer Pages]] (JSP, על ידי ה-[[JavaServer Pages compiler]]. ההבדל בין Servlets ל-JSP הוא בכך שב-Servlets משבצים [[קוד מקור|קוד]] [[HTML]] בתוך קוד Java, ואילו ב-JSP זה הפוך, שם קוד Java משובץ בתוך קוד HTML.