English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Paquete Servlet

Relacionado con WEB-La estructura de la aplicación web en el subdirectorio INF es la estándar de todas las aplicaciones Java web y se especifica por la norma API Servlet. Dado un nombre de directorio de nivel superior myapp, la estructura del directorio es la siguiente:

/myapp
    /images
    /ROOT-WEB
        /,entonces esta clase Servlet debe estar ubicada en WEB
        /lib

ROOT-El subdirectorio INF contiene el descriptor de despliegue de la aplicación, nombrado web.xml. Todos los archivos HTML se encuentran en el directorio de nivel superior myapp abajo. Para el usuario admin, encontrará que el directorio ROOT es el directorio padre de myApp.

Crear Servlet en el paquete

ROOT-WEB/El directorio classes contiene todas las clases Servlet y otros archivos de clase, y la estructura del directorio de los archivos de clase coincide con el nombre del paquete. Por ejemplo, si tiene un nombre de clase completamente cualificado com.myorg.MyServlet,entonces esta clase Servlet debe estar ubicada en el siguiente directorio:

/myapp/ROOT-WEB/,entonces esta clase Servlet debe estar ubicada en WEB/classes/com/MyServlet.class

El siguiente ejemplo crea un paquete nombrado com.myorg la clase MyServlet.

// Nombrar el paquete
package com.myorg;  
// Importar las bibliotecas java necesarias
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
@WebServlet("/MyServlet)
public class MyServlet extends HttpServlet {
 
  private String message;
 
  public void init() throws ServletException
  {
      // Ejecutar la inicialización necesaria
      message = "Hola Mundo";
  }
 
  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            lanza ServletException, IOException
  {
      // establecer el tipo de contenido de la respuesta
      response.setContentType("text/html;charset=UTF-8);
 
      // La lógica real está aquí
      PrintWriter out = response.getWriter();
      out.println("<h1">" + message + "</h1});
  }
  
  public void destroy()
  {
      // no hacer nada
  }
}

Servlet en el paquete de compilación

No hay mucha diferencia entre la compilación de clases en un paquete y la de otras clases. El método más simple es mantener el archivo java con la ruta completamente especifica, como se mencionó anteriormente, la clase se mantendrá en com.myorg. También debe agregar este directorio al CLASSPATH.

Suponiendo que su entorno esté configurado correctamente, acceda a <Tomcat-directorio>\bin\startup.bat (en Windows) o <Tomcat-directorio>/MyServlet.class, debe estar ubicado en <Tomcat/webapps/ROOT-WEB/,entonces esta clase Servlet debe estar ubicada en WEB directorio, y compile MyServlet.java de la siguiente manera:

$ javac MyServlet.java

Si el Servlet depende de otras bibliotecas, debe referenciar también esos archivos JAR en el CLASSPATH. Aquí solo he referenciado servlet-el archivo JAR api.jar, ya que no utilicé ninguna otra biblioteca en mi programa Hello World.

Esta línea de comandos utiliza el compilador javac integrado, que es parte del paquete de herramientas de desarrollo de software Java de Sun Microsystems (JDK, abreviatura de Java Software Development Kit). Paquete de herramientas de desarrollo de software Java de Sun Microsystems (JDK). Para que este comando funcione correctamente, debe incluir la ubicación del SDK de Java que utiliza en la variable de entorno PATH.

Si todo va bien, el compilado anterior generará el mismo directorio. MyServlet.class archivo. La siguiente sección explicará cómo desplegar un Servlet compilado en producción.

paquete y despliegue Servlet

Por defecto, el aplicación Servlet se encuentra en la ruta <Tomcat-directorio>\bin\startup.bat (en Windows) o <Tomcat-directorio>/MyServlet.class, debe estar ubicado en <Tomcat/bajo ROOT, y los archivos de clase se colocan en <Tomcat-directorio>\bin\startup.bat (en Windows) o <Tomcat-directorio>/MyServlet.class, debe estar ubicado en <Tomcat/webapps/ROOT-WEB/en las clases.

Si tiene un nombre de clase completamente cualificado com.myorg.MyServlet,那么这个 Servlet 类必须位于 WEB-WEB/,entonces esta clase Servlet debe estar ubicada en WEB/classes/com/myorg-directorio>\bin\startup.bat (en Windows) o <Tomcat-directorio>/MyServlet.class, debe estar ubicado en <Tomcat/webapps/ROOT-WEB/ INF

    的 archivo web.xml debe crear el siguiente entrada:
        servlet>-<servlet/<-name>MyServlet<
        servlet>-<servlet/<-class>com.myorg.MyServlet<
    pattern>/class>
 
    servlet>-servlet
        servlet>-<servlet/<-name>MyServlet<
        name>-url/<url/MyServlet<-url
    pattern>/<-servlet

mapping>-</app>...-web

app> etiqueta dentro. Puede que ya haya varios elementos disponibles en este archivo, pero no se preocupe.-directorio>\bin\startup.bat (en Windows) o <Tomcat-aquí, básicamente ya ha terminado, ahora usemos <Tomcat-directorio>\bin\startup.bat (en Windows) o <Tomcat-directorio>/bin/startup.sh (en Linux)/Arranque del servidor tomcat en Solaris y otros (finalmente en la barra de direcciones del navegador) http://localhost:8080/MyServlet。Si todo va bien, verá los siguientes resultados:

Hola Mundo