Servlet מגדיר את קוד הסטאטוס באמצעות
setStatus של HttpServletResponse.
אם התגובה כוללת
קוד סטאטוס מיוחד ומסמך, שים לב שיש להגדיר את קוד הסטאטוס לפני שליחת תוכן מסמך
כלשהו ללקוח (באמצעות PrintWriter).
זאת מכיוון שתגובת HTTP
מורכבת בסדר: שורת סטאטוס, כותרת אחת או יותר, שורה ריקה והמסמך עצמו.
ה-setStatus method מקבל int (סטאטוס הקוד
כארגומנט), אולם
במקום להשתמש במספרים מפורשים, ברור ואמין יותר להשתמש
בקבועים
שמוגדרים
ב-HttpServletResponse. לדוגמא,
במקום ציון סטאטוס הקוד ע"י מספר 404 נשתמש בקבוע
HttpServletResponse.SC_NOT_FOUND.
למרות שהגישה הכללית להגדרת קודי
סטאטוס
היא באמצעות setStatus, ישנם שני מקרים נפוצים שעבורם
HttpServletResponse מספק שני methods
שמהווים קיצורי דרך:
public void sendError(int code, String message)
method זה שולח קוד סטאטוס בצירוף
הודעה קצרה המסודרת אוטומטית בתוך מסמך HTML הנשלח ללקוח.
public void sendRedirect(String url)
method זה יוצר את תגובה 302
בצירוף הכותרת Location המספקת את כתובת ה-URL
של המסמך החדש שמהווה מסמך חלופי למסמך הנוכחי.
|