Gyors támaszok 2 bevezető
1. Bemutatkozás
Az Apache Struts 2 egy MVC-alapú keretrendszer a vállalati Java webalkalmazások fejlesztéséhez. Ez az eredeti Struts keretrendszer teljes átírása. Nyílt forráskódú API implementációval és gazdag szolgáltatáskészlettel rendelkezik.
Ebben az oktatóanyagban kezdőknek ismertetjük a Struts2 keretrendszer különböző alapkomponenseit. Sőt, megmutatjuk, hogyan kell használni őket.
2. A Struts 2 Framework áttekintése
A Struts 2 néhány jellemzője:
- POJO (egyszerű régi Java objektumok) alapú műveletek
- plugin támogatás a REST, AJAX, Hibernate, Spring stb
- konvenció a konfiguráció felett
- különféle nézeti réteg technológiák támogatása
- egyszerű profilalkotás és hibakeresés
2.1. A támaszok különböző elemei2
A Struts2 egy MVC-alapú keretrendszer, így a következő három összetevő minden Struts2 alkalmazásban jelen lesz:
- Akcióosztály - amely egy POJO osztály (a POJO azt jelenti, hogy nem része semmilyen típusú hierarchiának, és önálló osztályként használható); itt fogjuk megvalósítani üzleti logikánkat
- Vezérlő - a Struts2-ben HTTP-szűrőket használnak vezérlőként; alapvetően olyan feladatokat látnak el, mint a kérések / válaszok lehallgatása és érvényesítése
- Kilátás - a feldolgozott adatok bemutatására szolgál; általában JSP fájl
3. Alkalmazásunk megtervezése
Folytassuk webalkalmazásunk fejlesztését. Ez egy olyan alkalmazás, ahol a felhasználó kiválaszt egy adott elemet Autó márka és testreszabott üzenet fogadja.
3.1. Maven-függőségek
Tegyük fel a következő bejegyzéseket a pom.xml:
org.apache.struts struts2-core 2.5.10 org.apache.struts struts2-junit-plugin 2.5.10 org.apache.struts struts2-convention-plugin 2.5.10
A függőségek legújabb verziója itt található.
3.2. Üzleti logika
Hozzunk létre egy cselekvési osztályt CarAction amely egy adott bemeneti értékre küld üzenetet. A CarAction két mezője van - carName (felhasználótól származó bemenet tárolására szolgál) és carMessage (a megjelenítendő egyedi üzenet tárolására szolgál):
nyilvános osztály CarAction {private String carName; privát String carMessage; privát CarMessageService carMessageService = új CarMessageService (); public String végrehajtja () {this.setCarMessage (this.carMessageService.getMessage (carName)); visszatér a "siker"; } // szerelők és beállítók}
A CarAction osztály használ CarMessageService amely biztosítja a testreszabott üzenetet a Autó márka:
public class CarMessageService {public String getMessage (String carName) {if (carName.equalsIgnoreCase ("ferrari")) {{return "Ferrari Fan!"; } else if (carName.equalsIgnoreCase ("bmw")) {return "BMW Fan!"; } else {return "kérem válasszon ferrarit vagy bmw-t"; }}}
3.3. Felhasználói bevitel elfogadása
Tegyük hozzá a JSP amely belépési pont az alkalmazásunkban. Ez a input.jsp fájl:
Üdvözöljük a Baeldung Struts 2 alkalmazásban
Melyik autó tetszik !!
Kérjük, válasszon ferrarit vagy bmw-t
A <forma> tag meghatározza a műveletet (esetünkben ez egy HTTP URI, amelyre GET kérést kell küldeni).
3.4. A vezérlő rész
StrutsPrepareAndExecuteFilter a vezérlő, amely elfog minden beérkező kérést. A következő szűrőt regisztrálnunk kell a web.xml:
struts2 org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter támaszok2 / *
StrutsPrepareAndExecuteFilter minden beérkező kérést szűrni fog, mivel az URL-nek megfelelő helyettesítő karaktert adjuk meg /*
3.5. Az alkalmazás konfigurálása
Adjuk hozzá a következő kommentárokat az akcióosztályunkhoz Autó:
@Névtér ("/ tutorial") @Action ("/ car") @Result (name = "siker", location = "/result.jsp")
Értsük meg ezen kommentárok logikáját. A @Névtér a kérelem URI logikai elválasztására szolgál a különböző műveleti osztályokhoz; ezt az értéket bele kell foglalnunk kérésünkbe.
Továbbá a @Akció megmondja a kérés URI tényleges végpontját, amely eltalálja a Akció osztály. Az akcióosztály konzultál CarMessageService és inicializálja egy másik tagváltozó értékét carMessage. Utána végrehajtani () metódus értéket ad vissza "siker" esetünkben megegyezik azzal az értékkel, amelyre hivatkozunk eredmény.jsp
Végül a @Eredmény két paramétere van. Első, név, meghatározza azt az értéket, amely a mi Akció osztály visszatér; ezt az értéket adja vissza a végrehajtani () a metódusa Akció osztály. Ez az alapértelmezett metódusnév, amely végrehajtásra kerül.
A második rész, elhelyezkedés, megmondja, melyik fájlra kell hivatkozni a végrehajtani () metódus értéket adott vissza. Itt meghatározzuk, hogy mikor végrehajtani () String értéket ad visszasiker“, Továbbítanunk kell a kérést eredmény.jsp.
Ugyanez a konfiguráció elérhető az XML konfigurációs fájl megadásával:
/rezult.jsp
3.6. Nézet
Ez a tartalma eredmény.jsp amelyet az üzenet bemutatására használnak a felhasználó számára:
Helló Baeldung felhasználó
Ön
Két fontos dolgot kell itt észrevenni:
- ban ben importálunk támaszok-címkék könyvtár
- ban ben használjuk támaszok-címkék könyvtár egy tulajdonság értékének kinyomtatásához carMessage
4. Az alkalmazás futtatása
Ez a webalkalmazás bármilyen webtárolóban futtatható, például az Apache Tomcat alkalmazásban. Ezek a végrehajtáshoz szükséges lépések:
- A webalkalmazás telepítése után nyissa meg a böngészőt, és nyissa meg a következő URL-t: //www.localhost.com:8080/MyStrutsApp/input.jsp
- Válassza ki a két lehetőség egyikét, és küldje el a kérelmet
- Ön továbbításra kerül a eredmény.jsp oldal a kiválasztott beviteli opció alapján testreszabott üzenettel
5. Következtetés
Ebben az oktatóanyagban lépésről lépésre ismertettük az első Struts2 webalkalmazás létrehozásának módját. A Struts2 tartományban különféle MVC-vonatkozásokkal foglalkoztunk, és megmutattuk, hogyan lehet ezeket összerakni a fejlesztéshez.
Mint mindig, ez az oktatóanyag megtalálható a Githubon, mint Maven projekt.