SlideShare una empresa de Scribd logo
3ra. Reunión de SpringHispano How to run Spring MVC por neodevelop
Acerca de mi... La referencia total: SpringHispano.org y grails.org.mx
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SpringFramework ,[object Object]
SpringFramework Spring es un poderoso framework de aplicaciones que resuelve muchos problemas comunes en el desarrollo de aplicaciones Java (SDK y EE).
Vista general de SpringFramework
El patrón de diseño MVC ,[object Object],[object Object],[object Object]
El patrón de diseño MVC ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
El patrón de diseño MVC
Motivaciones ,[object Object],[object Object],[object Object]
Motivaciones ,[object Object],[object Object],[object Object]
Motivaciones ,[object Object],[object Object],[object Object]
Motivaciones ,[object Object],[object Object],[object Object]
Spring MVC ,[object Object],[object Object],[object Object],[object Object]
MVC en Spring ,[object Object],[object Object],[object Object],[object Object],[object Object]
Componentes de Spring MVC ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Componentes de Spring MVC ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Componentes de Spring MVC ,[object Object],[object Object]
Funcionamiento de Spring MVC
MVC y D.I. ,[object Object],[object Object]
Configurar una App con Spring MVC
Spring MVC - DispatcherServlet ,[object Object],[object Object],[object Object],[object Object]
Spring MVC - DispatcherServlet <servlet> <servlet-name>springhispanoServlet</servlet-name> <servlet-class> org . springframework .web. servlet .DispatcherServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springhispanoServlet</servlet-name> <url-pattern>*. html </url-pattern> </servlet-mapping>
WebApplicationContext ,[object Object],[object Object],[object Object]
Elementos del WebAppCtx ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Controller y AbstractController ,[object Object],[object Object],[object Object]
SimpleUrlHandlerMapping ,[object Object],[object Object],[object Object]
InternalResourceViewResolver ,[object Object],[object Object],[object Object],[object Object]
Ahora si... Hola Mundo con SpringMVC
Más controllers… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Más Handler Mappings… ,[object Object],[object Object],[object Object],[object Object],[object Object]
Más View Resolvers.. ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Otros conceptos... ,[object Object],[object Object]
¿Qué más provee Spring MVC? ,[object Object],[object Object],[object Object],[object Object],[object Object]
Otro controller util: MultiActionController ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Creando un MultiActionController public   class  ReportController  extends  MultiActionController { public  ModelAndView handleSimpleReport(HttpServletRequest request, HttpServletResponse response)  throws  Exception { return   new  ModelAndView(&quot;simpleReport&quot;, getModel()); } public  ModelAndView handleSimpleReportPost(HttpServletRequest request, HttpServletResponse response)  throws  Exception { String reportTitle = request.getParameter(&quot;reportTitle&quot;); Map  model = getModel(); model.put(&quot;ReportTitle&quot;, reportTitle) ; return   new  ModelAndView(&quot;simpleReportCompile&quot;, model); } ...
Configurando un MultiActionController <bean id= &quot;controller&quot;  class= &quot;org.springframework.samples.jasperdemo.web.ReportController&quot; > <property name= &quot;methodNameResolver&quot; > <ref local= &quot;resolver&quot; /> </property> </bean> <bean id= &quot;resolver&quot;  class= &quot;org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver&quot; > <property name= &quot;mappings&quot; > <props> <prop key= &quot;/simpleReport.pdf&quot; >handleSimpleReport</prop> <prop key= &quot;/simpleReportPost.pdf&quot; >handleSimpleReportPost</prop> </props> </property> </bean>
Integración con vista  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Let's code... Veamos un ejemplo...
¿Qué más puedo hacer? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
¿Cómo funciona SimpleFormController? ,[object Object],[object Object],[object Object]
Request GET – Desplegar la forma ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Request GET – Envío de la forma ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Request GET – Envío de la forma ,[object Object]
¿Muchos métodos no? ,[object Object],[object Object],[object Object]
Arquitectura de Validación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Creando un validador public   class   ClienteValidator   implements   Validator  { public   boolean  supports( Class  clazz) { return   Cliente . class .equals(clazz); } public   void  validate(Object obj,  Errors  errors) { //Casting  del   objeto Cliente  cliente = ( Cliente )obj; //  Validaciones ValidationUtils .rejectIfEmpty(errors, &quot;nombre&quot;, &quot;nombre.empty&quot;,&quot;El nombre no puede ir vacÂ’o...&quot;); ValidationUtils .rejectIfEmpty(errors, &quot;direccion&quot;, &quot;direccion.empty&quot;,&quot;La direccion no puede ir  vacÂ’o...&quot;); ValidationUtils .rejectIfEmpty(errors, &quot;RFC&quot;, &quot;RFC.empty&quot;,&quot;El RFC no puede ir vacÂ’o...&quot;); if (cliente.getNombre().length()<=2)‏ errors.rejectValue(&quot;nombre&quot;, &quot;nombre.length&quot;, &quot;El nombre debe ser mayor de dos caracteres&quot;); } }
Configurando un validador <bean id=&quot;clienteForm&quot; class=&quot;org.springhispano.web.FormaCliente&quot;> <property name=&quot;formView&quot; value=&quot;editCliente&quot;/> <property name=&quot;successView&quot; value=&quot;redirect:list.htm&quot;/> <property name=&quot;service&quot; ref=&quot;service&quot;/> <property name=&quot;validator&quot; ref=&quot;clienteValidator&quot;/> </bean>
Pero también... ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SpringMVC 2.5 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
@Controller ,[object Object],[object Object],[object Object],[object Object]
@RequestMapping ,[object Object],[object Object],[object Object]
@RequestParam ,[object Object],[object Object],[object Object]
@ModelAttribute ,[object Object],[object Object],[object Object]
@SessionAttributes ,[object Object],[object Object]
Un ejemplo al fin... Ya era hora !!!
Resumen técnico
Más de SpringMVC ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Más de SpringMVC ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Referencias ,[object Object],[object Object],[object Object],[object Object]
Gracias!!! Y sigamos haciendo comunidad...

Más contenido relacionado

La actualidad más candente

Spring framework
Spring frameworkSpring framework
Spring framework
San Juan Guichicovi
 
Manual Basico De Struts
Manual Basico De StrutsManual Basico De Struts
Manual Basico De Struts
carlossanchezvillena
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación Java
Antonio Contreras
 
Introducción a Java EE
Introducción a Java EEIntroducción a Java EE
Introducción a Java EE
Paco Saucedo
 
Introducción a java EE 7
Introducción a java EE 7Introducción a java EE 7
Introducción a java EE 7
Carlos Camacho
 
Spring
SpringSpring
Java Web - JSF
Java Web - JSFJava Web - JSF
Java Web - JSF
Luis Miguel De Bello
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on Rails
Freelancer
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEDesarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EE
Fernando Montaño
 
Frameworks J2EE
Frameworks J2EEFrameworks J2EE
Frameworks J2EE
Iker Canarias
 
9 tecnologías v1.1
9 tecnologías v1.19 tecnologías v1.1
9 tecnologías v1.1UTN
 
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
Aplicaciones web con jakarta struts  - Javier Oliver FulgueraAplicaciones web con jakarta struts  - Javier Oliver Fulguera
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
Javier Oliver Fulguera
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)
Eudris Cabrera
 
Asp.net
Asp.netAsp.net
Asp.net
tavo2484
 
Aplicaciones empresariales Java EE en la nube
Aplicaciones empresariales Java EE en la nubeAplicaciones empresariales Java EE en la nube
Aplicaciones empresariales Java EE en la nube
Fernando Montaño
 
Introducción a Zend Framework
Introducción a Zend FrameworkIntroducción a Zend Framework
Introducción a Zend Framework
Irontec
 

La actualidad más candente (19)

Spring framework
Spring frameworkSpring framework
Spring framework
 
Manual Basico De Struts
Manual Basico De StrutsManual Basico De Struts
Manual Basico De Struts
 
Herramientas Java
Herramientas JavaHerramientas Java
Herramientas Java
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación Java
 
Web services y java
Web services y javaWeb services y java
Web services y java
 
Introducción a Java EE
Introducción a Java EEIntroducción a Java EE
Introducción a Java EE
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Introducción a java EE 7
Introducción a java EE 7Introducción a java EE 7
Introducción a java EE 7
 
Spring
SpringSpring
Spring
 
Java Web - JSF
Java Web - JSFJava Web - JSF
Java Web - JSF
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on Rails
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEDesarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EE
 
Frameworks J2EE
Frameworks J2EEFrameworks J2EE
Frameworks J2EE
 
9 tecnologías v1.1
9 tecnologías v1.19 tecnologías v1.1
9 tecnologías v1.1
 
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
Aplicaciones web con jakarta struts  - Javier Oliver FulgueraAplicaciones web con jakarta struts  - Javier Oliver Fulguera
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)
 
Asp.net
Asp.netAsp.net
Asp.net
 
Aplicaciones empresariales Java EE en la nube
Aplicaciones empresariales Java EE en la nubeAplicaciones empresariales Java EE en la nube
Aplicaciones empresariales Java EE en la nube
 
Introducción a Zend Framework
Introducción a Zend FrameworkIntroducción a Zend Framework
Introducción a Zend Framework
 

Destacado

Desarrolla tu primera api con spring boot
Desarrolla tu primera api con spring bootDesarrolla tu primera api con spring boot
Desarrolla tu primera api con spring boot
CloudAppi
 
Spring social springio ppt
Spring social springio pptSpring social springio ppt
Spring social springio ppt
Federico Caro
 
Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3
Fernando Redondo Ramírez
 
Creando APIs REST con Spring Boot
Creando APIs REST con Spring BootCreando APIs REST con Spring Boot
Creando APIs REST con Spring Boot
José Antonio Escobar García
 
Codemotion Madrid 2014 - Spring ha muerto... ¡larga vida a spring boot!
Codemotion Madrid 2014 - Spring ha muerto... ¡larga vida a spring boot!Codemotion Madrid 2014 - Spring ha muerto... ¡larga vida a spring boot!
Codemotion Madrid 2014 - Spring ha muerto... ¡larga vida a spring boot!
Iván López Martín
 
Presentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaPresentación Spring Boot en Autentia
Presentación Spring Boot en Autentia
Jorge Pacheco Mengual
 
86535551 ciclo-de-vida-jsf
86535551 ciclo-de-vida-jsf86535551 ciclo-de-vida-jsf
86535551 ciclo-de-vida-jsfpablo lopez
 
Spring boot et. al. para el impaciente
Spring boot et. al. para el impacienteSpring boot et. al. para el impaciente
Spring boot et. al. para el impaciente
Miguel Ángel Enríquez López
 
MVC Seminar Presantation
MVC Seminar PresantationMVC Seminar Presantation
MVC Seminar Presantation
Abhishek Yadav
 
Why MVC?
Why MVC?Why MVC?
Why MVC?
Wayne Tun Myint
 
Spring ppt
Spring pptSpring ppt
Spring ppt
Mumbai Academisc
 
MVC ppt presentation
MVC ppt presentationMVC ppt presentation
MVC ppt presentation
Bhavin Shah
 
Curso de Desarrollo Web 2
Curso de Desarrollo Web 2Curso de Desarrollo Web 2
Curso de Desarrollo Web 2
juliocombativo
 

Destacado (17)

Desarrolla tu primera api con spring boot
Desarrolla tu primera api con spring bootDesarrolla tu primera api con spring boot
Desarrolla tu primera api con spring boot
 
Spring social springio ppt
Spring social springio pptSpring social springio ppt
Spring social springio ppt
 
spring framework
spring frameworkspring framework
spring framework
 
12 dependency injection
12 dependency injection12 dependency injection
12 dependency injection
 
Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3
 
Creando APIs REST con Spring Boot
Creando APIs REST con Spring BootCreando APIs REST con Spring Boot
Creando APIs REST con Spring Boot
 
Codemotion Madrid 2014 - Spring ha muerto... ¡larga vida a spring boot!
Codemotion Madrid 2014 - Spring ha muerto... ¡larga vida a spring boot!Codemotion Madrid 2014 - Spring ha muerto... ¡larga vida a spring boot!
Codemotion Madrid 2014 - Spring ha muerto... ¡larga vida a spring boot!
 
Presentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaPresentación Spring Boot en Autentia
Presentación Spring Boot en Autentia
 
86535551 ciclo-de-vida-jsf
86535551 ciclo-de-vida-jsf86535551 ciclo-de-vida-jsf
86535551 ciclo-de-vida-jsf
 
Spring boot et. al. para el impaciente
Spring boot et. al. para el impacienteSpring boot et. al. para el impaciente
Spring boot et. al. para el impaciente
 
MVC Seminar Presantation
MVC Seminar PresantationMVC Seminar Presantation
MVC Seminar Presantation
 
Why MVC?
Why MVC?Why MVC?
Why MVC?
 
Spring ppt
Spring pptSpring ppt
Spring ppt
 
MVC ppt presentation
MVC ppt presentationMVC ppt presentation
MVC ppt presentation
 
Model View Controller (MVC)
Model View Controller (MVC)Model View Controller (MVC)
Model View Controller (MVC)
 
Mvc architecture
Mvc architectureMvc architecture
Mvc architecture
 
Curso de Desarrollo Web 2
Curso de Desarrollo Web 2Curso de Desarrollo Web 2
Curso de Desarrollo Web 2
 

Similar a Spring Mvc Final

Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
Juan Carlos Prieto
 
[Code Camp 2009] ASP.NET MVC a full (Matías Juan Rubí + Jonathan Solarz)
[Code Camp 2009] ASP.NET MVC a full (Matías Juan Rubí + Jonathan Solarz)[Code Camp 2009] ASP.NET MVC a full (Matías Juan Rubí + Jonathan Solarz)
[Code Camp 2009] ASP.NET MVC a full (Matías Juan Rubí + Jonathan Solarz)
Microsoft Argentina y Uruguay [Official Space]
 
MVC
MVCMVC
Arquitectura java web
Arquitectura java webArquitectura java web
Arquitectura java web
Jose Luis Bugarin Peche
 
ASP.NET MVC - Introducción a ASP.NET MVC
ASP.NET MVC - Introducción a ASP.NET MVCASP.NET MVC - Introducción a ASP.NET MVC
ASP.NET MVC - Introducción a ASP.NET MVC
Danae Aguilar Guzmán
 
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
SibilinoAndante
 
MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)
Senior Dev
 
Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5
Oscar Gensollen
 
Jquery Hmvc
Jquery HmvcJquery Hmvc
10.desarrollowebconjava
10.desarrollowebconjava10.desarrollowebconjava
10.desarrollowebconjava
Jose Luis Carrasco Comonfort
 
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
Samuel Marrero
 
Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3
jose luis barrientos
 
GWT - Una introducción
GWT - Una introducciónGWT - Una introducción
GWT - Una introducción
Carlos Gavidia-Calderon
 
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
Paradigma Digital
 
Webinar oracle adf12c… descubre todo su potencial
Webinar oracle adf12c… descubre todo su potencialWebinar oracle adf12c… descubre todo su potencial
Webinar oracle adf12c… descubre todo su potencial
atSistemas
 

Similar a Spring Mvc Final (20)

Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
 
Struts en Java
Struts en JavaStruts en Java
Struts en Java
 
[Code Camp 2009] ASP.NET MVC a full (Matías Juan Rubí + Jonathan Solarz)
[Code Camp 2009] ASP.NET MVC a full (Matías Juan Rubí + Jonathan Solarz)[Code Camp 2009] ASP.NET MVC a full (Matías Juan Rubí + Jonathan Solarz)
[Code Camp 2009] ASP.NET MVC a full (Matías Juan Rubí + Jonathan Solarz)
 
06. jsf (java server faces) (1)
06. jsf (java server faces) (1)06. jsf (java server faces) (1)
06. jsf (java server faces) (1)
 
MVC
MVCMVC
MVC
 
Arquitectura java web
Arquitectura java webArquitectura java web
Arquitectura java web
 
Clase_MVC_I.pptx
Clase_MVC_I.pptxClase_MVC_I.pptx
Clase_MVC_I.pptx
 
Patron mvc struts
Patron mvc strutsPatron mvc struts
Patron mvc struts
 
ASP.NET MVC - Introducción a ASP.NET MVC
ASP.NET MVC - Introducción a ASP.NET MVCASP.NET MVC - Introducción a ASP.NET MVC
ASP.NET MVC - Introducción a ASP.NET MVC
 
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
 
MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)
 
Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5
 
Jquery Hmvc
Jquery HmvcJquery Hmvc
Jquery Hmvc
 
10.desarrollowebconjava
10.desarrollowebconjava10.desarrollowebconjava
10.desarrollowebconjava
 
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
 
Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3
 
GWT - Una introducción
GWT - Una introducciónGWT - Una introducción
GWT - Una introducción
 
01 introducción
01 introducción01 introducción
01 introducción
 
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
 
Webinar oracle adf12c… descubre todo su potencial
Webinar oracle adf12c… descubre todo su potencialWebinar oracle adf12c… descubre todo su potencial
Webinar oracle adf12c… descubre todo su potencial
 

Más de Jose Juan R. Zuñiga

Apps software development with Vert.X
Apps software development with Vert.XApps software development with Vert.X
Apps software development with Vert.X
Jose Juan R. Zuñiga
 
A lil' of Groovy for Ruby developers
A lil' of Groovy for Ruby developersA lil' of Groovy for Ruby developers
A lil' of Groovy for Ruby developers
Jose Juan R. Zuñiga
 
Herramientas para el desarrollo de software
Herramientas para el desarrollo de softwareHerramientas para el desarrollo de software
Herramientas para el desarrollo de softwareJose Juan R. Zuñiga
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
Jose Juan R. Zuñiga
 
Webapps testing with Groovy
Webapps testing with GroovyWebapps testing with Groovy
Webapps testing with Groovy
Jose Juan R. Zuñiga
 
Creación de plugins con Grails
Creación de plugins con GrailsCreación de plugins con Grails
Creación de plugins con Grails
Jose Juan R. Zuñiga
 
El desarrollador de software
El desarrollador de softwareEl desarrollador de software
El desarrollador de software
Jose Juan R. Zuñiga
 
Groovy in Java7mx
Groovy in Java7mxGroovy in Java7mx
Groovy in Java7mx
Jose Juan R. Zuñiga
 
Mirando hacia atrás: Retrospectivas
Mirando hacia atrás: RetrospectivasMirando hacia atrás: Retrospectivas
Mirando hacia atrás: Retrospectivas
Jose Juan R. Zuñiga
 
Integrando Groovy & Grails en el proceso de desarrollo
Integrando Groovy & Grails en el proceso de desarrolloIntegrando Groovy & Grails en el proceso de desarrollo
Integrando Groovy & Grails en el proceso de desarrollo
Jose Juan R. Zuñiga
 
Creación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyCreación de Builders y DSL's con Groovy
Creación de Builders y DSL's con Groovy
Jose Juan R. Zuñiga
 
El proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open SourceEl proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open Source
Jose Juan R. Zuñiga
 
15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx
Jose Juan R. Zuñiga
 
Introducción a Groovy
Introducción a GroovyIntroducción a Groovy
Introducción a Groovy
Jose Juan R. Zuñiga
 
Introduccion a grails en Campusparty
Introduccion a grails en CampuspartyIntroduccion a grails en Campusparty
Introduccion a grails en Campusparty
Jose Juan R. Zuñiga
 
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Jose Juan R. Zuñiga
 
Redefiniendo el MVC con Grails
Redefiniendo el MVC con GrailsRedefiniendo el MVC con Grails
Redefiniendo el MVC con Grails
Jose Juan R. Zuñiga
 
Creación de Plataformas
Creación de PlataformasCreación de Plataformas
Creación de Plataformas
Jose Juan R. Zuñiga
 

Más de Jose Juan R. Zuñiga (19)

Apps software development with Vert.X
Apps software development with Vert.XApps software development with Vert.X
Apps software development with Vert.X
 
A lil' of Groovy for Ruby developers
A lil' of Groovy for Ruby developersA lil' of Groovy for Ruby developers
A lil' of Groovy for Ruby developers
 
Herramientas para el desarrollo de software
Herramientas para el desarrollo de softwareHerramientas para el desarrollo de software
Herramientas para el desarrollo de software
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Webapps testing with Groovy
Webapps testing with GroovyWebapps testing with Groovy
Webapps testing with Groovy
 
Creación de plugins con Grails
Creación de plugins con GrailsCreación de plugins con Grails
Creación de plugins con Grails
 
El desarrollador de software
El desarrollador de softwareEl desarrollador de software
El desarrollador de software
 
Groovy in Java7mx
Groovy in Java7mxGroovy in Java7mx
Groovy in Java7mx
 
Mirando hacia atrás: Retrospectivas
Mirando hacia atrás: RetrospectivasMirando hacia atrás: Retrospectivas
Mirando hacia atrás: Retrospectivas
 
Equipos en Scrum ¡oing!
Equipos en Scrum ¡oing!Equipos en Scrum ¡oing!
Equipos en Scrum ¡oing!
 
Integrando Groovy & Grails en el proceso de desarrollo
Integrando Groovy & Grails en el proceso de desarrolloIntegrando Groovy & Grails en el proceso de desarrollo
Integrando Groovy & Grails en el proceso de desarrollo
 
Creación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyCreación de Builders y DSL's con Groovy
Creación de Builders y DSL's con Groovy
 
El proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open SourceEl proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open Source
 
15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx
 
Introducción a Groovy
Introducción a GroovyIntroducción a Groovy
Introducción a Groovy
 
Introduccion a grails en Campusparty
Introduccion a grails en CampuspartyIntroduccion a grails en Campusparty
Introduccion a grails en Campusparty
 
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
 
Redefiniendo el MVC con Grails
Redefiniendo el MVC con GrailsRedefiniendo el MVC con Grails
Redefiniendo el MVC con Grails
 
Creación de Plataformas
Creación de PlataformasCreación de Plataformas
Creación de Plataformas
 

Último

Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
44652726
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
JuanPrez962115
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 

Último (20)

Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 

Spring Mvc Final

  • 1. 3ra. Reunión de SpringHispano How to run Spring MVC por neodevelop
  • 2. Acerca de mi... La referencia total: SpringHispano.org y grails.org.mx
  • 3.
  • 4.
  • 5. SpringFramework Spring es un poderoso framework de aplicaciones que resuelve muchos problemas comunes en el desarrollo de aplicaciones Java (SDK y EE).
  • 6. Vista general de SpringFramework
  • 7.
  • 8.
  • 9. El patrón de diseño MVC
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 20.
  • 21. Configurar una App con Spring MVC
  • 22.
  • 23. Spring MVC - DispatcherServlet <servlet> <servlet-name>springhispanoServlet</servlet-name> <servlet-class> org . springframework .web. servlet .DispatcherServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springhispanoServlet</servlet-name> <url-pattern>*. html </url-pattern> </servlet-mapping>
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. Ahora si... Hola Mundo con SpringMVC
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. Creando un MultiActionController public class ReportController extends MultiActionController { public ModelAndView handleSimpleReport(HttpServletRequest request, HttpServletResponse response) throws Exception { return new ModelAndView(&quot;simpleReport&quot;, getModel()); } public ModelAndView handleSimpleReportPost(HttpServletRequest request, HttpServletResponse response) throws Exception { String reportTitle = request.getParameter(&quot;reportTitle&quot;); Map model = getModel(); model.put(&quot;ReportTitle&quot;, reportTitle) ; return new ModelAndView(&quot;simpleReportCompile&quot;, model); } ...
  • 37. Configurando un MultiActionController <bean id= &quot;controller&quot; class= &quot;org.springframework.samples.jasperdemo.web.ReportController&quot; > <property name= &quot;methodNameResolver&quot; > <ref local= &quot;resolver&quot; /> </property> </bean> <bean id= &quot;resolver&quot; class= &quot;org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver&quot; > <property name= &quot;mappings&quot; > <props> <prop key= &quot;/simpleReport.pdf&quot; >handleSimpleReport</prop> <prop key= &quot;/simpleReportPost.pdf&quot; >handleSimpleReportPost</prop> </props> </property> </bean>
  • 38.
  • 39. Let's code... Veamos un ejemplo...
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47. Creando un validador public class ClienteValidator implements Validator { public boolean supports( Class clazz) { return Cliente . class .equals(clazz); } public void validate(Object obj, Errors errors) { //Casting del objeto Cliente cliente = ( Cliente )obj; // Validaciones ValidationUtils .rejectIfEmpty(errors, &quot;nombre&quot;, &quot;nombre.empty&quot;,&quot;El nombre no puede ir vacÂ’o...&quot;); ValidationUtils .rejectIfEmpty(errors, &quot;direccion&quot;, &quot;direccion.empty&quot;,&quot;La direccion no puede ir vacÂ’o...&quot;); ValidationUtils .rejectIfEmpty(errors, &quot;RFC&quot;, &quot;RFC.empty&quot;,&quot;El RFC no puede ir vacÂ’o...&quot;); if (cliente.getNombre().length()<=2)‏ errors.rejectValue(&quot;nombre&quot;, &quot;nombre.length&quot;, &quot;El nombre debe ser mayor de dos caracteres&quot;); } }
  • 48. Configurando un validador <bean id=&quot;clienteForm&quot; class=&quot;org.springhispano.web.FormaCliente&quot;> <property name=&quot;formView&quot; value=&quot;editCliente&quot;/> <property name=&quot;successView&quot; value=&quot;redirect:list.htm&quot;/> <property name=&quot;service&quot; ref=&quot;service&quot;/> <property name=&quot;validator&quot; ref=&quot;clienteValidator&quot;/> </bean>
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56. Un ejemplo al fin... Ya era hora !!!
  • 58.
  • 59.
  • 60.
  • 61. Gracias!!! Y sigamos haciendo comunidad...