PreguntasLinux

Versión Completa: [guía] Gentoo/J2EE/Tomcat/Eclipse/Struts
Actualmente estas viendo una versión simplificada de nuestro contenido. Para ver la versión completa en el formato correcto, dale click aquí
################################################################################ ##
Qué es J2EE?

Java 2 Platform Enterprise Edition o J2EE, es una plataforma de programación orientada al desarrollo y ejecucuón de aplicaciones aplicaciones en Lenguaje Java. J2EE es considerado un estándar por la Java Community Process, debido a que los suministradores deben cumplir ciertos requisitos de conformidad para declarar que sus productos son conformes a J2EE. A pesar de esto, J2EE no posee estándar ISO o ECMA.

J2EE incluye varias APIs, tales como JDBC, RMI, e-mail, JMS, Servicios Web, XML, etc, y define como coordinarlos. J2EE también configura algunas especificaciones tales como: JavaBeans, servlets, portlets (siguiendo la especificación de Portlets Java), JavaServer Pages y varias tecnologías de servicios web. Esto permite al desarrollador crear una Aplicación de Empresa que es portable entre plataformas y escalable. Otros beneficios añadidos son, por ejemplo, que el servidor de aplicaciones puede manejar las transacciones, seguridad, escalabilidad, concurrencia y gestión de los componentes que son desplegados, significando que los desarrolladores pueden concentrarse más en la lógica de negocio de los componentes en lugar de las tareas de mantenimiento de bajo nivel.

Qué es Tomcat?

Tomcat es un servidor web con soporte de servlets y JSPs. Incluye el compilador Jasper, que compila JSPs convirtiéndolas en servlets. El motor de servlets de Tomcat a menudo se presenta en combinación con el servidor web Apache.

Tomcat puede funcionar como servidor web por sí mismo. En sus inicios existió la percepción de que el uso de Tomcat de forma autónoma era sólo recomendable para entornos de desarrollo y entornos con requisitos mínimos de velocidad y gestión de transacciones. Hoy en día ya no existe esa percepción y Tomcat es usado como servidor web autónomo en entornos con alto nivel de tráfico y alta disponibilidad.

Dado que Tomcat fue escrito en Java, funciona en cualquier sistema operativo que disponga de la máquina virtual Java.

Qué es Eclipse?

Eclipse es una plataforma de software de Código abierto. Esta plataforma, típicamente ha sido usada para desarrollar un Entorno integrado de desarrollo (del Inglés IDE), como el IDE de Java llamado Java Development Toolkit (JDT) y el compilador (ECJ) que se embarca como parte de Eclipse (y que son usados también para desarrollar el mismo Eclipse). Sin embargo, también se puede usar para otros tipos de aplicaciones, como es el cliente BitTorrent Azureus.

Eclipse fue desarrollado originalmente por IBM como el sucesor de su familia de herramientas para VisualAge. Eclipse es ahora desarrollado por la Fundación Eclipse, una organización independiente sin ánimo de lucro que fomenta una comunidad de código abierto y un conjunto de productos complementarios, capacidades y servicios.

Qué es Struts?

Struts es una herramienta de soporte para el desarrollo de aplicaciones Web, que utiliza un patrón MVC (Modelo Vista Controlador), y trabaja bajo la plataforma J2EE (Java Enterprise Edition 2). Struts se desarrollaba como parte del proyecto Jakarta de la Apache Software Foundation, pero actualmente es un proyecto independiente conocido como Apache Struts.

Struts permite reducir el tiempo de desarrollo. Cabe destacar que struts es de carácter "software libre" y posee compatibilidad con todas las plataformas en las que Java Entreprise esté disponible.

-> Modelo: Esta es la representación específica de la información con la cual el sistema opera. La lógica de datos asegura la integridad de estos y permite derivar nuevos datos;
-> Vista: Este presenta el modelo en un formato adecuado para interactuar, usualmente la interfaz de usuario.
-> Controlador: Este responde a eventos, usualmente acciones del usuario e invoca cambios en el modelo y probablemente en la vista.

################################################################################ ##
Tomcat

Instalar Tomcat
Para esta guía utilizaremos tomcat-5.5.
Primero agregamos las banderas admin y java5 en la configuración de portage:

-| Agregando Banderas de Tomcat |-

Código:
echo "www-servers/tomcat admin java5" >> /etc/portage/packages.use/net


Ahora instalamos el paquete tomcat:

-| Agregando Banderas de Tomcat |-

Código:
emerge -av tomcat


Para más información consulte la documentación oficial tomcat.apache.org

Configurar Tomcat
Cambio de directorio para las webApps:
Creamos un nuevo directorio, el cual va a contener el soft y el área de trabajo:

-| Creando directorios |-

Código:
mkdir -p /home/user/development/ && mkdir /home/user/development/projects && mkdir /home/user/development/tomcat


copiamos las webApps a /home/user/development/projects:

-| Copiando las webApps |-

Código:
cp -R /usr/share/tomcat-5.5/server/webapps/* /home/user/development/tomcat


Lo siguiente es configurar tomcat, para que utilice los nuevos PATHs, para eso, primero editamos los archivos /etc/tomcat-5.5/Catalina/localhost/manager.xml y /home/user/development/tomcat/manager/manager.xml, buscamos la siguiente ocurrencia:

-| Buscando en manager.xml |-

Código:
<Context docBase="/data/tomcat/webapps/manager"
privileged="true" antiResourceLocking="false" antiJARLocking="false">


y la reemplazamos por:

-| Buscando en manager.xml |-

Código:
<Context docBase="/home/user/development/tomcat/manager"
privileged="true" antiResourceLocking="false" antiJARLocking="false">


el segundo paso es muy parecido al primero, nada más que ahora debemos editar los archivos /etc/tomcat-5.5/Catalina/localhost/admin.xml y /home/user/development/tomcat/admin/admin.xml, en busca del siguiente text:

-| Buscando en admin.xml |-

Código:
<Context docBase="/data/tomcat/webapps/admin"
privileged="true" antiResourceLocking="false" antiJARLocking="false">


para luego realizar el reemplazo por:

-| Buscando en admin.xml |-

Código:
<Context docBase="/home/user/development/tomcat/admin"
privileged="true" antiResourceLocking="false" antiJARLocking="false">


con esto ya tenemos configurado nuestro nuevo directorio para las webApps.

Agregando usuarios:

Ahora un tema importante, es el de agregar usuarios para controlar tomcat, los cuales van a poder manejar el admin entre otras cosas.

En esta guía vamos a designar tres usuarios, uno tipo manager (para que acceda al host-manager), otro admin (accede unicamente al admin), y finalmente un "root", que puede acceder a todas las configuraciones.

Las configuraciones de los usuarios de tomcat se encuentran en el archivo /etc/tomcat-5.5/tomcat-users.xml, para realizar lo dicho anteriormente ejecutamos el siguiente comando:

-| Agregando usuarios |-

Código:
echo -e "<tomcat-users>\n\t<role rolename=\"manager\"/>\n\t<role rolename=\"admin\"/>\n\t<user username=\"USER1\" password=\"PASS1\" roles=\"manager\"/>\n\t<user username=\"USER2\" password=\"PASS2\" roles=\"admin\"/>\n\t<user username=\"USER3\" password=\"PASS3\" roles=\"manager,admin\"/>\n</tomcat-users>" > /etc/tomcat-5.5/tomcat-users.xml


En el código anterior reemplazamos los USERx y PASSx, por los respectivos nombres de usuarios y sus passwords.

Pasos finales:
Finalmente inicializamos tomcat:

-| Inicializando tomcat |-

Código:
/etc/init.d/tomcat-5.5 restart


y lo agregamos al inicio del OS:

-| Agregando al inicio del OS |-

Código:
rc-update add tomcat-5.5 default


Opcionalmente podemos agregar unos parámetros al script de inicio de tomcat, con el fin de prevenir que los escapes de memoria de java (Java Memory Leaks) consuman toda la memoria disponible.
Para esto debemos editar el archivo /etc/conf.d/tomcat-5.5, descomentar la línea JAVA_OPTS=" ", y agregar lo siguiente: JAVA_OPTS="-ms64M -mx256M"


################################################################################ ##
Eclipse

Instalar Eclipse
Hay dos formas de instalar eclipse, una bajandolo de la web oficial (eclipse.org). La otra forma es utilizando emerge.
Si optamos por la primera forma, lo que debemos hacer es bajarnos el archivo eclipse-SDK-3.2.2-linux-gtk.tar.gz de uno de los siguientes mirrors lista de mirrors
Movemos y descomprimimos el archivo eclipse-SDK-3.2.2-linux-gtk.tar.gz que bajamos:

-| Moviendo y descomprimiendo eclipse-SDK-3.2.2-linux-gtk.tar.gz |-

Código:
mv eclipse-SDK-3.2.2-linux-gtk.tar.gz /home/user/development/ && cd /home/user/development/ && tar -vxf eclipse-SDK-3.2.2-linux-gtk.tar.gz


luego si lo deseamos podemos borrar el archivo eclipse-SDK-3.2.2-linux-gtk.tar.gz.
Con esto ya tenemos instalado eclipse, para ejecutarlo vasta con hacer clic sobre el archivo eclipse del directorio /home/user/development/eclipse/.
si optamos por la segunda, ejecutamos el siguiete comando:

-| emerge eclipse |-

Código:
emerge -av eclipse


Es recomendable instalar la última versión disponible, para ello agregamos eclipse en los archivos use.

Configurar Eclipse
Cunado ejecutemos eclipse, lo primero que nos pregunta es el área de trabajo, la cual elegimos como /home/user/development/projects/.

Algo recomendable es cambiar el estilo de código que utilisará eclipse, para ello debemos ingresar en la configuración respectiva, dentro de window->preferences como se muestra en las siguiente imagen:



y cambiamos Select a profile a Java Conventions.

Instalar WTP
Para instalar el plugin WTP debemos ingresar a help->Software Updates->Find and Install..., seleccionamos Search for new features to install



En la lista de mirrors a revisar, seleccionamos Callisto Discovery Site, y utilizamos la opción Automatically select mirrors.



Eclipse empezará a buscar todos los paquetes disponibles para instalar que haya en Callisto Discovery Site. Cuando acabe, devemos seleccionar Web and J2EE Development, el cual nos va a indicar que debemos instalar siertas dependencias, para ello hacemos clic en Select Required



Después de esto, eclipse empieza a bajar los archivos, y luego nos pregunta si queremos instalarlos, a lo cual respondemos con Install All.

Configurar WTP
Para comenzar con la configuración de WTP, debemos entrar en el entorno J2EE, para ello seleccionamos, como se muestra en la figura (recuadrado con rojo), dicho entorno. Luego debemos ir a la pestaña Servers. Allí hacemos clic derecho y seleccionamos New->Server.



Nos aparece una venta para seleccionar el tipo de servidor, nosotros seleccionamos Tomcat v5.5 Server, y hacemos clic en Next.



Antes de seguir, debemos genera una serie de enlaces para que eclipse encuentre todo lo que necesita de Tomcat en un único directorio, ejecutamos el sigueite script:

-| Generando enlaces de Tomcat |-

Código:
mkdir -p /usr/local/share/tomcat-5.5 && cd /usr/local/share/tomcat-5.5 && ln -sf /usr/share/tomcat-5.5/bin/ && ln -sf /usr/share/tomcat-5.5/common/ && ln -sf /usr/share/tomcat-5.5/lib/ && ln -sf /usr/share/tomcat-5.5/server/ && ln -sf /var/lib/tomcat-5.5/conf/ && ln -sf /var/lib/tomcat-5.5/logs/ && ln -sf /var/lib/tomcat-5.5/shared/ && ln -sf /var/lib/tomcat-5.5/temp/ && ln -sf /var/lib/tomcat-5.5/webapps/ && ln -sf /var/lib/tomcat-5.5/work/ && chmod 755 -R /usr/local/share/tomcat-5.5/conf/


Ahora podemos seleccionar /usr/local/share/tomcat-5.5 como Tomcat installation directory.



Para terminar hacemos clic en Finish y eclipse comenzará a agregar el Servidor.

################################################################################ ##
Struts

Instalar Struts
Lo que debemos hacer para empezar con la "instalación", es bajarnos las librerías Struts de la web: struts-2.0.6-lib.zip. Una vez hecho esto, hay que copiar todos los jar del archivo, al directorio WebContent/WEB-INF/lib/ de nuestro proyecto (lo podemos encontrar en la parte izquierda de eclipse - Project Explorer).

struts2-core.jar -> contiene el framework en si mismo.
xwork.jar -> Librería XWork 2 sobre la cual está creado struts.
ognl.jar -> Object Graph Navigation Language (OGNL), el lenguaje expresivo que se usa en struts.
freemarker.jar -> Todos los templates de los tags UI son escritos en freemarker.
commons-logging.jar -> Commons logging.

Configurar Struts
La configuración de struts se basa en dos archivos, web.xml, el cual lo colocaremos en /WEB-INF/, y struts.xml, que ira en /src:

-| web.xml |-

Código:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- Nombre del proyecto -->
<display-name>nombreDelProyecto</display-name>

<!-- Struts -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<!-- Archivos de inicio -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>


Por ahora el archivo struts.xml sólo define el paquete default.

-| struts.xml |-

Código:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- Configuration for the default package. -->
<package name="default" extends="struts-default">
</package>
</struts>


################################################################################ ##
Servlets y Java Server Pages

Ejemplo simple Servlets
Para empezar debemos crear un nuevo proyecto web, para ello haciendo clic derecho sobre la pestaña Projects Explorer, seleccionando New->Dynamic Web Project:

http://localhost/Projects/unimatrix/modu...mple01.png

Warp la guía la hiciste "vos", yo te expliqué algunas cosas nomás... gracias igualmente por la mención...
URLs de Referencia