Jeśli szukasz które mogą pomóc w szybkim i wydajnym tworzeniu aplikacji internetowych JEE, Struts 2 jest idealnym rozwiązaniem dla Ciebie. Struts 2 to platforma typu open source, która jest intensywnie używana na rynku. Dzięki samouczkowi Struts 2 pomogę Ci rozpocząć korzystanie z niego wraz z praktycznymi wdrożeniami.
Poniżej znajdują się tematy, które omówię w tym samouczku Struts:
- Co to jest Struts 2?
- Funkcje Struts 2
- Architektura Struts 2
- Konfiguracja środowiska
- Idee fundamentalne
- Demo samouczka Struts 2
Co to jest Struts?
W kategoriach laika Struts to oparty na otwartym środowisku framework, który pomaga w tworzeniu aplikacji internetowych w J2EE. Torozszerza i promuje Model, Widok, Kontroler ( MVC ) architektura.To sprawia, że aplikacje internetowe są tworzone w standardowych technologiach, takich jakJSP, JavaBeans i XML, łatwiejsze w utrzymaniu, rozszerzalne i elastyczne.
Struktura Struts została początkowo opracowana przez Craiga McClanahana i przekazana Fundacji Apache w maju 2000 r. Stopniowo w 2005 r. Zajęła pozycję najwyższego poziomu projektu Apache, a później w lutym 2007 r. Rozpórki 2 .
Struktura Struts została w dużej mierze oparta na MVC (Kontroler widoku modelu) paradygmat projektowania. Jego głównym celem było oddzielenie Modelu od Widoku i Kontrolera w aplikacji w celu zmniejszenia zależności i promowania Separacji Obaw (SoC). Innymi słowy, pomogło to w oddzieleniu logiki aplikacji, która komunikuje się głównie z bazą danychz za pośrednictwem którego użytkownik współdziała z aplikacją i instancją, co pomaga w przekazywaniu informacji między modelem a widokiem.
Cechy Struts 2
- Formularze i działania oparte na POJO :Klasy akcji w Struts są traktowane jako kontroler w aplikacji. Odpowiadają za działanie użytkownika, wykonują logikę biznesową i zwracają wynik z widokiem, który ma zostać wyrenderowany. Działa również jako klasa Model.
- Ulepszone tagi i personalizacja: W Struts 2 wprowadzono różne typy tagów, takie jak tagi interfejsu użytkownika, tagi sterujące, tagi danych itp., Które pomagają w tworzeniu aplikacji.
- Funkcjonalność AJAX: Struts 2 obsługuje technologię Ajax, która jest zwykle używana do generowania asynchronicznych żądań. Poprawia wydajność aplikacji, wysyłając tylko wymagane dane terenowe na serwer.
- Łatwa integracja: Zapewnia łatwą integrację z innymi platformami internetowymi, takimi jak , DWR, SiteMesh i Tiles.
- Minimalne konfiguracje: Podczas korzystania z aplikacji Struts 2 nie są wymagane żadne dodatkowe konfiguracje. Działa z minimalnymi konfiguracjami, w których większość ustawień przyjmuje wartości domyślne, chyba że występuje jakiekolwiek odchylenie.
- Zintegruj technologie widoku: Dzięki Struts2 możesz łatwo zintegrować się z różnymi technologiami widoku, takimi jak XSLT, JSP, Freemarker, prędkość itp.
- Motyw i szablony: Struts 2 obsługuje 3 typy motywów:
- Xhtml
- Prosty
- Css_xhtml
Tutaj XHTML jest domyślnym motywem dla Struts 2 i jest używany głównie w celu uzyskania wspólnego wyglądu.
Teraz, gdy wiesz, czym jest Struts i jego różne funkcje, przejdźmy teraz do tego artykułu samouczka Struts i poznaj jego architekturę.
Architektura
Jak widać na powyższym diagramie, Struts używa wysokiego poziomu Architektura MVC . Tutaj filtr serwletu rozsyłania Struts2 jest używany do implementacji kontrolera, podczas gdy akcje są używane do implementacji modelu, a widok jest implementowany przez połączenie typów wyników i wyników. W tej architekturze wspólny wątek, łączenie i integracja z innymi komponentami jest możliwe dzięki stosowi wartości i OGNL. Oprócz tego konfiguracje aplikacji internetowych wraz z działaniami, przechwytywaczami, wynikami itp. Również pomagają w przekazywaniu wielu informacji.
Teraz pozwól mi wyjaśnić cały przepływ pracy podczas cyklu życia żądania wygenerowanego przez użytkownika. Poniżej wymieniłem krok po kroku przepływ pracy, aby lepiej zrozumieć, jak działa Struts:
- Rozpoczyna się żądaniem użytkownika, które jest wysyłane do serwera w celu zażądania jakiegoś zasobu.
- To żądanie jest następnie przetwarzane przez dyspozytora filtru w celu określenia odpowiedniej akcji.
- Ponadto odpowiednio skonfigurowane funkcje przechwytywania są następnie stosowane do żądania, takie jak walidacja, przesyłanie pliku itp.
- Po podjęciu decyzji o wybranej akcji i wykonaniu jej na podstawie żądanej operacji.
- W przypadku, gdy wymagane jest przetwarzanie końcowe, wywoływane są skonfigurowane przechwytywacze.
- Ostatecznie wynik jest dostarczany przez widok i zwracany użytkownikowi.
Mam nadzieję, że to wyczyści przepływ pracy w aplikacji Struts. Zobaczmy teraz, czego potrzebujesz w swoim systemie, aby rozpocząć korzystanie z Struts w następnej sekcji tego samouczka Struts 2
Konfiguracja środowiska
Poniżej wymieniłem podstawowe potrzeby, aby rozpocząć korzystanie z Struts 2:
- Jawa
Jeśli nie masz zainstalowanej Java w swoim systemie, możesz skorzystać z Instalacja Java artykuł.
- Kocur
Jeśli nie masz Tomcat w swoim systemie, możesz odwiedzić tutaj do bezpłatnego pobrania.
- IDE (najlepiej Eclipse)
Wreszcie potrzebujesz swojego Eclipse IDE do tworzenia aplikacji.
Gdy to zrobisz, możesz zmoczyć stopy z Struts. W następnej części tego samouczka Struts 2 przedstawię krótkie omówienie podstawowych pojęć związanych z Struts 2.
Idee fundamentalne
1. Konfiguracje
W każdej aplikacji Struts istnieją dwa główne pliki konfiguracyjne:
- Plik struts.xml: Ten plik zawiera informacje dotyczącekonfiguracji, które są modyfikowane jako akcje. Służy głównie do zastępowania ustawień domyślnych w aplikacji. Ten plik jest zwykle tworzony w katalogu WEB-INF / classes w dowolnym projekcie Struts.
- Plik struts.properties: Ten plik udostępnia mechanizm, który może zmienić zachowanie struktury. PonieważFramework korzysta z wielu właściwości, które możesz zmienić zgodnie z wymaganiami.
2. Działania
Akcje lub klasy akcji to podstawowe pojęcia w każdej aplikacji Struts 2, ponieważ działają one jako kontroler we wzorcu MVC. Innymi słowy, klasy Action zawierają logikę biznesową, która pomaga w przetwarzaniu danych. Poza tym odpowiedzialna jest również klasa akcjiodpowiadanie na żądanie użytkownika, wykonywanie logiki biznesowej. Pomaga również platformie w określaniu i zwracaniu wyniku na podstawie pliku konfiguracyjnego (struts.xml), z powrotem do użytkownika w celu renderowania strony Widok.
Klasy akcji Stuts2 nie są z natury pojedyncze, co oznacza, że przy każdym żądaniu zostanie utworzona jedna instancja tej klasy. Dlatego nie muszą być bezpieczne dla wątków i są proste i niezależne. To znacznie ułatwia testowanie tych klas.
Plik akcji można utworzyć na trzy sposoby, które są następujące:
- Prosta klasa akcji
Dowolna konkretna klasa Java może być używana jako klasa akcji Struts 2, ale jedynym wymaganiem jest, aby klasa zawierała metodę execute () o zwracanym typie String. Poniżej znajduje się kod umożliwiający utworzenie prostej klasy akcji:
pakiet com.edureka.struts2.action public class DemoAction {public String execute () {return 'Witaj!' }}
- Implementowanie interfejsu akcji
Klasę Action Struts 2 można również utworzyć, implementując interfejs com.opensymphony.xwork2.Action. Zawiera jedną metodę, tj. Execute (), która musi zostać zaimplementowana przez klasę implementującą. Implementując ten interfejs, możesz użyć kilku stałych, takich jak SUCCESS, ERROR, NONE, INPUT i LOGIN, które mogą być używane na stronach wyników.
Poniższy kod przedstawia przykład tego samego:
pakiet com.edureka.struts2.action import com.opensymphony.xwork2.Action publiczna klasa DemoAction implementuje Action {public String execute () {powrót SUKCES}}
- Rozszerzanie klasy ActionSupport
Klasy Action w Struts 2 generalnie rozszerzają klasę Action Support, która jest domyślną implementacją interfejsu Action. Zapewnia różne niezbędne funkcje do tworzenia aplikacji internetowych, takie jak walidacja danych, komunikat na poziomie akcji, komunikat o błędzie na poziomie akcji, komunikat o błędzie na poziomie pola i pakiet zasobów odczytu itp.
Poniżej znajduje się realizacja tego samego:
pakiet com.edureka.struts2.action import com.opensymphony.xwork2.ActionSupport publiczna klasa DemoAction rozszerza ActionSupport {@Override public String execute () rzuca wyjątek {return SUCCESS}}
3. Interceptory
Interceptor działa jako jeden z głównych filarów struktury Struts 2. To nic innego jak przedmiotktóry jest wywoływany podczas wstępnego i końcowego przetwarzania żądania.Pomaga w kontrolowaniu i utrzymywaniu płynnego przejścia cyklu żądania i odpowiedzi.
Główną zaletą stosowania separatorów jest to, że można je wtykać. Chodzi mi o to, że na wypadek, gdybyś nie miał już pożytku z konkretnego problemu, takiego jakwalidacja, obsługa wyjątków, logowanie itp., możesz łatwo usunąć go z aplikacji bez konieczności ponownego wdrażania. W tym celu wystarczy usunąć wpis z pliku struts.xml.
Struktura Struts2 zapewnia kompleksowy zestaw predefiniowanych przechwytywaczy i wspólnych stosów przechwytywaczy, które wymieniłem w poniższej tabeli:
Interceptor | Opis |
Alias | Dzięki temu parametry mogą mieć różne aliasy nazw w żądaniach użytkowników |
pole wyboru | Pomaga to w zarządzaniu polami wyboru poprzez dodanie wartości parametru false dla pól wyboru, które nie zostały zaznaczone |
conversionError | Spowoduje to umieszczenie informacji o błędach z konwersji ciągów na typy parametrów w błędach pola operacji |
createSession | To niejawnie tworzy sesję HTTP na wypadek, gdyby taka nie istniała |
debugowanie | Zapewnia to programistom różne ekrany debugowania |
execAndWait | To przenosi użytkownika do pośredniczącej strony oczekiwania, gdy akcja jest wykonywana w tle |
wyjątek | To odwzorowuje wyjątki, które są wyrzucane z akcji na wynik |
Udostępnianie pliku | Ułatwia to łatwe przesyłanie plików w Struts 2 |
i18n | Pomaga to w śledzeniu określonych ustawień regionalnych podczas sesji użytkownika |
dzienniki | Zapewnia to proste logowanie do użytkownika poprzez generowanie danych wyjściowych jako nazwy wykonywanej akcji |
params | Pomaga to w ustawianiu parametrów żądania w akcji |
przygotować | Służy do wykonywania wstępnej obróbki |
profil | Pozwala to na proste profilowanie informacji do logowania działań. |
zakres | Spowoduje to zapisanie i pobranie stanu akcji podczas sesji użytkownika lub zakresu aplikacji |
ServletConfig | Dzięki temu akcja ma dostęp do różnych informacji opartych na serwletach |
regulator czasowy | Zapewnia to proste informacje dotyczące profilowania |
znak | Pomaga to w sprawdzaniu akcji pod kątem prawidłowego tokena, aby zapobiec zduplikowanym przesyłaniu formularzy |
uprawomocnienie | Zapewnia to obsługę walidacji dla różnych działań |
4. Stos wartości
ValueStackw Struts2 to obszar przechowywania, w którym przechowywane są dane całej aplikacji w celu przetworzenia żądania. Te dane są przechowywane w ramachActionContextobiekty, które korzystają zThreadLocaldo pobierania wartości specyficznych dla dowolnego określonego wątku żądania klienta.
5. OGNL
OGNL to skrót od Object-Graph Navigation Language. Jest to potężny język wyrażeń, podobnie jak JSP i jest używany głównie w przypadkuodniesienie i manipulowanie danymi obecnymi w ValueStack. Ponadto pomaga również w przesyłaniu i konwertowaniu rodzajów danych.
Podobnie jak JSP, OGNL zawiera obiekt główny w kontekście aplikacji. W ten sposób można podać odniesienie do obiektu domyślnego za pomocą notacji znaczników, która w tym przypadku jest oznaczona symbolem funta. Framework Struts 2 implementuje OGNL, budując mapę ActionContext. Poniżej wymieniłem komponenty mapy ActionContext:
- Podanie
- Sesja
- Stos wartości
- Żądanie
- Parametry
- Atrybuty
Dzięki temu poznasz podstawy Struts 2. W następnej sekcji tego artykułu w Struts 2 możesz przejść bezpośrednio do kodu i zaimplementować wszystko, czego nauczyłeś się do tej pory.
nauczyć się obsługi Visual Studio
Demo samouczka Struts 2
Tutaj utworzę prostą aplikację, w której musisz wpisać swoje imię i nazwisko, a aplikacja powita Cię. Poniżej zrzut ekranu przedstawiający pełną strukturę projektu:
Jak widać, w tym projekcie stworzymy 5 plików, którymi są:
- HelloWorld.java
- index.jsp
- welcome.jsp
- web.xml
- struts.xml
Uwaga: przed rozpoczęciem tego projektu upewnij się, że masz już zainstalowany Tomcat w swoim systemie.
KROK I: W swoim Eclipse przejdź do Plik> Nowy> Dynamiczny projekt sieciowy. Wprowadź nazwę projektu i kliknij New Runtime.
KROK II: Tutaj musisz wybrać wersję Apache Tomcat, którą pobrałeś w swoim systemie i kliknij Dalej.
KROK III: Następnie kliknij Przeglądaj i przejdź do katalogu, w którym zapisano zależności Tomcat. Po zakończeniu kliknij Zakończ i przejdź do tworzenia projektu.
KROK IV: Dodajmy teraz pliki jar Struts, które będą wymagane do pomyślnego wykonania tego projektu. Możesz pobrać pliki JAR z tutaj . Gdy będziesz gotowy z plikami JAR, skopiuj JAR i wklej je w WebContent> WEB-INF> lib.
KROK V: Teraz, gdy jesteśmy gotowi ze wszystkimi konfiguracjami, ustawmy pliki kodu, zaczynając od HelloWorld.java. W tym celu kliknij prawym przyciskiem myszy projekt> Nowy> Klasa. Wypełnij nazwę pakietu i klasy i kliknij Zakończ.
KROK VI: Wpisz poniższy kod w HelloWorld.java plik.
pakiet com.edureka public class HelloWorld {private String name public String getName () {return name} public void setName (String name) {this.name = name} public String execute () {return 'success'}}
KROK VII: Następnie utwórz nowy index.jsp plik pod WebContent i wpisz poniższy kod:
KROK VIII: Teraz ponownie utwórz nowy welcome.jsp plik pod WebContent i wpisz poniższy kod:
Witamy:
KROK IX: Teraz przejdź do WebContent> WEB-INF i wpisz poniższy kod w pliku web.xml plik.
Struts2Demo index.html struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareandExecuteFilter struts2 / *
KROK X: Na koniec w obszarze Java Resources> src utwórz struts.xml plik
welcome.jsp
KROK XI: Teraz przejdź do index.jsp stronę i kliknij ją prawym przyciskiem myszy. Wybierz opcję Uruchom na serwerze, aby uruchomić aplikację.
To prowadzi nas do końca artykułu poświęconego samouczkowi Struts 2. Jeśli chcesz dowiedzieć się więcej o Javie, możesz skorzystać z naszego .
Teraz, gdy już wiesz, czym jest samouczek Struts 2, zapoznaj się z autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie i certyfikacja J2EE i SOA firmy Edureka jest przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistami Java. Kurs ma na celu zapewnienie przewagi w programowaniu w języku Java i szkolenie zarówno podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych struktur Java, takich jak Hibernate i Spring.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy w tym artykule „Samouczek Struts 2”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.