JavaServer Page a Serverlety 2.díl Úvod do Serverletu

Napsal O webu (») 22. 6. 2008 v kategorii Internet, přečteno: 2159×
obrazky/jsp-logo.png

Struktura servletu

  • Budeme se zabývat servletem pracujícím nad HTTP protokolem. Tento servlet dědí od třídy HttpServlet.
  • Životní cyklus servletu:
    init()
  • zabezpečí počáteční inicializaci serletu. Může být zavolána jen jednou pro danou instanci servletu. Implementace není povinná. Pokud ji vynecháme, zavolá se metoda init() nadřazené třídy.

    service()
  • obsluha požadavků (podle typu požadavku GET, POST, atd. zavolá příslušnou metodu doGet(), doPost(), atd…).
  • Každý požadavek je reprezentován objektem HttpServletRequest a příslušná odpověď objektem HttpServletResponse.
  • Implementace není povinná. Pokud má servlet vracet nějakou odezvu, musíme implementovat minimálně metody doGet(), doPost()

    destroy()
  • Tato metoda má opačné účinky než init(). Nemusí být implementována

    Servlet - příklad

    package prg;
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class HelloWorldServlet extends HttpServlet {
    protected void doGet(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException {
    res.setContentType("text/html;charset=windows-1250");
    PrintWriter out = res.getWriter();
    out.println("<HTML><HEAD><TITLE>Hello World!</TITLE>"+
    "</HEAD><BODY><H2>Hello World!</H2></BODY></HTML>");
    out.println("<hr><em>"+getServletInfo()+"</em>");
    out.close();
    }
    public String getServletInfo() {
    return "HelloWorldServlet 1.0";
    }
    }


    Servlet – příklad – web.xml

    < ?xml version="1.0" encoding="ISO-8859-2"? >
    < !DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd" >
    < web-app >
    < servlet >
    < servlet-name>Hello</servlet-name >
    < servlet-class >prg.HelloWorldServlet</ servlet-class >
    < /servlet >
    < servlet-mapping >
    < servlet-name >Hello< /servlet-name >
    < url-pattern >/myHello< /url-pattern >
    < /servlet-mapping >
    < /web-app >

    Autor: Filip Koval
  • Facebook Twitter Topčlánky.cz Linkuj.cz

    Komentáře

    Článek ještě nebyl okomentován.


    Nový komentář

    Téma:
    Jméno:
    Notif. e-mail *:
    Komentář:
      [b] [obr]
    Odpovězte prosím číslicemi: Součet čísel devět a jedenáct