programmera.net -> jsp -> normal för utskrift | info@programmera.net |
Servlet
1. Vad är en servlet? 2. Servletens livscykel 3. Hello World! |
1. Vad är en servlet?
En servlet är basen för all webbprogrammering i Java. Servletten tar nämligen emot HTTP-förfrågningar och returnerar svar på dessa till klienten.
När du skriver en servlet ärver du vanligtvis av klassen HttpServlet eller en subklass till denna. HttpServlet är en abstrakt klass vilket betyder att du måste överrida minst en av klassens metoder i din servlet. Vanligast är att man överrider:
2. Servletens livscykel
En servlet går igenom olika stadier under sitt "liv". För de flesta stadier görs ett metodanrop. Nedan beskrivs servletens livscykel:
Om man sätter load-on-startup i servlet-märket i web.xml laddas servleten redan då servern startas, init() körs också.
3. Hello World!
Nu ska vi skriva en första servlet. Vi lägger servleten i webbapplikationen programmera som skapades på sidan
Hello World! .
Vi sparar servleten till CATALINA_HOME/webapps/programmera/WEB-INF/classes/HelloWorld.java, och kompilerar den. Vi lägger till följande rader i web.xml:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet{
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException
{
PrintWriter out=res.getWriter();
out.println("<HTML>");
out.println("<BODY>");
out.println("<H1>Hello World!</H1>");
out.println("Från en servlet.");
out.println("</BODY>");
out.println("</HTML>");
}
}
Nu kan vi anropa servleten som hw, vi får följande:
<servlet>
<servlet-name>helloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloWorld</servlet-name>
<url-pattern>/hw</url-pattern>
</servlet-mapping>