Začneme obvyklým „Hello World“ příkladem
Příklad 1. HelloClientServlet.java
1: import java.io.*;
2: import javax.servlet.*;
3: import javax.servlet.http.*;
4:
5: public class HelloClientServlet extends HttpServlet
6: {
7: protected void doGet(HttpServletRequest req,
8: HttpServletResponse res)
9: throws ServletException, IOException
10: {
11: res.setContentType("text/html");
12: PrintWriter out = res.getWriter();
13: out.println("<HTML><HEAD><TITLE>Hello Client!</TITLE>"+
14: "</HEAD><BODY>Hello Client!</BODY></HTML>");
15: out.close();
16: }
17: }
Podívejme se jak daný servlet funguje.
Řádky 1 až 3 importují balíky potřebné pro běh servletu.
1: import java.io.*;
2: import javax.servlet.*;
3: import javax.servlet.http.*;
Třída servletu je deklarovaná na řádku 5. Servlet dědí třídu javax.servlet.http.HttpServlet, standardní třída pro HTTP servlety.
5: public class HelloClientServlet extends HttpServlet
Na řádcích 7 až 16 je předefinovaná metoda
doGet()
HttpServletu.
7: protected void doGet(HttpServletRequest req,
8: HttpServletResponse res)
9: throws ServletException, IOException
10: {
...
16: }
Na řádku 11 je pro nastavení content type odpovědi použita metoda
třídy HttpServletResponse
. Všechny hlavičky odpovědi
musí být nastaveny před tím než je zavolán
PrintWriter
nebo
ServletOutputStream
pro výpis dat.
11: res.setContentType("text/html");
Řádek 12: pomocí třídy PrintWriter
je zapsán
text do odpovědi.
12: PrintWriter out = res.getWriter();
13: out.println("<HTML><HEAD><TITLE>Hello Client!</TITLE>"+
14: "</HEAD><BODY>Hello Client!</BODY></HTML>");
Po ukončení zápisu zavíráme na řádku 15
PrintWriter
.
15: out.close();
Tento řádek je uveden pro úplnost. Není striktně vyžadován. Web
server zavírá PrintWriter
nebo
ServletOutputStream
automaticky po návratu metody
service
.