maven multiproyecto struts2 spring hibernate

Upload: edumarvega

Post on 02-Jun-2018

250 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    1/29

    Maven multripoyecto para Struts2,Spring y Hibernate

    Para generar esta estructura de proyecto, parto del supuesto que tiene configurado unrepositorio maven local, eclipse ,un servidor de base de datos MySql y un servidor JBoss oTomcat.

    Con maven se genera una estructura de multiporyectos un pom.xml padre y los n proyectosi!os con sus respectivos pom.xml que generaran .!ar o ."ar.

    Se pretende crear un temple con proyecto padre que contenga dos i!os un proyectobac#end y otro frontend.$n el bac#end se alo!aran las clases entidades del proyecto y en elfrontend los action de struts%, beans con spring , y la conexion a la bd y mapeo conibernate.

    &.Crear dos carpetas una llamada multiproyecto y otra "or#space'maven(en estaimportaremos los proyectos creados con maven y son los que se traba!aran desde eclipse)*esde consola nos situamos en la carpeta multiproyecto+

    cd /home/mvega/multiproyecto

    %.*entro de multiproyecto correr el siguiente comando maven para crear el proyecto padre+

    mvn archetype:create -DgroupId=com.template.main -DartifactId=template-main

    $l resultado es el siguiente+

    3.

    3.

    3.

    3.

    3.

    3.

    *entro de e!. ome mvega multiproyecto template-main , borrar la carpeta src, y en elarc ivo pom.xml modificar jar por pom

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    2/29

    ./ngresar al proyecto padre con

    cd /home/mvega/multiproyecto/template-main

    0.*entro del proyecto padre correr el mando maven para generar el proyecto bac#end+

    mvn archetype:create -DgroupId=com.template.backend -DartifactId=template-backend

    1.*entro del proyecto padre correr el mando maven para generar el proyecto frontend+

    mvn archetype:create -DgroupId=com.template.frontend -DartifactId=template-frontend

    2.*entro del proyecto template-frontend agrega la siguiente linea al pom.xml , ar

    quedando lo siguiente+

    com.template.frontend template-frontend

    war

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    3/29

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    4/29

    $n este punto se tiene un proyecto que genera un ."ar, este caso seria el proyecto template-frontend con dependencia de .!ar generado por el proyecto template-bac#end

    &&.8acer el proyecto template-frontend de tipo eclipse, importandolos con comando maven+

    mvn eclip!e:eclip!e

    9na ve: corrido ese comando dentro de eclipse se creara una variable de entorno a maven ()*+#, que ace referencia e!. /home/mvega/.m)/repo!itory/

    &%. 8acer el proyecto template-frontend dinamico "eb para eclipse

    mvn eclip!e:eclip!e -D tpver!ion= .

    &;./ngresar a $clipse e importar el proyecto recien creado con maven

    &ile->%e ,royect->Import...Seleccionar la opcion0eneral->#'i!ting ,roject into "ork!pace

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    5/29

    *ebemos elegir el proyecto template-main que esta dentro del "or#space'maven para estee!emplo, se veran dentro de la vista de pac#ege del eclipse los proyectos template-backend y template-frontend con sus respectivos arc ivos pom.xml

    & .8acer proyecto dinamico para Tomcat o Jboss sobre el proyecto template-frotend acerclic# con el boton derec o de mouse elegir ,ropertie!->,roject &acet! presionar el boton

    1pply y k

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    6/29

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    7/29

    8asta aqui se tiene multiproyectos con maven, un proyecto padre como template-main y dosproyectos i!os template-bac#end y template-frontend

    Continuando con la creacion de una aplicacion "eb multiproyecto con struts%,spring yibernate, configuraremos las dependencias y arc ivos de los respectivos frame"or#s.

    &0. $n el arc ivo pom.xml del proyecto template-frontend vamos a colocar las dependenciasde struts%,spring y ibernate.

    Struts%...

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    8/29

    Spring...

    org.(i$ernate

    (i$ernate 3.'.4.ga

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    9/29

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    10/29

    //constructor # getters and setters

    &3.=eneramos el !ar de template-bac#end para ser utili:ado por el proyecto template-frontend, en consola ingresamos los siguientes comandos+

    cd CDomeCmvegaCEorkspace7mavenCtemplate-backend

    mvn clean install -#maven test skip>true

    &4.*esde consola ingresamos al proyecto template-frotend, y corremos el siguientecomando+

    mvn eclipse eclipse

    $sto refrescara las referencias de dependencia entre el template-frontend y el template-bac#end y las dependencias de struts%,spring y ibernate configuradas en el pom.xml, si no

    tenemos los !ar automaticamente maven los ba!ara al repositorio local de la pc.

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    11/29

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    12/29

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    13/29

    6suario#(% Gava

    package com.template.frontend.dao9

    /;; ; @author mvega

    ; ;/public interface suario@A =

    public boolean validar suarioFString nom$reGString pass ord 9

    UsuarioDAOImpl.java

    package com.template.frontend.dao.impl9

    import org.(i$ernate. riteria9import org.(i$ernate.criterion.Jestrictions9import org.springframe or%.orm.(i$ernate3.support.Hi$ernate@aoSupport9

    import com.template.$ac%end.modelo. suario9import com.template.frontend.dao. suario@A 9

    public class suario@A Impl e ten!s Hi$ernate@aoSupport implements suario@A =

    public boolean validar suarioFString nom$reGString pass ord =boolean usuarioKalido false 9

    riteria criteria this .getSessionF .create riteriaF suario. class 9criteria.addFJestrictions. e, FDnom$reD G nom$re 9criteria.addFJestrictions. e, FDpass ordD G pass ord 9suario usuario F suario criteria.uni ueJesultF 9

    if Fusuario" null =usuarioKalido true 9

    return usuarioKalido9

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    14/29

    %%.Procedemos a crear la capa BA que sera inyectada al action que recibe los datos delformulario y es un intermediario en el action y la capa dao.9suarioBA.!ava y 9suarioBA/mpl.!ava

    6suario)% Gava

    package com.template.frontend.$o9

    /;; ; @author mvega ; ;/public interface suario7 =

    public boolean validar suarioFString nom$reG String pass ord 9

    Usuario"OImpl.java

    package com.template.frontend.$o.impl9

    import com.template.frontend.$o. suario7 9import com.template.frontend.dao. suario@A 9

    /;; ; @author mvega ; ;/public class suario7 Impl implements suario7 =

    private suario@A usuario@A 9

    public boolean validar suarioFString nom$reG String pass ord =

    boolean usuarioKalido this . usuario@A .validar suarioFnom$reGpass ord 9

    return usuarioKalido9

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    15/29

    public voi! set suario@A F suario@A usuario@A =this . usuario@A usuario@A 9

    %;.$n el proyecto template-frontend dentro de "ebapp creamos una estructura de carpetaspara alo!ar las paginas login.!sp, login'o#.!sp y login'error.!ps, quedando esto de la siguientemanera+

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    16/29

    login Gsp

    ogin al sistema con struts'G spring # (i$ernate

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    17/29

    login7ok Gsp

    ogin al sistema con struts'G spring # (i$ernate

    7ienvenido """

    login7error Gsp

    ogin al sistema con struts'G spring # (i$ernate

    Cl usuario o pass ord ingresado es invalidoG o no esta registrado en elsistema"""

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    18/29

    % .Creamos el arc ivo struts.xml que contiene la deficinion de action y navegabilidad de laspaginas.*ic o arc ivo lo colocamos dentro de src main resources

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    19/29

    struts xml

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    20/29

    database properties

    &d$c.driver lassName com.m#s l.&d$c.@river&d$c.url &d$c Em#s lE//local(ostE3302/template&d$c.username root&d$c.pass ord root

    %1.Crearemos los arc ivos de configuracion de spring que crearan los bean de conexion a labase de datos action bo y dao.

    Se crea la carpeta spring dentro de ;+)- 3FCconfCspring en el se alo!aran los arc ivosaction-spring xmlbo-spring xmldao-spring xmldata-source xmlDibernate-session-factory xml

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    21/29

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    22/29

    data-source xml

    C7-IN /conf/data$ase/properties/data$ase.properties

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    23/29

    Dibernate-session-factory xml

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    24/29

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    25/29

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    26/29

    %3.Por ultimo vamos a configurar el servlet de struts y el contecxto de spring dentro delarc ivo Eeb xml

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    27/29

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    28/29

    Pantalla de login

    Pantalla de bienvenida

  • 8/10/2019 Maven Multiproyecto Struts2 Spring Hibernate

    29/29