למעשה רוב ה-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)
ומדווחים על הטעויות אם מתגלות כאלו.
להלן שני מאמתים פופולאריים :