Szmetankó Gábor Greencode Kft.

Slides:



Advertisements
Hasonló előadás
4. alkalom – Hálózat Kezelés
Advertisements

HTML enhanced for web apps! Fodor Krisztián
RESTful Web Service tesztelése
IT-DEV-CON – Addig nyújtózkodj, ameddig a felhőd ér! Kőnig Tibor | blogs.msdn.com/tibork-on-ms | twitter.com/tibork.
Flex: csak rugalmasan! Kiss-Tóth Marcell Magyarországi Web Konferencia március 18.
Java komponens modellek
Az MVC tervezési minta 2. előadás.
J2EE keretrendszerek vizsgálata Önálló laboratórium, 2008 tavasz Farkas Gábor, OTX0QR Konzulens: Imre Gábor.
© Kozsik Tamás Szervletek „Kis szerverprogram” Kliens-szerver architektúrát feltételezünk Szerveroldalon futó kisalkalmazás Mint ahogy az applet.
ASP.NET MVC 3 platform áttekintés
Öröklődés 2..
Objective-C Készítette: Fahmi Arman B5EXTQ
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
Tanszéki konzulens: Horváth Ákos Készítette: Kóródi Norbert.
Fájlkezelés, IO Kivételkezelés Belső osztályok
1 Fejlett Programozási Technikák 2. 15/9. Fejlett Programozási Technológiák 2. 2 Az előző mai előadás tartalma: Számítógépes biztonság Jáva és a biztonság.
Követelmények Bevezetés a Javába Első java program írása Dokumentációk
Fejlett Programozási Technológiák II. Világos Zsolt 1. gyakorlat.
1 Fejlett Programozási Technikák 2. 15/10. Fejlett Programozási Technológiák 2. 2 Az előző előadás tartalma Java Servlet  Servlet Interfész  Servlet.
Tömbök ismétlés Osztályok Java-ban Garbage collection
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
Java programozási nyelv 3. rész – Osztályok I.
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
JSP és JavaBean JavaServer Pages és Java Beans Fabók Zsolt Általános Informatikai Tanszék Miskolci Egyetem.
SPRING FRAMEWORK bemutatása
ASP.NET „röviden” Krizsán Zoltán ver: 0.2.
A JAVA TECHNOLÓGIA LÉNYEGE Többlépcsős fordítás A JAVA TECHNOLÓGIA LÉNYEGE Platformfüggetlenség.
WEB MES (webes gyártásirányító rendszer)
Appletek és Servletek Demeter Lehel 641-es csoport.
Hálózati Bombermen Belicza András Konzulens: Rajacsics Tamás BME-AAIT.
Bátyai Krisztián NetAcademia Oktatóközpont oktató, fejlesztő MCT, MCPD
A program a „Tudáshasznosulást, tudástranszfert segítő eszköz-, és feltételrendszer kialakítása, fejlesztése a Műegyetemen” (TÁMOP /1/KMR )
Publikációs portál Initial J2EE architecture UML bázisú modellezés és analízis Csapat: UML7 (Percze Dániel, Rajnai Zoltán, Ráth István, Tóth Dániel, Vágó.
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
1 Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
3. előadás.  Apache szerver tudnivalók  Az index.php .htaccess – web-szerverünk beállításai  Konfigurációs állományok  Adatbázis kapcsolódás beállítása.
Komoróczy Tamás 1 Java programozási nyelv A nyelv alapjai.
Java programozási nyelv Adatbekérés konzolról
HTML5 alapú fejlesztő és futtató környezet megvalósítása
Generics Krizsán Zoltán. Bemutató A.NET 2.0 verziótól. A.NET 2.0 verziótól. Típusparaméter Típusparaméter Más nyelvben ez a template (sablon). Más nyelvben.
Java web programozás 11..
Enterpise JavaBeans Simon Balázs
Fejlett Programozási Technológiák II. 2009, Nagy Csaba JSP – Java Server Pages.
Webes alkalmazásfejlesztés
Illés Zoltán ELTE Informatikai Kar
Java web programozás 7-8..
Vizualizáció és képszintézis Sugárkövetés (Dart + GLSL) Szécsi László.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
OpenCMS programozói bevezetés Krizsán Zoltán iit me.
Java web programozás 6..
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
.NET FRAMEWORK Röviden Krizsán Zoltán 1.0. Tulajdonságok I Rövidebb fejlesztés 20 támogatott nyelv (nyílt specifikáció) 20 támogatott nyelv (nyílt specifikáció)
Enterprise Java evolúció, avagy JAVA EE (VS) Spring framework
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 6. gyakorlat.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
JSF – komponens alapú webfejlesztés. Mi az a JSF mire jó ● Egy szerver oldali, komponens alapú felhasználói felület keretrendszer ● Támogatja a webes.
J2EE tervezési minták Miskolci Egyetem Alkalmazott Informatikai Tanszék
Webszervizek (JAX-WS, és JAX-RS) bemutatása
Web-framework.
Java Code Coverage Library
Fejlett Programozási Technikák 2.
World map.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
B M Java Programozás 4. Gy: Java GUI IT A N Tipper, MVC kalkulátor
Dependency Injection Tesztduplikátumok, Mock-ok, Fake-ek Feladat
SAP Web Dynpro Component.
Spring Cloud a gyakorlatban
Előadás másolata:

Szmetankó Gábor Greencode Kft. gabor.szmetanko@greencode.hu SPRING MVC bemutatása Szmetankó Gábor Greencode Kft. gabor.szmetanko@greencode.hu

Egy kis ismétlés - Dependency Injection Car Engine Wheel Window Window window1 = new Window(); Window window2 = new Window(); Wheel wheel1 = new Wheel(); Wheel wheel2 = new Wheel(); Wheel wheel3 = new Wheel(); Wheel wheel4 = new Wheel(); Engine engine = new Engine(); Car car = new Car(window1, window2, wheel1, wheel2, wheel3, wheel4, engine);

Egy kis ismétlés - Dependency Injection DI Framework Engine Car Wheel Window MyService service = new MyService(Car car);

Egy kis ismétlés – Spring Framework A Spring Framework egy Java platform Java alapú alkalmazások fejlesztésére A Spring Framework adja az infrastruktúrát, így a fejlesztőknek csak a tényleges üzleti logikára kell koncentrálniuk

Egy kis ismétlés – Spring Framework

Egy kis ismétlés – legfontosabb Spring annotációk Singleton komponensek létrehozása: @Component @Component(“myComponent”) @Service @Repository Dependency Injection: @Autowired @Qualifier(“myComponent”) @Required http://refcardz.dzone.com/refcardz/spring-annotations

Spring MVC A Spring Framework model-view-controller modulja Web alkalmazások fejlesztésére Könnyen konfigurálható (convention over configuration) Robosztus Rugalmas Könnyű tesztelhetőség JSP tag library Egyszerű validáció, lokalizáció, i18n

Hagyományos Servlet alapú alkalmazás public class HelloWorldServlet extends HttpServlet { private String message; public void init() throws ServletException { message = "Hello World"; } public void doGet(HttpServletRequest request, HttpServletResponse response) throws Exception { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<h1>" + message + "</h1>"); public void destroy() {

Model-View-Controller értesíti a view-t az állapot megváltozásáról az alkalmazás állapotát tárolja Model a felhaszálói interakciókat model változtatásokra képezi le az alkalmazás logikáért felelős kiválasztja a megfelelő view-t Controller felhasználói interakciók továbbítása a controllerhez a model vizuális megjelenítéséért felelős View

Front Controller Controller 1 View 1 Front Controller Controller 2 Model Front Controller Request Request Controller 2 View 2 Kontroller kiválasztása Autorizáció Autentikáció Logging Controller 3 View 3 Egy konkrét üzleti funkció Megjelenítés

Spring MVC architektúra

Spring MVC architektúra

DispatcherServlet A Front Controller szerepét tölti be Bármely kérés a klienstől először a DispatcherServlethez érkezik Tartozik hozzá egy Spring Context Framework specifikus feladatokat lát el Hagyományos Servletként kell regisztrálni (web.xml)

HandlerMapping Feladata a kliens URL-ből meghatározni a kontrollert Interfész: tetszőleges implementáció konfigurálható Számos implementációt nyújt a Spring: SimpleUrlHandlerMapping: hagyományos Map ControllerClassNameHandlerMapping BeanNameHandlerMapping és még sok más...

Controller Üzleti logika egy részét implementálják DispatcherServlet hívja meg Feladata a model módosítása és a megfelelő view kiválasztása Hagyományos Java osztályok @Controller annotációval Egy-egy metódus a különféle kérések lekezelésére

Controller példa @RequestMapping public class HelloWorldController { @RequestMapping("/helloWorld") public String helloWorld(Model model) { model.addAttribute("message", "Hello World!"); return "helloWorld"; } @RequestMapping Megadja, hogy milyen URL-re érkező kéréseket szolgál ki a metódus Megadható a HTTP metódus is (pl. GET, POST) Az osztályon is elhelyezhető (globális hatás)

Handler metódus leggyakoribb paraméterei @PathVariable @RequestMapping(value="/owners/{ownerId}") public String findOwner(@PathVariable String ownerId, Model model) {} HttpServletRequest, HttpServletResponse, HttpSession @RequestParam @RequestHeader @RequestBody Model, ModelMap @ModelAttribute BindingResult @CookieValue @Valid

Handler metódus leggyakoribb visszatérési értékei Model ModelAndView Map String void @ResponseBody

ModelAndView Controllerek visszatérési értéke Egyszerű konténer osztály, amely a model és a view adatait tartalmazza Model: a controller tölti fel adatokkal View Logikai név Implicit vagy a controller adja meg return new ModelAndView(”myView”, ”myModelKey”, ”myModelValue”);

ViewResolver A logikai view névhez rendel tényleges view-t Ugyancsak egy interfész Tetszőleges implementáció konfigurálható Számos gyári implementáció közül választhatunk: InternalResourceViewResolver BeanNameViewResolver VelocityViewResolver XmlViewResolver

View A tényleges vizuális megjelenítésért felelős Számos technológiát támogat: JSP & JSTL (Spring tag library) Tiles Velocity FreeMarker PDF, Excel, JSON, RSS, XML

Egyéb hasznos dolgok Lokalizáció Többnyelvűség Témák AJAX, REST Fájl feltöltés Exception kezelés Caching http://docs.spring.io/spring/docs/current/spring-framework-reference/html/index.html

Köszönöm a figyelmet! Forráskód: github.com/szmeti/spring-mvc-demo