Servlets - Ejemplos
Los servlets son clases de Java que atienden solicitudes HTTP e implementan javax.servlet.Servletinterfaz. Los desarrolladores de aplicaciones web suelen escribir servlets que amplían javax.servlet.http.HttpServlet, una clase abstracta que implementa la interfaz Servlet y está especialmente diseñada para manejar solicitudes HTTP.
Código de muestra
A continuación se muestra la estructura de código fuente de muestra de un ejemplo de servlet para mostrar Hello World:
// Import required java libraries
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
// Extend HttpServlet class
public class HelloWorld extends HttpServlet {
private String message;
public void init() throws ServletException {
// Do required initialization
message = "Hello World";
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// Set response content type
response.setContentType("text/html");
// Actual logic goes here.
PrintWriter out = response.getWriter();
out.println("<h1>" + message + "</h1>");
}
public void destroy() {
// do nothing.
}
}
Compilar un servlet
Creemos un archivo con el nombre HelloWorld.java con el código que se muestra arriba. Coloque este archivo en C: \ ServletDevel (en Windows) o en / usr / ServletDevel (en Unix). Esta ubicación de ruta debe agregarse a CLASSPATH antes de continuar.
Suponiendo que su entorno está configurado correctamente, ingrese ServletDevel directorio y compile HelloWorld.java de la siguiente manera:
$ javac HelloWorld.java
Si el servlet depende de otras bibliotecas, también debe incluir esos archivos JAR en su CLASSPATH. Solo he incluido el archivo JAR servlet-api.jar porque no estoy usando ninguna otra biblioteca en el programa Hello World.
Esta línea de comando utiliza el compilador javac integrado que viene con el kit de desarrollo de software Java (JDK) de Sun Microsystems. Para que este comando funcione correctamente, debe incluir la ubicación del SDK de Java que está utilizando en la variable de entorno PATH.
Si todo va bien, la compilación anterior produciría HelloWorld.classarchivo en el mismo directorio. La siguiente sección explicaría cómo se implementaría un servlet compilado en producción.
Implementación de servlet
De forma predeterminada, una aplicación de servlet se encuentra en la ruta <Tomcat-installationdirectory> / webapps / ROOT y el archivo de clase residiría en <Tomcat-installationdirectory> / webapps / ROOT / WEB-INF / classes.
Si tiene un nombre de clase completamente calificado de com.myorg.MyServlet, entonces esta clase de servlet debe estar ubicada en WEB-INF / classes / com / myorg / MyServlet.class.
Por ahora, copiemos HelloWorld.class en <Tomcat-installationdirectory> / webapps / ROOT / WEB-INF / classes y creemos las siguientes entradas en web.xml archivo ubicado en <Tomcat-installation-directory> / webapps / ROOT / WEB-INF /
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
Las entradas anteriores se crearán dentro de las etiquetas <web-app> ... </web-app> disponibles en el archivo web.xml. Podría haber varias entradas en esta tabla ya disponibles, pero no importa.
Ya casi ha terminado, ahora iniciemos el servidor Tomcat usando <Tomcat-installationdirectory> \ bin \ startup.bat (en Windows) o <Tomcat-installationdirectory> /bin/startup.sh (en Linux / Solaris, etc.) y finalmente escriba http://localhost:8080/HelloWorlden el cuadro de dirección del navegador. Si todo va bien, obtendría el siguiente resultado