Illetve egy kicsit rontsuk is ezt el, így kezdődhet a hibakeresés! Ehhez egyszerűen a sor elejére kattintva, ahová a breakpointot tennénk, helyezzük azt el. Majd futassuk a debuggerünket! A program utasításain vagy a billentyűk, vagy a megfelelő ikonok segítségével haladhatunk végig: F5, F6, F7, F8 Billentyű Akció F5 Jelenlegi sor futtatása, majd ugrás a következő utasításra F6 Metódus átugrása, azaz a metódus végrehajtása a debugger nélkül F7 Jelenlegi metódus végrehajtásának befejezése és visszalépés a hívó metódusba F8 A program végrehajtása a következő breakpointig vagy watchpointig Lépkedjünk a programunk sorain, és figyeljük közben a programban használt változók értékeit! Ha akarjuk, akár meg is változtathatjuk egyes változók értékét itt, ezzel is közelebb kerülve a hibás működéshez! A változók helyenkénti megváltoztatása persze nem minden esetben biztonságos megoldás, viszont például egy sokszor ismétlődő ciklus esetében a ciklusmag állandó végrehajtásától a hajunkat téphetjük. Ilyenkor segít, ha a breakpoint tulajdonságait módosítjuk, és csak bizonyos feltételek mellett áll meg adott helynél a debugger.
Fordítás, futtatás¶ Fordítás¶ Az elkészült fájlt mentsük el néven. Fontos, hogy mindig olyan néven mentsük el a fájlt, ami a publikus osztályunk neve (ami a public class után van). Most már csak maga a fordítás, majd futtatás van hátra. Az elkészült programokat a parancssorból a javac paranccsal fordíthatjuk le (ami a telepített Java fordító binárisa), a következőképp: javac Fá, jelen esetben javac (A Java fordítóról, kapcsolóiról bővebben olvashatsz ezen az oldalon). Normál esetben a parancs kiadása után semmilyen válasz sem érkezik, csak visszakapjuk a kurzort egy idő után. A fordítás befejezése után látnunk kell a fájl mellett egy nevű fájlt is, ami a fordítás után jött létre. Ez a fájl tartalmazza az elkészült Java bájtkódot, amelyet aztán hordozhatunk, és bármely gépen futtathatjuk, ahol van egy Java virtuális gép (azaz a célszámítógépen telepítve van legalább a JRE). Futtatás¶ Az elkészült alkalmazás futtatása a java paranccsal történik, melynek használata a következő: java FoOsztaly arg1 arg2 arg3... argN, jelen esetben java HelloWorld.
Feladatok: Üzleti igények, user story-k megértése, elemzése fejlesztői és technológiai szempontból. Nagy, integrált rendszerek szoftver architektúrájának kialakítása, a backend fejlesztési szakterület technológiai irányelveinek betartatása. Több fős Java fejlesztői csapat munkájának (fejlesztési, hiba feltárási és javítási feladatainak) koordinálása, a minőségi követelmények ellenőrzése (clean code, SOLID elvek, code review-ek, statikus és dinamikus kódellenőrzés). Java szakterületi kutatás, fejlesztési feladatok irányítása és végrehajtása. Szakmai közösségi munka támogatása. A projekt csapatban dolgozó kollégák szakmai támogatása és mentorálása. Jól strukturált implementáció készítése (clean code, SOLID elvek…). Elkészített programok fejlesztői tesztelése. A program működése során felmerült hibák okának feltárása és javítása. Fejlesztési dokumentációk készítése, karbantartása (OpenApi, AsciiDoc). Release előkészítés és forráskód repo-k karbantartása. A folyamatos egyéni és kollektív fejlődés támogatása, elősegítése.
A beanname attribútumnak meg kell egyeznie a usebean elemben megadott id-val.
Biztos Java ismeretek, fejlesztési tapasztalatok. Mivel a tananyagok egy része angol nyelvű, ezért alapfokú, dokumentumolvasás-szintű angol nyelvtudás szükséges. Az előadás magyar nyelven zajlik.
A Java Server Pages technológia JSP és JSP elemkönyvtárak, JSTL alapok
JSP Statikus és dinamikus részekkel egyaránt rendelkező webes tartalmak készítése megjelenítés JSP: szöveges dokumentum, amely statikus tartalmat (HTML, XML, stb. ) és JSP elemeket tartalmaz A JSP elemek esetében kétféle szintaxis alkalmazható: standard vagy XML alapú (az utóbbi akkor javasolt, ha a JSP-nek érvényes XML dokumentumnak kell lennie, amely valamilyen XML API-val feldolgozható) A JSP háttérben servlet-ként fut, alapviselkedését (pl. kérések kiszolgálása), életciklusát ez a tény határozza meg Egy JSP-hez érkezett kérés esetében a konténer ellenőrzi, hogy a JSP-nek megfelelő servlet régebbi-e az oldalnál, és ha igen servlet forráskódot generál az oldalból és automatikusan lefordítja a servlet osztályt
JSP elemek Szkriptlet: <% code%>
Servlet, JSP MVC Az adatokat tároló bean-ek létrehozása A kéréseket kezelő servlet(ek) létrehozása. A servlet kiolvassa a kérés paramétereket, ellenőrzi az adatokat, stb. A vezérlő servlet kommunikál az üzleti logikát megvalósító komponensekkel, amely adatokat szolgáltatnak vissza. Ezeket a bean-ekben tároljuk. A bean-eket tároljuk valamelyik Web-hatókörben. A servlet meghívja a megfelelő hatókör-objektum setattribute metódusát. A bean-re mutató referenciához egy azonosító alapján férhetünk hozzá. A Servlet továbbít a megfelelő JSP-re. Kiválasztja a megfelelő nézetet majd alkalmazza a RequestDispatcher forward metódusát. A JSP-n belül kinyerjük az adatokat a bean-ekből és felépítjük a nézetet. A JSP oldal jsp:usebean-t elem segítségével fér hozzá a bean-ekhez. Attribútumként a meghatározott hatókört kell megadnunk. Ezután jsp:getproperty-t elemeket használhatunk a bean tulajdonságainak kinyeréséhez. Általában a JSP nem hozza létre, vagy módosítja a bean-t, csak megmutatja a servlet által előkészített adatokat.