הדרך היותר נפוצה להגדרת כותרות היא באמצעות
setHeader
method של HttpServletResponse.
ה-method הזה משתמש בשתי מחרוזות: שם הכותרת וערך הכותרת. בדומה
להגדרת קודי סטאטוס, יש להגדיר את כותרות התגובה לפני החזרת המסך.
ודא שאתה מגדיר כותרות תגובה לפני שליחת
תוכן מסמך כלשהו ללקוח.
בנוסף לשימוש כללי ב-setHeader method , ה-HttpServletResponse מספק שני methods מיוחדים להגדרת
כותרות בעלי ערך מסוג תאריכים ומספרים שלמים.
public void setDateHeader(String name, long date)
method זה חוסך את הצורך בתרגום תאריכי Java
במילי שניות מאז 1970 (כפי שמוחזר ע"י System.currentTimeMillis או ע"י
Date().getTime) למחרוזת זמן GMT.
public void setIntHeader(String name, int value)
method זה חוסך את אי הנוחות שבהמרת int
ל-string לפני הוספתו לכותרת.
HTTP מתיר להופעה רב פעמית של אותו שם כותרת. לדוגמא, מאוד נפוץ
למצוא כותרות Accept המציינות תמיכה בסוגי MIME
שונים. ב-Servlets גירסה 2.1
, setHeader ,setDateHeader ו-setIntHeader
תמיד מוסיפות כותרות חדשות (ולא מחליפות כותרת קיימת בעלת שם זהה), כך שאין דרך
לבטל הגדרת כותרות שהוגדרו קודם לכן.
ב-Servlets
גירסה 2.2 השיטות הנ"ל מחליפות כל כותרת בעלת שם זהה, מאידך
addHeader, addDateHeader
ו-addIntHeader מוסיפות כותרת גם אם כותרת בשם זהה כבר
קיימת. לבירור האם כותרת מסוימת כבר הוגדרה השתמש ב-containsHeader.
ישנם
methods נוספים לציון כותרות נפוצות וביניהם:
public void setContentType(String type)
מגדיר את הכותרת Content-Type ונעשה בה
שימוש על ידי רוב ה-Servlets.
public void setContentLength(int len)
מגדיר את הכותרת Content-Length
אשר יעילה אם הדפדפן תומך בקשרי HTTP מתמשכים.
public void sendRedirect(String location) throws IOException
כאמור בפרק הקודם, מגדיר את הכותרת
Location
כמו גם את קוד הסטאטוס ל- 302.
|