Mer om Java Servlets | ||
På denna sida presenteras mer information om hur man implementerar och använder servlets. Informationen på denna sida är dock inte nödvändig men har redovisats för att eventuellt reda ut en del frågetecken som kan uppstå. Bl.a. beskrivs varför
Ärva från klassen GenericServletEn del litteratur anser/visar på hur man ärver från klassen GenericServlet. Det är inget fel i att göra det, men om man istället ärver ifrån klassen HttpServlet så får man bl.a. mer funktionalitet. Klassen HttpServlet ärver nämligen från klassen GenericServlet samt utökar med mer funktionalitet. En skillnad är att en servlet som ärver från GenericServlet kan användas utan HTTP-protokollet. På dessa hemsidor fokuserar jag dock på webbaserade lösningar och använder därför HttpServlet som superklass till alla min serlvets. En annan skillnad är hur man implementerar sin klass och hur servern (t.ex. Resin eller Tomcat) använder (anropar metoder i) objekt av klasserna. Klasser för servlets implementeras genom att definera om (eller "överlagra", eng. override) metoden service() från klassen GenericServlet eller metoderna doGet() och doPost() från klassen HttpServlet. När en webbläsare, vid exekvering, begär en servlet från servern kommer servern att anropa metoden service() i klassen (eller snarare ett objekt av klassen). Servlet som ärver från GenericServlet kommer alltså att göra allt i sin metod service(). Men om servlet istället ärver från klassen HttpServlet så kommer metoden service() endast att anropar någon av metodern doGet() eller doPost(), allt beroende på vilket sätt som servlet begärdes av webbläsare. Servern (som hanterar servlets och JSP-sidor) kallas servlet container (tidigare även för servlet engine). Enkel serlvet igenAtt låta sin servlet ärva från klassen GenericServlet är ett lättare sätt att skapa en servlet. Man behöver endast implementera en metod: service(). Denna servlet börjar med att tala om för webbserver (och webbläsare) vilken typ av information som kommer skickas - "text/html" i detta exempel. Därefter hämtas ett PrintWriter-objekt för att kunna skriva till den resulterande HTML-sidan. Återstående rader skriver ut själva HTML-koden, komplett med taggar för HTML, HEAD, TITLE och BODY. Det blir därför en del rader med kod för en sån enkel HTML-sida. /* | Till början på sida | Tillbaka till Java Servlets | Skapad av: Björn G D Persson. Uppdaterad: 2001-09-09 |
||