SlideShare a Scribd company logo
1 of 25
Curso de Struts 2
Unidad Didáctica 01
Entorno de Desarrollo
David Vaquero
Objetivos
Conocer las herramientas de
desarrollo que se utilizarán en el
curso
Índice de
contenidos
Introducción
Gestión de proyectos
Maven
Catálogos de Maven
Creación del proyecto
Importación de proyectos
Exportación de proyectos
El fichero pom.xml
Estructura de un proyecto webapp
Configuración Básica de Struts2
Introducción
Se utilizará como base Eclipse
http://www.eclipse.org/
En concreto el bundle para J2EE
http://www.eclipse.org/downloads/
packages/eclipse-ide-java-ee-
developers/keplersr2
Gestión de
proyectos
Permite la generación de proyectos
basados en Java para en entorno de EE
Dispone de la base para la
programación de aplicaciones Web
Java
El workspace es lo que permitirá el
almacenamiento de los proyectos
Maven
Gestor de dependencia en proyectos de Java
Permite simplificar el proceso de inclusión de
dependencias
Dispone de un plugin de Eclipse y una
integración con los proyectos de Web
Es instalable desde el repositorio de eclipse de
la versión que tengamos
m2e y m2e-wtp
Maven
Maven dispone de una arquitectura de
repositorios de dependencias
Estos repositorios disponen de las
bibliotecas que luego podemos
incorporar en nuestros proyectos
Estas bibliotecas se referencian dentro
del pom.xml mediante un groupId un
artifactId y un número de versión
Arquetipos de
Maven
Los arquetipos definen lo que debe contener un proyecto
en su creación
Están disponibles a través de los catálogos
El catálogo principal de struts es
http://struts.apache.org/
Debería añadirse desde la gestión de catálogos
de maven…
Window->Preferences->Maven->Archetypes->Add
Remove Catalog
Creación del
proyecto
File->New Project->Maven->Maven
project
Seleccionar el arquetipo
maven-archetype-webapp
este es proyecto más sencillo
dentro de los arquetipos para una
aplicación web
Creación del
proyecto
modificación del pom.xml
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
Creación del
proyecto
Modificación del web.xml para incluir una
página de bienvenida
<welcome-file-list>
<welcome-file>
index.jsp
</welcome-file>
</welcome-file-list>
Importación
File->Import
General->Existing project into workspace
Directorio
Archivo comprimido
Seleccionar los proyectos que queremos importar
Copiar proyectos al workspace
Finish
Exportación
File->Export
General->Archive File
Seleccionar el directorio y el nombre del
fichero
Seleccionar los proyectos que queremos exportar
Seleccionar el tipo de compresión zip
Finish
El fichero pom.xml
Se encarga de gestionar
Las dependencias del proyecto
La manera de empaquetar el
proyecto
La manera de desplegar el
proyecto
El fichero pom.xml
Estructura del fichero
Etiqueta project
groupId: nombre de la agrupación
artifactId: nombre del artefacto
packaging: tipo de empaquetado
name: nombre completo del proyecto
version versión del proyecto
dependencies: dependencias de proyecto
build->finalName: nombre de la compilación y empaquetado
El fichero pom.xml:
dependencias
dependencies
dependency
groupId
artifactId
version
El fichero pom.xml:
dependencias JEE
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
El fichero pom.xml:
dependencias Log4J
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
Estructura de un
proyecto webapp
Development Descriptor: web.xml
Java Resources: código Java, carpeta src y
paquetes
Deployed Resources: recursos para la web:
html, css, JSP
Fichero pom.xml
Carpeta bin: ficheros compilados
Configuración de
Struts2
Java Resources:
Configuración del pom.xml
Fichero web.xml
Fichero struts.xml
Fichero log4j.xml
Configuración de
Struts 2: pom.xml
<dependency>
<groupId>org.apache.struts
</groupId>
<artifactId>struts2-core</artifactId>
<version>RELEASE</version>
</dependency>
Configuración de
Struts 2: web.xml
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app><display-name>Archetype Created Web Application</display-name>
<filter><filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
Configuración de
Struts 2: struts.xml
<?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>
<constant name="struts.devMode" value="true" />
<package name="basicstruts2" extends="struts-default">
<action name="index">
<result>/index.jsp</result>
</action>
</package>
</struts>
Configuración de
Struts 2: log4j.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p %c.%M:%L - %m%n"/>
</layout>
</appender>
<!-- specify the logging level for loggers from other libraries -->
<logger name="com.opensymphony">
<level value="DEBUG" />
</logger>
Configuración de
Struts 2: log4j.xml
<!-- for all other loggers log only info and
above log messages -->
<root>
<priority value="INFO"/>
<appender-ref ref="STDOUT" />
</root>
</log4j:configuration>

More Related Content

What's hot

Creando módulos en Drupal 7
Creando módulos en Drupal 7Creando módulos en Drupal 7
Creando módulos en Drupal 7Edgar Dueñas
 
Curso de Struts 2: Unidad Didáctica 03 Tags-Etiquetas
Curso de Struts 2: Unidad Didáctica 03 Tags-EtiquetasCurso de Struts 2: Unidad Didáctica 03 Tags-Etiquetas
Curso de Struts 2: Unidad Didáctica 03 Tags-EtiquetasDavid Vaquero
 
Curso de Magento 1.9: Unidad Didáctica 07 Manejo de Plantillas
Curso de Magento 1.9: Unidad Didáctica 07 Manejo de PlantillasCurso de Magento 1.9: Unidad Didáctica 07 Manejo de Plantillas
Curso de Magento 1.9: Unidad Didáctica 07 Manejo de PlantillasDavid Vaquero
 
Android: Iniciar Sesión con SQLite
Android: Iniciar Sesión con SQLiteAndroid: Iniciar Sesión con SQLite
Android: Iniciar Sesión con SQLiteEmerson Garay
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación JavaAntonio Contreras
 
Programación de módulos para Drupal 7
Programación de módulos para Drupal 7Programación de módulos para Drupal 7
Programación de módulos para Drupal 7Cristian Mamani
 
Curso de Struts 2: Unidad Didáctica 04 Formularios
Curso de Struts 2: Unidad Didáctica 04 FormulariosCurso de Struts 2: Unidad Didáctica 04 Formularios
Curso de Struts 2: Unidad Didáctica 04 FormulariosDavid Vaquero
 
Ser vlet conectar con base de datos
Ser vlet conectar con base de datosSer vlet conectar con base de datos
Ser vlet conectar con base de datosDavid
 
Java Server Pages (JSP)
Java Server Pages (JSP)Java Server Pages (JSP)
Java Server Pages (JSP)Kelly_Ruiz09
 
Introducción a Zend Framework
Introducción a Zend FrameworkIntroducción a Zend Framework
Introducción a Zend FrameworkIrontec
 
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-20065. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006Samuel Marrero
 

What's hot (19)

Creando módulos en Drupal 7
Creando módulos en Drupal 7Creando módulos en Drupal 7
Creando módulos en Drupal 7
 
Curso de Struts 2: Unidad Didáctica 03 Tags-Etiquetas
Curso de Struts 2: Unidad Didáctica 03 Tags-EtiquetasCurso de Struts 2: Unidad Didáctica 03 Tags-Etiquetas
Curso de Struts 2: Unidad Didáctica 03 Tags-Etiquetas
 
10.desarrollowebconjava
10.desarrollowebconjava10.desarrollowebconjava
10.desarrollowebconjava
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Curso de Magento 1.9: Unidad Didáctica 07 Manejo de Plantillas
Curso de Magento 1.9: Unidad Didáctica 07 Manejo de PlantillasCurso de Magento 1.9: Unidad Didáctica 07 Manejo de Plantillas
Curso de Magento 1.9: Unidad Didáctica 07 Manejo de Plantillas
 
Semana 7 Servicios Web REST con MongoDB final
Semana 7   Servicios Web REST con MongoDB finalSemana 7   Servicios Web REST con MongoDB final
Semana 7 Servicios Web REST con MongoDB final
 
Conexión de Base de Datos
Conexión de Base de DatosConexión de Base de Datos
Conexión de Base de Datos
 
Java Web Lección 02 - JSP
Java Web Lección 02 - JSPJava Web Lección 02 - JSP
Java Web Lección 02 - JSP
 
Presentación1
Presentación1Presentación1
Presentación1
 
Android: Iniciar Sesión con SQLite
Android: Iniciar Sesión con SQLiteAndroid: Iniciar Sesión con SQLite
Android: Iniciar Sesión con SQLite
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación Java
 
Programación de módulos para Drupal 7
Programación de módulos para Drupal 7Programación de módulos para Drupal 7
Programación de módulos para Drupal 7
 
Curso de Struts 2: Unidad Didáctica 04 Formularios
Curso de Struts 2: Unidad Didáctica 04 FormulariosCurso de Struts 2: Unidad Didáctica 04 Formularios
Curso de Struts 2: Unidad Didáctica 04 Formularios
 
Java Web - Struts
Java Web - StrutsJava Web - Struts
Java Web - Struts
 
Ser vlet conectar con base de datos
Ser vlet conectar con base de datosSer vlet conectar con base de datos
Ser vlet conectar con base de datos
 
Java Server Pages (JSP)
Java Server Pages (JSP)Java Server Pages (JSP)
Java Server Pages (JSP)
 
Introducción a Zend Framework
Introducción a Zend FrameworkIntroducción a Zend Framework
Introducción a Zend Framework
 
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-20065. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
 

Viewers also liked

Curso de Magento 1.9: Unidad Didáctica 03 Catalogo. Categorías y Atributos
Curso de Magento 1.9: Unidad Didáctica 03 Catalogo. Categorías y AtributosCurso de Magento 1.9: Unidad Didáctica 03 Catalogo. Categorías y Atributos
Curso de Magento 1.9: Unidad Didáctica 03 Catalogo. Categorías y AtributosDavid Vaquero
 
Curso de Magento 1.9: Unidad Didáctica 06 Magento Connect
Curso de Magento 1.9: Unidad Didáctica 06 Magento ConnectCurso de Magento 1.9: Unidad Didáctica 06 Magento Connect
Curso de Magento 1.9: Unidad Didáctica 06 Magento ConnectDavid Vaquero
 
Android 4.x: Unidad 06 Listados en pantalla
Android 4.x: Unidad 06 Listados en pantallaAndroid 4.x: Unidad 06 Listados en pantalla
Android 4.x: Unidad 06 Listados en pantallaDavid Vaquero
 
Android 4.x: Unidad 07 BBDD SQLite
Android 4.x: Unidad 07 BBDD SQLiteAndroid 4.x: Unidad 07 BBDD SQLite
Android 4.x: Unidad 07 BBDD SQLiteDavid Vaquero
 
Curso de Magento 1.9 Unidad Didáctica 00 Introducción
Curso de Magento 1.9 Unidad Didáctica 00 IntroducciónCurso de Magento 1.9 Unidad Didáctica 00 Introducción
Curso de Magento 1.9 Unidad Didáctica 00 IntroducciónDavid Vaquero
 
Magento 1.9: Unidad Didáctica 04 Productos
Magento 1.9: Unidad Didáctica 04 ProductosMagento 1.9: Unidad Didáctica 04 Productos
Magento 1.9: Unidad Didáctica 04 ProductosDavid Vaquero
 
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un Tema
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un TemaCurso de Magento 1.9: Unidad Didáctica 08 Estructura de un Tema
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un TemaDavid Vaquero
 
Curso de Magento 1.9: Unidad Didáctica 05 importación exportación
Curso de Magento 1.9: Unidad Didáctica 05 importación exportaciónCurso de Magento 1.9: Unidad Didáctica 05 importación exportación
Curso de Magento 1.9: Unidad Didáctica 05 importación exportaciónDavid Vaquero
 
Curso de Magento 1.9: Unidad Didáctica 01 Instalacion
Curso de Magento 1.9: Unidad Didáctica 01 InstalacionCurso de Magento 1.9: Unidad Didáctica 01 Instalacion
Curso de Magento 1.9: Unidad Didáctica 01 InstalacionDavid Vaquero
 
Curso de Magento 1.9: Unidad Didáctica 02 Administracion Básica
Curso de Magento 1.9: Unidad Didáctica 02 Administracion BásicaCurso de Magento 1.9: Unidad Didáctica 02 Administracion Básica
Curso de Magento 1.9: Unidad Didáctica 02 Administracion BásicaDavid Vaquero
 
Curso de Android 4.x : Unidad 04 Componentes
Curso de Android 4.x : Unidad 04 ComponentesCurso de Android 4.x : Unidad 04 Componentes
Curso de Android 4.x : Unidad 04 ComponentesDavid Vaquero
 

Viewers also liked (11)

Curso de Magento 1.9: Unidad Didáctica 03 Catalogo. Categorías y Atributos
Curso de Magento 1.9: Unidad Didáctica 03 Catalogo. Categorías y AtributosCurso de Magento 1.9: Unidad Didáctica 03 Catalogo. Categorías y Atributos
Curso de Magento 1.9: Unidad Didáctica 03 Catalogo. Categorías y Atributos
 
Curso de Magento 1.9: Unidad Didáctica 06 Magento Connect
Curso de Magento 1.9: Unidad Didáctica 06 Magento ConnectCurso de Magento 1.9: Unidad Didáctica 06 Magento Connect
Curso de Magento 1.9: Unidad Didáctica 06 Magento Connect
 
Android 4.x: Unidad 06 Listados en pantalla
Android 4.x: Unidad 06 Listados en pantallaAndroid 4.x: Unidad 06 Listados en pantalla
Android 4.x: Unidad 06 Listados en pantalla
 
Android 4.x: Unidad 07 BBDD SQLite
Android 4.x: Unidad 07 BBDD SQLiteAndroid 4.x: Unidad 07 BBDD SQLite
Android 4.x: Unidad 07 BBDD SQLite
 
Curso de Magento 1.9 Unidad Didáctica 00 Introducción
Curso de Magento 1.9 Unidad Didáctica 00 IntroducciónCurso de Magento 1.9 Unidad Didáctica 00 Introducción
Curso de Magento 1.9 Unidad Didáctica 00 Introducción
 
Magento 1.9: Unidad Didáctica 04 Productos
Magento 1.9: Unidad Didáctica 04 ProductosMagento 1.9: Unidad Didáctica 04 Productos
Magento 1.9: Unidad Didáctica 04 Productos
 
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un Tema
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un TemaCurso de Magento 1.9: Unidad Didáctica 08 Estructura de un Tema
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un Tema
 
Curso de Magento 1.9: Unidad Didáctica 05 importación exportación
Curso de Magento 1.9: Unidad Didáctica 05 importación exportaciónCurso de Magento 1.9: Unidad Didáctica 05 importación exportación
Curso de Magento 1.9: Unidad Didáctica 05 importación exportación
 
Curso de Magento 1.9: Unidad Didáctica 01 Instalacion
Curso de Magento 1.9: Unidad Didáctica 01 InstalacionCurso de Magento 1.9: Unidad Didáctica 01 Instalacion
Curso de Magento 1.9: Unidad Didáctica 01 Instalacion
 
Curso de Magento 1.9: Unidad Didáctica 02 Administracion Básica
Curso de Magento 1.9: Unidad Didáctica 02 Administracion BásicaCurso de Magento 1.9: Unidad Didáctica 02 Administracion Básica
Curso de Magento 1.9: Unidad Didáctica 02 Administracion Básica
 
Curso de Android 4.x : Unidad 04 Componentes
Curso de Android 4.x : Unidad 04 ComponentesCurso de Android 4.x : Unidad 04 Componentes
Curso de Android 4.x : Unidad 04 Componentes
 

Similar to Curso de Struts 2: Unidad Didáctica 01 El Entorno de Desarrollo

Similar to Curso de Struts 2: Unidad Didáctica 01 El Entorno de Desarrollo (20)

Herramientas Java
Herramientas JavaHerramientas Java
Herramientas Java
 
Proyectos JAVA con maven
Proyectos JAVA con mavenProyectos JAVA con maven
Proyectos JAVA con maven
 
Proyectos java-con-maven
Proyectos java-con-mavenProyectos java-con-maven
Proyectos java-con-maven
 
Java desde cero maven
Java desde cero mavenJava desde cero maven
Java desde cero maven
 
Tema 4
Tema 4Tema 4
Tema 4
 
02 instalación
02 instalación02 instalación
02 instalación
 
Curso avanzado de capacitación en DSpace
Curso avanzado de capacitación en DSpaceCurso avanzado de capacitación en DSpace
Curso avanzado de capacitación en DSpace
 
Semana9 Vbr
Semana9 VbrSemana9 Vbr
Semana9 Vbr
 
FROM lost to the Docker 2020
FROM lost to the Docker 2020FROM lost to the Docker 2020
FROM lost to the Docker 2020
 
J2EE - 01 Arquitectura Web
J2EE - 01   Arquitectura WebJ2EE - 01   Arquitectura Web
J2EE - 01 Arquitectura Web
 
La Arquitectura De Netbeans V2
La Arquitectura De Netbeans V2La Arquitectura De Netbeans V2
La Arquitectura De Netbeans V2
 
Guia de entornos de programacion unidad 1 semestre 2
Guia de entornos de programacion unidad 1 semestre 2Guia de entornos de programacion unidad 1 semestre 2
Guia de entornos de programacion unidad 1 semestre 2
 
Maven Overview
Maven OverviewMaven Overview
Maven Overview
 
FROM lost to the docker
FROM lost to the dockerFROM lost to the docker
FROM lost to the docker
 
Maven Divide tu código, pruébalo y vencerás
Maven Divide tu código, pruébalo y vencerásMaven Divide tu código, pruébalo y vencerás
Maven Divide tu código, pruébalo y vencerás
 
Taller integracion jsf spring
Taller integracion jsf springTaller integracion jsf spring
Taller integracion jsf spring
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Tutorial de eclipsee
Tutorial de eclipseeTutorial de eclipsee
Tutorial de eclipsee
 
Tutorial eclipse/ Dia final
Tutorial eclipse/ Dia finalTutorial eclipse/ Dia final
Tutorial eclipse/ Dia final
 
Tutorial eclipse para novatos java (pollino)1
Tutorial eclipse para novatos java (pollino)1Tutorial eclipse para novatos java (pollino)1
Tutorial eclipse para novatos java (pollino)1
 

More from David Vaquero

Curso Liferay 6.2: Unidad Didáctica 07 Colaboración
Curso Liferay 6.2: Unidad Didáctica 07 ColaboraciónCurso Liferay 6.2: Unidad Didáctica 07 Colaboración
Curso Liferay 6.2: Unidad Didáctica 07 ColaboraciónDavid Vaquero
 
Curso Liferay 6.2: Unidad Didáctica 05 Workflow
Curso Liferay 6.2: Unidad Didáctica 05 WorkflowCurso Liferay 6.2: Unidad Didáctica 05 Workflow
Curso Liferay 6.2: Unidad Didáctica 05 WorkflowDavid Vaquero
 
Curso Liferay 6.2: Unidad Didáctica 06 Gestion de Documentos
Curso Liferay 6.2: Unidad Didáctica 06 Gestion de DocumentosCurso Liferay 6.2: Unidad Didáctica 06 Gestion de Documentos
Curso Liferay 6.2: Unidad Didáctica 06 Gestion de DocumentosDavid Vaquero
 
Liferay 6.2: Unidad Didáctica 03 Administración básica
Liferay 6.2: Unidad Didáctica 03 Administración básicaLiferay 6.2: Unidad Didáctica 03 Administración básica
Liferay 6.2: Unidad Didáctica 03 Administración básicaDavid Vaquero
 
Curso de Liferay 6.2: Unidad didáctica 04 Gestión de un Sitio Web
Curso de Liferay 6.2: Unidad didáctica 04 Gestión de un Sitio WebCurso de Liferay 6.2: Unidad didáctica 04 Gestión de un Sitio Web
Curso de Liferay 6.2: Unidad didáctica 04 Gestión de un Sitio WebDavid Vaquero
 
Curso de Liferay 6.2: Unidad Didáctica 00 Introducción
Curso de Liferay 6.2: Unidad Didáctica 00 IntroducciónCurso de Liferay 6.2: Unidad Didáctica 00 Introducción
Curso de Liferay 6.2: Unidad Didáctica 00 IntroducciónDavid Vaquero
 
Curso de Liferay 6.2: Unidad didáctica 01 Instalación
Curso de Liferay 6.2: Unidad didáctica 01 InstalaciónCurso de Liferay 6.2: Unidad didáctica 01 Instalación
Curso de Liferay 6.2: Unidad didáctica 01 InstalaciónDavid Vaquero
 
Curso de liferay 6.2: Unidad didáctica 02 Funcionalidades Principales
Curso de liferay 6.2: Unidad didáctica 02 Funcionalidades PrincipalesCurso de liferay 6.2: Unidad didáctica 02 Funcionalidades Principales
Curso de liferay 6.2: Unidad didáctica 02 Funcionalidades PrincipalesDavid Vaquero
 
Curso de Android 4.x: Unidad 05 Manejo de Formularios
Curso de Android 4.x: Unidad 05 Manejo de FormulariosCurso de Android 4.x: Unidad 05 Manejo de Formularios
Curso de Android 4.x: Unidad 05 Manejo de FormulariosDavid Vaquero
 
Curso de Android 4.x Unidad 02 SDK y AVD Manager
Curso de Android 4.x Unidad 02 SDK y AVD ManagerCurso de Android 4.x Unidad 02 SDK y AVD Manager
Curso de Android 4.x Unidad 02 SDK y AVD ManagerDavid Vaquero
 

More from David Vaquero (10)

Curso Liferay 6.2: Unidad Didáctica 07 Colaboración
Curso Liferay 6.2: Unidad Didáctica 07 ColaboraciónCurso Liferay 6.2: Unidad Didáctica 07 Colaboración
Curso Liferay 6.2: Unidad Didáctica 07 Colaboración
 
Curso Liferay 6.2: Unidad Didáctica 05 Workflow
Curso Liferay 6.2: Unidad Didáctica 05 WorkflowCurso Liferay 6.2: Unidad Didáctica 05 Workflow
Curso Liferay 6.2: Unidad Didáctica 05 Workflow
 
Curso Liferay 6.2: Unidad Didáctica 06 Gestion de Documentos
Curso Liferay 6.2: Unidad Didáctica 06 Gestion de DocumentosCurso Liferay 6.2: Unidad Didáctica 06 Gestion de Documentos
Curso Liferay 6.2: Unidad Didáctica 06 Gestion de Documentos
 
Liferay 6.2: Unidad Didáctica 03 Administración básica
Liferay 6.2: Unidad Didáctica 03 Administración básicaLiferay 6.2: Unidad Didáctica 03 Administración básica
Liferay 6.2: Unidad Didáctica 03 Administración básica
 
Curso de Liferay 6.2: Unidad didáctica 04 Gestión de un Sitio Web
Curso de Liferay 6.2: Unidad didáctica 04 Gestión de un Sitio WebCurso de Liferay 6.2: Unidad didáctica 04 Gestión de un Sitio Web
Curso de Liferay 6.2: Unidad didáctica 04 Gestión de un Sitio Web
 
Curso de Liferay 6.2: Unidad Didáctica 00 Introducción
Curso de Liferay 6.2: Unidad Didáctica 00 IntroducciónCurso de Liferay 6.2: Unidad Didáctica 00 Introducción
Curso de Liferay 6.2: Unidad Didáctica 00 Introducción
 
Curso de Liferay 6.2: Unidad didáctica 01 Instalación
Curso de Liferay 6.2: Unidad didáctica 01 InstalaciónCurso de Liferay 6.2: Unidad didáctica 01 Instalación
Curso de Liferay 6.2: Unidad didáctica 01 Instalación
 
Curso de liferay 6.2: Unidad didáctica 02 Funcionalidades Principales
Curso de liferay 6.2: Unidad didáctica 02 Funcionalidades PrincipalesCurso de liferay 6.2: Unidad didáctica 02 Funcionalidades Principales
Curso de liferay 6.2: Unidad didáctica 02 Funcionalidades Principales
 
Curso de Android 4.x: Unidad 05 Manejo de Formularios
Curso de Android 4.x: Unidad 05 Manejo de FormulariosCurso de Android 4.x: Unidad 05 Manejo de Formularios
Curso de Android 4.x: Unidad 05 Manejo de Formularios
 
Curso de Android 4.x Unidad 02 SDK y AVD Manager
Curso de Android 4.x Unidad 02 SDK y AVD ManagerCurso de Android 4.x Unidad 02 SDK y AVD Manager
Curso de Android 4.x Unidad 02 SDK y AVD Manager
 

Recently uploaded

Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Recently uploaded (15)

Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

Curso de Struts 2: Unidad Didáctica 01 El Entorno de Desarrollo

  • 1. Curso de Struts 2 Unidad Didáctica 01 Entorno de Desarrollo David Vaquero
  • 2. Objetivos Conocer las herramientas de desarrollo que se utilizarán en el curso
  • 3. Índice de contenidos Introducción Gestión de proyectos Maven Catálogos de Maven Creación del proyecto Importación de proyectos Exportación de proyectos El fichero pom.xml Estructura de un proyecto webapp Configuración Básica de Struts2
  • 4. Introducción Se utilizará como base Eclipse http://www.eclipse.org/ En concreto el bundle para J2EE http://www.eclipse.org/downloads/ packages/eclipse-ide-java-ee- developers/keplersr2
  • 5. Gestión de proyectos Permite la generación de proyectos basados en Java para en entorno de EE Dispone de la base para la programación de aplicaciones Web Java El workspace es lo que permitirá el almacenamiento de los proyectos
  • 6. Maven Gestor de dependencia en proyectos de Java Permite simplificar el proceso de inclusión de dependencias Dispone de un plugin de Eclipse y una integración con los proyectos de Web Es instalable desde el repositorio de eclipse de la versión que tengamos m2e y m2e-wtp
  • 7. Maven Maven dispone de una arquitectura de repositorios de dependencias Estos repositorios disponen de las bibliotecas que luego podemos incorporar en nuestros proyectos Estas bibliotecas se referencian dentro del pom.xml mediante un groupId un artifactId y un número de versión
  • 8. Arquetipos de Maven Los arquetipos definen lo que debe contener un proyecto en su creación Están disponibles a través de los catálogos El catálogo principal de struts es http://struts.apache.org/ Debería añadirse desde la gestión de catálogos de maven… Window->Preferences->Maven->Archetypes->Add Remove Catalog
  • 9. Creación del proyecto File->New Project->Maven->Maven project Seleccionar el arquetipo maven-archetype-webapp este es proyecto más sencillo dentro de los arquetipos para una aplicación web
  • 10. Creación del proyecto modificación del pom.xml <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>6.0</version> <scope>provided</scope> </dependency>
  • 11. Creación del proyecto Modificación del web.xml para incluir una página de bienvenida <welcome-file-list> <welcome-file> index.jsp </welcome-file> </welcome-file-list>
  • 12. Importación File->Import General->Existing project into workspace Directorio Archivo comprimido Seleccionar los proyectos que queremos importar Copiar proyectos al workspace Finish
  • 13. Exportación File->Export General->Archive File Seleccionar el directorio y el nombre del fichero Seleccionar los proyectos que queremos exportar Seleccionar el tipo de compresión zip Finish
  • 14. El fichero pom.xml Se encarga de gestionar Las dependencias del proyecto La manera de empaquetar el proyecto La manera de desplegar el proyecto
  • 15. El fichero pom.xml Estructura del fichero Etiqueta project groupId: nombre de la agrupación artifactId: nombre del artefacto packaging: tipo de empaquetado name: nombre completo del proyecto version versión del proyecto dependencies: dependencias de proyecto build->finalName: nombre de la compilación y empaquetado
  • 17. El fichero pom.xml: dependencias JEE <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax</groupId> <artifactId>javaee-web-api</artifactId> <version>6.0</version> <scope>provided</scope> </dependency>
  • 18. El fichero pom.xml: dependencias Log4J <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.14</version> </dependency>
  • 19. Estructura de un proyecto webapp Development Descriptor: web.xml Java Resources: código Java, carpeta src y paquetes Deployed Resources: recursos para la web: html, css, JSP Fichero pom.xml Carpeta bin: ficheros compilados
  • 20. Configuración de Struts2 Java Resources: Configuración del pom.xml Fichero web.xml Fichero struts.xml Fichero log4j.xml
  • 21. Configuración de Struts 2: pom.xml <dependency> <groupId>org.apache.struts </groupId> <artifactId>struts2-core</artifactId> <version>RELEASE</version> </dependency>
  • 22. Configuración de Struts 2: web.xml <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app><display-name>Archetype Created Web Application</display-name> <filter><filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
  • 23. Configuración de Struts 2: struts.xml <?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> <constant name="struts.devMode" value="true" /> <package name="basicstruts2" extends="struts-default"> <action name="index"> <result>/index.jsp</result> </action> </package> </struts>
  • 24. Configuración de Struts 2: log4j.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p %c.%M:%L - %m%n"/> </layout> </appender> <!-- specify the logging level for loggers from other libraries --> <logger name="com.opensymphony"> <level value="DEBUG" /> </logger>
  • 25. Configuración de Struts 2: log4j.xml <!-- for all other loggers log only info and above log messages --> <root> <priority value="INFO"/> <appender-ref ref="STDOUT" /> </root> </log4j:configuration>