דף הבית   | מפת האתר   | אודות

מדריך ללימוד Servlets >Servlets בסיסיים>דוגמה 2: Servlet היוצר HTML

הינך נמצא ב :

Servlet היוצר HTML  

למעשה רוב ה-Servlets יוצרים מסמך HTML בתגובה לבקשת HTTP. על מנת לעשות כן יש לבצע את הפעולות הנוספות הבאות בהשוואה לקוד המייצר מסמך טקסט רגיל:

1. להודיע לדפדפן שתוכן המסמך הוא מסוג HTML ע"י הגדרת ה-header:
Content-type של תגובת HTTP
. כמצוין בשורת קוד הבאה:

response.setContentType("text/html");

ניתן לבצע את אותו דבר בעזרת ה-method  :setHeader של האובייקט response מסוג HttpServletResponse, אולם משום שהגדרת סוג התוכן המוחזר היא משימה כה נפוצה, HttpServletResponse מממש את ה-setContentType method.

למרות ש-HTML הוא הסוג הנפוץ ביותר המיוצר ע"י Servlets, יצירת סוגים אחרים של מסמכים אינה דבר נדיר. במקרים אלו הגדרת סוג התוכן (Content-type) צריכה להיות בהתאם על מנת שהדפדפן יידע איך להציג אותם. דוגמא לסוגי תוכן אחרים: image/gif ,text/pdf וכו'.

שים לב שהגדרת כותרת סוג התוכן צריכה להופיע לפני החזרת תוכן כלשהו באמצעות PrintWriter.

2. להשתמש במשפטי println ליצירת מסמך בפורמט HTML.

דוגמה מס' 2 מראה Servlet  היוצר מסמך HTML  בתגובה לבקשת GET.

הגדרנו את ה-class שנקרא DesignedHtmlServlet היורש מ-HttpServlet ומגדיר שלושה methods עזר המשמשים לבניית HTML המעוצב בהתאם לעיצוב הכללי של האתר.
ה-StartOfHtml method  מוסיף את ה-Banner, מגדיר את קובץ ה-CSS, מגדיר את העימוד הכללי של הדף.
ה-ExampleTitle method  מקבל כותרת עבור נושא הדוגמה ומעצב אותה בהתאם למאפייני הכותרת הראשית, כפי שמוגדרת ב-CSS.
ה-EndOfHtml method  כותב את יתר תגי ה-HTML על מנת לסגור את הדף.
כל ה-Servlets בדוגמאות הבאות יירשו מ-class זה במקום מ-HttpServlet וישתמשו ב-methods אלו.


להלן הקוד
HtmlServlet.java. להרצה לחץ  להורדה לחץ


>

המלצה: השתמש במאמת HTML כדי לבדוק את תחביר הדפים שה-Servlet יוצר.

HTML validators  מאמתים את נכונות מבנה דף ה-HTML ע"י בדיקת תחבירו  (לעומת מפרט ה -HTML הרשמי המצוין בשורת ה-DOCTYPE) ומדווחים על הטעויות אם מתגלות כאלו. להלן שני מאמתים פופולאריים :

  1. HTML validator  של W3C , ראה http://validator.w3.org

  2. HTML validator  של Web Design Group,
    ראה
    http://www.htmlhlp.com/tools/validator



       
כל הזכויות שמורות למערכות מידע אית"ן