JavaRush /Blog Java /Random-ES /Configurar un entorno local para el desarrollo de Java EE...
zor07
Nivel 31
Санкт-Петербург

Configurar un entorno local para el desarrollo de Java EE

Publicado en el grupo Random-ES
En este artículo configuraremos un entorno de trabajo para ejecutar aplicaciones Java EE. Permítanme recordarles: en el material anterior cubrimos los conceptos básicos de Java EE . Configurar un entorno local para el desarrollo de Java EE - 1Por entorno nos referimos a un conjunto de diversos componentes de software:
  • SDK de Java EE;
  • Servidor de aplicaciones Java EE GlassFish;
  • Configurando IntelliJ IDEA.
Los principales objetivos de este material:
  1. Muestre cómo puede preparar un entorno de trabajo para trabajar con aplicaciones Java EE.
  2. Muestre cómo puede implementar y ejecutar aplicaciones Java EE desde IntelliJ IDEA en el servidor GlassFish.
Esto es lo que haremos para esto:
  1. Descargue e instale el SDK de Java EE 7.
  2. Levantemos el GlassFish del servidor de aplicaciones Java EE.
  3. Aprendamos cómo iniciar y detener el servidor a través de la línea de comando.
  4. Configuremos IntelliJ IDEA para implementar aplicaciones en este servidor.
  5. Implementemos y ejecutemos la aplicación de demostración que, junto con el servidor de aplicaciones GlassFish, se incluye en el SDK de Java EE 7.
Este artículo será útil para los desarrolladores de Java novatos que se estén familiarizando con el desarrollo empresarial en Java. Considere esto como una pequeña preparación del terreno para practicar más. Comprenderá el material si está familiarizado con las habilidades básicas de la línea de comandos de Windows (PowerShell). Versiones de los componentes de software utilizados en este artículo:
  • pez de cristal 4.0;
  • IntelliJ IDEA 2019.3.1 (Ultimo);
  • SDK de Java EE 7.

Instalación del SDK de Java EE

Condición importante. Antes de instalar el SDK de Java EE, debe asegurarse de que el SDK de Java SE esté preinstalado.
  1. Primero, necesitamos descargar el SDK. Para ello, puedes escribir en un buscador: “Java EE SDK 7”, o ir directamente a la página de descarga del sdk desde la web de Oracle.

  2. De la lista de SDK proporcionada, debe seleccionar el que sea adecuado para su plataforma. El artículo describe la instalación de la distribución: “java_ee_sdk-7-jdk7-windows-x64-ml.exe”

  3. Ejecute el archivo de instalación. Durante el inicio, puede ocurrir el siguiente error (si no ocurre, simplemente puede continuar con la instalación):

    Configurar un entorno local para el desarrollo de Java EE - 2

    Esto significa que el instalador no pudo encontrar la ruta al Java Runtime Environment preinstalado. El error se puede corregir pasando la ruta al JRE manualmente usando la línea de comando. Para hacer esto, debe ejecutar el archivo de instalación a través de PowerShell y pasar la ruta al JRE preinstalado mediante el parámetro -j.

    Por ejemplo, así:

    Configurar un entorno local para el desarrollo de Java EE - 3
  4. El procedimiento de instalación posterior es bastante típico para la mayoría de los programas. Todo lo que necesita hacer es hacer clic en los botones Siguiente e Instalar.

    El programa instalará el SDK de Java EE, así como el servidor GlassFish, que, al finalizar la instalación, estará activo y listo para usar.

  5. Para asegurarse de que el servidor GlassFish esté funcionando, una vez completada la instalación, puede abrir el panel de administración del servidor, que estará disponible en: http://localhost:4848/

    Captura de pantalla a continuación:

    Configuración de un entorno local para el desarrollo de Java EE - 4

GlassFish inicia y detiene mediante la línea de comando

Entonces, el servidor está en funcionamiento, pero el programa de instalación inició el inicio del servidor. A continuación intentaremos descubrir cómo iniciar y detener el servidor usted mismo. Primero, revelemos dicha entidad como un dominio. Un dominio es un conjunto de una o más instancias del servidor GlassFish administradas por un servidor de administración. Al instalar el servidor GlassFish, se crea un dominio predeterminado: dominio1. Los siguientes componentes están asociados a él:
  • Puerto del servidor (8080 predeterminado);
  • Puerto del servidor de administración (predeterminado 4848);
  • Nombre de usuario y contraseña del administrador (el valor predeterminado es admin y no se requiere contraseña de forma predeterminada).
El dominio1 tiene valores predeterminados asignados. Configurar un entorno local para el desarrollo de Java EE - 5Para iniciar y detener el servidor, la distribución GlassFish incluye varios scripts, que de forma predeterminada se encuentran en el siguiente directorio: C:\glassfish4\glassfish\bin Para iniciar y detener el servidor GlassFish a través de la línea de comando, puede usar el script asadmin. y sus comandos:
asadmin start-domain domain_name
asadmin stop-domain domain_name
Intentemos detener el servidor (ya que ya se está ejecutando después de la instalación) ejecutando PowerShell desde el subdirectorio C:\glassfish4\glassfish\bin : Configurar un entorno local para el desarrollo de Java EE - 6el servidor está detenido. Ahora ejecutémoslo: Configuración de un entorno local para el desarrollo de Java EE - 7

Analizamos la primera aplicación Java EE, dukes-age

A continuación veremos una aplicación Java EE de demostración: dukes-age. Esta aplicación está incluida en el SDK de Java EE junto con la aplicación de primera taza. Las descripciones de estas aplicaciones se presentan en el sitio web de documentación oficial de Oracle en las secciones 3 y 4 del curso introductorio sobre Java EE para desarrolladores principiantes de Java EE . En este artículo, veremos brevemente la aplicación dukes-age y examinaremos con más detalle el proceso de inicio de esta aplicación en el servidor GlassFish desde el entorno de desarrollo IntelliJ IDEA. La aplicación se encuentra dentro del directorio del servidor Glassfish. Si no cambió la ruta predeterminada para el servidor Glassfish al instalar el SDK de Java EE, puede encontrar esta aplicación en la carpeta: C:\glassfish4\docs\firstcup\example\dukes-age . Probablemente todos los desarrolladores de Java, principiantes y experimentados, hayan visto al menos una vez la mascota del lenguaje de programación Java: Duke: Configurar un entorno local para el desarrollo de Java EE - 8Pocas personas saben que Duke cumple años. Nació el 23 de mayo de 1995, cuando se publicó la primera versión demo de la tecnología Java. La aplicación dukes-age, como su nombre indica, proporciona información sobre la edad de Duke. Abramos esta aplicación en IntelliJ IDEA: Archivo -> Nuevo -> Proyecto de fuentes existentes... Luego vaya a la carpeta con la aplicación dukes-age, ubicada de forma predeterminada en C:\glassfish4\docs\firstcup\example\dukes- age , seleccione el archivo pom.xml y haga clic en Aceptar: Configurar un entorno local para el desarrollo de Java EE - 9Se abrirá una aplicación con la siguiente estructura: Configurar un entorno local para el desarrollo de Java EE - 10Echemos un vistazo al código de la clase DukesAgeResource:
package firstcup.dukesage.resource;

import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

/**
 * REST Web Service
 *
 */
@Path("dukesAge")
public class DukesAgeResource {

    /** Creates a new instance of DukesAgeResource */
    public DukesAgeResource() {
    }

    /**
     * Retrieves representation of an instance of DukesAgeResource
     * @return an instance of java.lang.String
     */
    @GET
    @Produces("text/plain")
    public String getText() {
        // Create a new Calendar for Duke's birthday
        Calendar dukesBirthday = new GregorianCalendar(1995, Calendar.MAY, 23);
        // Create a new Calendar for today
        Calendar now = GregorianCalendar.getInstance();

        // Subtract today's year from Duke's birth year, 1995
        int dukesAge = now.get(Calendar.YEAR) - dukesBirthday.get(Calendar.YEAR);
        dukesBirthday.add(Calendar.YEAR, dukesAge);

        // If today's date is before May 23, subtract a year from Duke's age
        if (now.before(dukesBirthday)) {
            dukesAge--;
        }
        // Return a String representation of Duke's age
        return "" + dukesAge;
    }
}
Este es un servicio web JAX-RS RESTful con un método: getText(). Si examina el código de este método, queda claro que el método devuelve el número de años que han pasado desde el nacimiento de Duke. Es decir, el método devuelve la edad de Duke. Una clase es un recurso en un contexto REST.
  1. La anotación sobre la clase @Path("dukesAge")define la ruta URI a la que esta clase procesará las llamadas.
  2. La anotación sobre el método @GETnos dice que este método procesa solicitudes GET.
  3. La anotación @Produces("text/plain")especifica el tipo de medio de la respuesta a la solicitud. No es difícil adivinar que el método getText()generará respuestas con el tipo de medio: texto/sin formato.
También echemos un vistazo al archivo de configuración web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <servlet>
        <servlet-name>javax.ws.rs.core.Application</servlet-name>
    </servlet>
    <servlet-mapping>
        <servlet-name>javax.ws.rs.core.Application</servlet-name>
        <url-pattern>/webapi/*</url-pattern>
    </servlet-mapping>
</web-app>
En este archivo, dentro de la etiqueta servlet-mapping, se define una etiqueta url-patterncon el valor /webapi/*. Aquí se define un determinado punto raíz, cuyas llamadas serán procesadas posteriormente por el servicio. Si se combina con la anotación @Path("dukesAge"), resulta que para obtener información sobre la edad de Duke, debe comunicarse con la dirección /webapi/dukesAge.

Configuración de IntelliJ IDEA para ejecutar una aplicación Java EE en un servidor GlassFish

Ahora que tenemos una idea muy general de la aplicación dukes-age (lea más sobre ella en el sitio de Oracle ), configuremos IntelliJ IDEA para que podamos ejecutar esta aplicación desde nuestro IDE. Configurar IntelliJ IDEA
  1. Para hacer esto, vaya al menú Ejecutar -> Editar configuraciones.
  2. Se abrirá el panel Ejecutar/Depurar configuraciones: Configurar un entorno local para el desarrollo de Java EE - 11
  3. Necesitamos agregar una nueva configuración. Para hacer esto, haga clic en el signo más o use la tecla de acceso rápido Alt+Insertar. En la lista que se abre, seleccione GlassFish Server -> Local: Configuración de un entorno local para el desarrollo de Java EE - 12
  4. En la ventana que se abre, comencemos a configurar la configuración: Configuración de un entorno local para el desarrollo de Java EE - 13
  5. El siguiente paso es indicar los artefactos que deberán implementarse en el servidor. Esto se puede hacer a través de la pestaña Implementación haciendo clic en el signo más -> Artefacto... Configuración de un entorno local para el desarrollo de Java EE - 14
  6. Seleccione dukes-age:war y haga clic en Aceptar: Configuración de un entorno local para el desarrollo de Java EE - 15
  7. A continuación guardamos nuestra configuración haciendo clic en Aplicar y luego en Aceptar.
¡La configuración ha sido creada!

Lanzando la aplicación

Ahora intentemos ejecutar la aplicación.
  1. Para hacer esto, puede usar la tecla de acceso rápido Alt+Shift+F10, o a través del menú Ejecutar -> Ejecutar...

    Y seleccione la configuración de dukes-age que creamos:

    Configurar un entorno local para el desarrollo de Java EE - 16

  2. Después de esto vemos los registros de inicio en el panel de Servicios:

    Configurar un entorno local para el desarrollo de Java EE - 17
  3. Luego, si todo se hace según las instrucciones, se abrirá el navegador y quedará claro que nada funciona:

    Configuración de un entorno local para el desarrollo de Java EE - 18
Así es el mundo de las tecnologías de la información. Incluso si todo se hace correctamente, es posible que algo no funcione. Pero no te preocupes: podrías describir inmediatamente cómo hacerlo bien, pero entonces algunos de los matices serían menos obvios. Por ejemplo, ¿cómo se genera la url a la que nos dirige IDEA al lanzar la aplicación? Prestémosle atención. Fuimos redirigidos a http://localhost:8080/dukes-age-7.0.1/ . Para entender de dónde viene esto (/dukes-age-7.0.1/), vayamos al panel de administración del servidor GlassFish. En el menú de la izquierda, haga clic en Aplicaciones. A continuación verá las aplicaciones implementadas, incluida dukes-age. Cuando selecciona la aplicación dukes-age, puede ver algunas de sus características, incluido el elemento Context-Root: Configuración de un entorno local para el desarrollo de Java EE - 19dukes-age-7.0.1 es el nombre y la versión de la aplicación. Punto raíz. Todas las solicitudes que procesará dukes-age deben comenzar con el prefijo /dukes-age-7.0.1/. Entonces tenemos un punto raíz: /dukes-age-7.0.1. Además, anteriormente comentamos que nuestra aplicación manejará solicitudes a /webapi/dukesAge. Combinemos estas dos cosas y actualicemos nuestra configuración.
  1. Para hacer esto, volvamos a IntelliJ IDEA, luego al menú: Ejecutar -> Editar configuraciones...

  2. Seleccionemos la configuración previamente guardada y actualicemos la URL de acuerdo con la captura de pantalla a continuación:

    Configurar un entorno local para el desarrollo de Java EE - 20
  3. Guardemos la configuración y reiniciemos nuestra aplicación usando la tecla de acceso rápido Ctrl+Shift+F10, o usando un botón especial en el panel Servicios:

    Configurar un entorno local para el desarrollo de Java EE - 21
  4. Después del reinicio, si todo se hizo correctamente, veremos la edad de Duke:

    Configuración de un entorno local para el desarrollo de Java EE - 22
Excelente. Finalmente descubrimos que Duke tiene 24 años. Si no repite todos los pasos descritos anteriormente en los próximos meses, a partir de abril de 2020, es probable que Duke envejezca un poco.

Conclusión

En este artículo, analizamos cómo puede configurar su entorno local para trabajar con aplicaciones Java EE usando el ejemplo del servidor GlassFish 4.0, el entorno de desarrollo IntelliJ IDEA 2019.3.1 (Ultimate), así como la versión 7 del SDK de Java EE. Vimos cómo puedes:
  • descargue e instale Java EE SDK, así como el servidor GlassFish;
  • detener e iniciar el servidor GlassFish a través de PowerShell;
  • configure IntelliJ IDEA para que pueda implementar aplicaciones Java EE desde el IDE al servidor GlassFish e iniciarlas inmediatamente.

Tarea extra

  1. Repita todos los pasos descritos usted mismo.
  2. Realice un curso de introducción a Java EE para desarrolladores principiantes de Java EE de Oracle .
  3. Elemento con un asterisco. Intente implementar usted mismo la segunda aplicación de demostración de la primera taza. Esta aplicación es más interactiva y también interactúa con la aplicación dukes-age. Para completar este paso, deberá comprender de forma independiente las siguientes preguntas:
    1. Cómo habilitar la base de datos dentro del servidor glassFish;
    2. Cómo integrar dos aplicaciones entre sí (dentro de la primera copa indica la ruta al punto final de Dukes-age, que analizamos en este artículo);
    3. Cómo crear una nueva configuración en Intellij IDEA para la implementación de la primera copa (similar a lo que se muestra en este artículo);
    4. Posiblemente muchas otras preguntas)
PD: La barrera de entrada es alta, pero ¿no es eso lo que te motiva?
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION