Clase de servlet genérico

GenericServlet implementa la interfaz Servlet y proporciona una implementación para todos sus métodos, excepto el método service() , por lo que es abstracto . La clase GenericServlet define un servlet independiente del protocolo (sin HTTP). Sin embargo, mientras creamos un sitio web o una aplicación en línea, es posible que deseemos tener un protocolo HTTP, en ese caso, debemos extender HttpServlet en lugar de GenericServlet. Desarrollar Servlet extendiendo GenericServlet es muy fácil porque tenemos que proporcionar implementación solo para el método service() . La clase GenericServlet está en el paquete javax.servlet (javax.servlet.GenericServlet).

método de servicio()

El prototipo del método service() es:

el servicio public void (ServletRequest req, ServletResponse resp) lanza ServletException, IOException

El servidor llama automáticamente a este método cada vez que llega una solicitud de un GenericServlet. El método service() acepta dos parámetros:

  1. Un ServletRequestObject
  2. Un SerlvetResponseObject

El objeto ServletRequest permite leer los datos proporcionados por la solicitud del cliente y el objeto ServletResponse se utiliza para enviar la respuesta al cliente.

Ejemplo de Servlet “Hello World” al extender la clase GenericServlet

Java

import java.io.*;
import javax.servlet.*;
  
public class MyFirstServlet extends GenericServlet
  
{
    public void service(ServletRequest req,
                        ServletResponse resp)
        throws ServletException, IOException
    {
        resp.setContentType("text/html");
        PrintWriter pw = resp.getWriter();
        pw.println("<html>");
        pw.println("<head><title>My first Servlet</title></head>");
        pw.println("<body>");
        pw.println("<h2>Welcome To Servlet World!</h2>");
        pw.println("</body>");
        pw.println("</html>");
        pw.close();
    }
}

Compilando el programa

Antes de que podamos compilar el programa, debemos configurar el archivo servlet-api.jar en nuestro classpath. Esto se debe a que el paquete javax.servlet está en este archivo jar. El archivo servlet-api.jar está disponible en la carpeta lib de Tomcat. Entonces, asumiendo que Tomcat está en la unidad h:\, nuestro comando para configurar classpath sería:

h:\Apache Software Foundation\Tomcat 8.0\lib\servlet-api.jar ;.;%classpath%

Ahora podemos compilar el código usando el comando javac habitual

javac MiPrimerServlet.java  

Hacer esto generará el archivo MyFirstServlet.class que tendremos que implementar en nuestro servidor web

Desplegando el Servlet

  Para desplegar el servlet en nuestro servidor web necesitamos hacer lo siguiente

  • Crear una estructura de directorio adecuada
  • Diseñe el archivo web.xml
  • Coloque el archivo .class en el subdirectorio de clases de su aplicación

Crear el directorio

Para crear una aplicación web, debemos seguir la estructura de directorios estándar proporcionada por Sun Microsystem, que es independiente del servidor. De acuerdo con esto, una aplicación contiene una carpeta raíz de la aplicación con cualquier nombre.

  1. Debajo de la carpeta raíz, se requiere una subcarpeta con el nombre WEB-INF.
  2. Bajo WEB-INF se requieren dos subcarpetas llamadas clases y lib.
  3. Todos los archivos jar colocados dentro de la carpeta lib.
  4. Todos los archivos .class, incluido el archivo .class del servlet, se colocan dentro de la carpeta de clases.
  5. Todos los archivos de imagen, html, .js, jsp, etc. se colocan dentro de la carpeta raíz de la aplicación.
  6. También en la carpeta WEB-INF, debemos colocar el archivo web.xml 

Creating the Directory

Archivo web.xml

  • Las aplicaciones web de Java utilizan un archivo descriptor de implementación para determinar cómo se asignan las direcciones URL a los servlets.
  • Este archivo se llama web.xml y reside en el directorio WEB-INF/ de la aplicación y es parte del estándar de servlet para aplicaciones web.

Diseño del archivo web.xml

XML

<web-app>
  
    <servlet>
       <servlet-class>MyFirstServlet</servlet-class>
       <servlet-name>MyFirstServlet</servlet-name>
    </servlet>
  
    <servlet-mapping>
       <servlet-name>MyFirstServlet</servlet-name>
       <url-pattern>/MyFirstServlet</url-pattern>
    </servlet-mapping>
  
</web-app>

Configurando el Servlet

Una vez que la estructura del directorio esté en su lugar, podemos copiar el archivo MyFirstServlet.class dentro de la carpeta de clases de nuestra aplicación. Colocar el archivo .class dentro de la carpeta de clases es un requisito obligatorio para nuestro servlet.

Configuring The Servlet

Ejecute la aplicación

Después de que se haya realizado todo el despliegue, necesitamos probar nuestro servlet y para esto, debemos hacer lo siguiente:

  • Inicie el servidor Tomcat haciendo clic en el archivo Tomcat 8.5 que se encuentra dentro de la carpeta bin de Tomcat.
  • Abra el navegador y escriba la siguiente URL:

http://localhost:2021/sumit/MiPrimerServlet

Producción:

Output

Publicación traducida automáticamente

Artículo escrito por absolute99 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *