Samouczek Struts 2 - kompleksowe rozwiązanie dla początkujących



Ten artykuł na temat samouczka Struts 2 pomoże Ci rozpocząć pracę z frameworkiem Struts 2 do tworzenia aplikacji internetowych J2EE wraz z demonstracją kodu.

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?

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

  1. 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.
  2. 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.
  3. 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.
  4. Łatwa integracja: Zapewnia łatwą integrację z innymi platformami internetowymi, takimi jak , DWR, SiteMesh i Tiles.
  5. 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.
  6. Zintegruj technologie widoku: Dzięki Struts2 możesz łatwo zintegrować się z różnymi technologiami widoku, takimi jak XSLT, JSP, Freemarker, prędkość itp.
  7. Motyw i szablony: Struts 2 obsługuje 3 typy motywów:
    1. Xhtml
    2. Prosty
    3. 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

Architektura Struts - Samouczek Struts 2 - EdurekaJak 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:

  1. 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.
  2. 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ą:

  1. HelloWorld.java
  2. index.jsp
  3. welcome.jsp
  4. web.xml
  5. 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.