Aviso:

Para brindarle información de soporte completa de manera más rápida, el contenido de esta página ha sido traducido al español mediante traducción automática. Para consultar la información de soporte más precisa, consulte la versión en inglés de este contenido.

Aplicación Java Simple con Embedded Jetty

Este ejemplo ilustra los pasos para construir una aplicación Java simple con un servidor Jetty embebido en ella. Eclipse Jetty es un servidor web Java ligero y también un contenedor de servlets. Esta aplicación será compilada, empaquetada y asociada con un servicio de AppSail como tipo Java SE, y desplegada en la consola.

  1. Crea un nuevo proyecto Java desde un IDE de tu elección.

  2. Incluye las siguientes bibliotecas en tu directorio de fuentes. Hemos creado una nueva carpeta en este ejemplo y la hemos llamado deps. Estos archivos JAR incluyen todos los servlets, archivos de utilidad y otras dependencias que embeben el servidor Jetty en tu aplicación. Puedes obtener estas dependencias del repositorio oficial de Maven. También puedes agregarlas como dependencias de Maven.

copy
javax.servlet-api-3.1.0.jar
jetty-io-9.4.50.v20221201.jar
jetty-server-9.4.50.v20221201.jar
jetty-util-9.4.50.v20221201.jar
jetty-http-9.4.50.v20221201.jar
jetty-security-9.4.50.v20221201.jar
jetty-servlet-9.4.50.v20221201.jar
jetty-util-ajax-9.4.50.v20221201.jar

  1. Para crear una aplicación Jetty embebida, necesitarás crear una instancia de la clase org.eclipse.jetty.server.Server y hacer referencia al puerto de escucha con la variable de entorno X_ZOHO_CATALYST_LISTEN_PORT en tu código principal. Debes agregar un handler de Servlet para manejar estas solicitudes. Crea los siguientes archivos Java en tu directorio principal y agrega los fragmentos de código de muestra que se proporcionan a continuación:

CustomJettyServer.java

copy
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
public class CustomJettyServer 
{
    public static void main( String[] args ) throws Exception
    {
 String port = System.getenv("X_ZOHO_CATALYST_LISTEN_PORT");
 int listenPort;
        if(port != null && !port.isEmpty()) {
            listenPort = Integer.parseInt(System.getenv("X_ZOHO_CATALYST_LISTEN_PORT"));
        } else {
            listenPort = 9000;
        }
 Server server = new Server(listenPort);
        ServletContextHandler handler = new ServletContextHandler();
        handler.addServlet(ServletHandler.class.getName(), "/");
        server.setHandler(handler);
        server.start();
    }
}

ServletHandler.java

copy
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletHandler extends HttpServlet{
 @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String path = req.getServletPath();
        System.out.println(path);
    try {
        resp.getWriter().write("Hello ABC");
        resp.getWriter().close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
    this.doPost(req, resp);
}
@Override
protected void doDelete(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
    this.doPost(req, resp);
}
@Override
protected void doPut(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
    this.doPost(req, resp);
}
@Override
protected void doHead(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
    this.doPost(req, resp);
}
@Override
protected void doOptions(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
    this.doPost(req, resp);
}

}


  1. Compila la aplicación ejecutando el comando que se proporciona a continuación:
copy
javac -cp ".:./*:./deps/*" *.java

  1. Ahora puedes inicializar un servicio de AppSail en el mismo directorio desde el CLI o agregarlo en un directorio de proyecto existente. La fuente de la aplicación debe ser el directorio de tu aplicación. Proporciona los siguientes valores al inicializar el servicio de aplicación:

    Stack: Java 8
    Platform: Java SE

  2. Asegúrate de que el archivo compilado, junto con los archivos JAR en la carpeta deps, se agreguen en el directorio de compilación que especifiques durante la inicialización. Catalyst comprimirá automáticamente los archivos de tu aplicación durante el despliegue a la consola remota.

  3. Despliega el servicio de aplicación en la consola.

  4. Luego puedes configurar el comando de inicio que se proporciona a continuación desde la consola:

copy
java -cp ".:./*:./deps/*" *.java

También puedes configurar esto en el archivo app-config.json antes de desplegar.


Accede al servicio de aplicación desplegado desde su URL de endpoint.

Última actualización 2026-03-20 21:51:56 +0530 IST

EN ESTA PÁGINA