Successfully reported this slideshow.

Spring MVC introduction HVA



Upcoming SlideShare
Spring mvc
Spring mvc
Loading in …3
1 of 22
1 of 22

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

Spring MVC introduction HVA

  1. 1. Spring MVC Introduction Spring MVC
  2. 2. ☄ Peter Maas ~ Works at Finalist IT Group. 70% Developer, 20% Architect and 10% CTO Board. Techniques used daily include Java/ JEE, Spring, Hiber nate, JSP. Passionate about scripting language for the JVM like Groovy and JRuby. Spring MVC
  3. 3. Introduction to Spring MVC & Web Flow Spring MVC
  4. 4. Spring Spring ~ A Layered Java/JEE application framework. The most complete lightweight container, providing centralized, automated configuration and wiring of your application objects. Spring MVC
  5. 5. Why Spring (I) Key reasons To provide a non-invasive programming model. As far as possible, application code should be decoupled from the framework. To provide a superior solution to in-house infrastructure, so that developers can focus on delivering business value rather than solving generic problems. To make developing enterprise applications as simple as possible, but enhancing, rather than sacrificing, power. Spring MVC
  6. 6. Why Spring (II) Spring MVC
  7. 7. Spring basics <bean id=quot;myRespositoryquot; class=quot;com.finalist.MyRepositoryImplquot;/> <bean id=quot;myServicequot; class=quot;com.finalist.MyServiceImplquot;> <property name=quot;maxResultsquot; value=quot;10quot;/> <property name=quot;myRespositoryquot; ref=quot;myRespositoryquot;/> </bean> Equals myRepository = new MyRepositoryImpl(); myService = new MyServiceImpl(); myService.setMyRepository(myRepository); myService.setMaxResults(10); Spring MVC
  8. 8. Spring basics (II) <bean id=quot;myRespositoryquot; class=quot;com.finalist.MyRepositoryImplquot;/> <bean id=quot;myServicequot; class=quot;com.finalist.MyServiceImplquot;> <constructor-arg index=quot;0quot; value=quot;10quot;/> <constructor-arg index=quot;1quot; ref=quot;myRespositoryquot;/> </bean> Equals myRepository = new MyRepositoryImpl(); myService = new MyServiceImpl(10, myRepository); Spring MVC
  9. 9. Demo I Demo I ~ Basics of Spring Spring MVC
  10. 10. Typical SpringMVC Architecture Spring MVC territory Business logic User Interface Web Domain Connections to exernal Model systems (database, Services webservices) Integration Spring MVC
  11. 11. MVC Controller request Model Actor response View Spring MVC
  12. 12. Controller Controller ~ Controllers interpret user input and transform such input into a sensible model which will be represented to the user by the view. Spring MVC
  13. 13. Controller Interface If you find yourself implementing the controller interface you're probable doing public interface Controller { stuff the hard way! /** * Process the request and return a * ModelAndView object which the DispatcherServlet * will render. */ ModelAndView handleRequest( HttpServletRequest request, HttpServletResponse response) throws Exception; } Spring MVC
  14. 14. Controllers «interface» UrlFilenameViewController Controller ParameterizableViewController MultiActionController AbstractController BaseCommandController AbstractCommandController SimpleFormController AbstractFormController AbstractWizardFormController Spring MVC
  15. 15. Model Model ~ The domain-specific representation of the information on which the application operates. List<SearchResult> results = new ArrayList<SearchResult>(); model.addObject(quot;searchResultsquot;, results); List<SearchResult> r = (List<SearchResult>)model.get(quot;searchResultsquot;); Spring MVC
  16. 16. View View ~ Renders the model into a for m suitable for interaction, typically a user interface element. Multiple views can exist for a single model for different purposes. Spring MVC
  17. 17. Views view RedirectView JstlView AbstractExcelView AbstractView InternalResourceView TilesView TilesJstlView AbstractPDFView AbstractUrlB asedView ... AbstractJExcelView AbstractJasperReportsView ... AbstractExcelView AbstractTemplateView AbstractXsltView Spring MVC
  18. 18. Handlers Handlers ~ map incoming web requests to appropriate handlers. <bean id=quot;handlerMappingquot; class=quot;org.springframework.web.servlet.handler.BeanNameUrlHandlerMappingquot; /> or <bean id=quot;urlMappingquot; class=quot;org.springframework.web.servlet.handler.SimpleUrlHandlerMappingquot;> <property name=quot;urlMapquot;> <map> <entry key=quot;/helloquot; value-ref=quot;helloworldControllerquot; /> </map> </property> </bean> Spring MVC
  19. 19. Demo II Demo II ~ Putting it all to work, making a simple quot;Hello Worldquot; Spring MVC application. Spring MVC
  20. 20. Demo II ~ Classpath essentials spring-webmvc.jar commons-logging.jar logkit.jar spring-beans.jar spring-context.jar aopalliance.jar spring-core.jar spring-support.jar spring-web.jar log4j.jar Spring MVC
  21. 21. More to come ~ Complex forms, Binding, Validation, Interceptors, Inter nationalisation, Webflow, Ajax ... Spring MVC
  22. 22. internet Firewall & Loadbalancer Multicast / RMI Cache replication Application servers (web) Backoffice & cron jobs REST (https) internet REST (https) SOAP (http) belbios XML JDBC JDBC LDAP Database cluster Active NFS 3rd party systems Directory (NEBO/DONNA) MMBase scp Spring MVC