50 najpopularniejszych pytań i odpowiedzi dotyczących wywiadów ze Struts (2025)

Oto pytania i odpowiedzi dotyczące rozmów kwalifikacyjnych w Struts, przeznaczone zarówno dla nowicjuszy, jak i doświadczonych kandydatów, którzy chcą zdobyć wymarzoną pracę.


1. Jakie są komponenty Struts Framework?

Struts Framework składa się z następujących komponentów:

  1. Serwlety Javy
  2. JSP (strony serwera Java)
  3. Tagi niestandardowe
  4. Zasoby wiadomości

Bezpłatne pobieranie w formacie PDF: Pytania i odpowiedzi dotyczące wywiadu ze Struts


2. Jaka jest rola modułu obsługi w aplikacjach opartych na MVC?

Zadaniem procedur obsługi jest przesyłanie żądań do odpowiednich modeli, ponieważ są one powiązane z warstwą modelu architektury MVC. Procedury obsługi wykorzystują informacje o mapowaniu z plików konfiguracyjnych do przesyłania żądań.


3. Jaki jest przepływ żądań w aplikacjach opartych na Struts?

Aplikacje oparte na Struts korzystają ze wzorca projektowego MVC. Przebieg żądań wygląda następująco:

  • Użytkownik wchodzi w interakcję z View poprzez kliknięcie dowolnego łącza lub przesłanie dowolnego formularza.
  • Po interakcji użytkownika żądanie jest przekazywane do kontrolera.
  • Administrator odpowiada za przekazanie żądania odpowiedniej akcji.
  • Akcja odpowiada za wywołanie funkcji w Modelu, która ma zaimplementowaną całą logikę biznesową.
  • Odpowiedź z warstwy modelu jest odbierana przez akcję, która następnie przekazuje ją do widoku, w którym użytkownik może zobaczyć odpowiedź.

4. Który plik jest używany przez kontroler w celu uzyskania informacji o mapowaniu do routingu żądań?

Kontroler korzysta z pliku konfiguracyjnego „struts-config.xml plik, aby uzyskać wszystkie informacje o mapowaniu, aby zdecydować, której akcji użyć do skierowania żądania użytkownika.


5. Jaka jest rola klasy Action w Struts?

W Struts klasa akcji pełni rolę kontrolera i wykonuje następujące kluczowe zadania:

  • Po otrzymaniu żądania użytkownika przetwarza żądanie użytkownika.
  • Używa odpowiedniego modelu i pobiera z niego dane (jeśli jest to wymagane).
  • Wybiera odpowiedni widok, aby wyświetlić odpowiedź użytkownikowi.
Pytania do rozmowy kwalifikacyjnej Struts
Pytania do rozmowy kwalifikacyjnej Struts

6. Jak powstaje komponent bean actionForm?

Surogat

Komponent bean actionForm tworzony jest poprzez rozszerzenie klasy org.apache.struts.action.ActionForm

In the following example we have created an actionForm bean with the name 'testForm':

import javax.servlet.http.HttpServletRequest; 
import org.apache.struts.action.*; 
public class testForm extends ActionForm { 
private String Id=null; 
private String State=null; 
public void setId(String id){
this.Id=id; 
} 
public String getId(){
return this.Id;
}
public void setState(String state){ 
this.State=state; 
} 
public String getState(){ 
return this.State; 
}

7. Jakie są dwa typy walidacji obsługiwane przez Validator Framework?

Validator Framework służy do sprawdzania poprawności danych formularzy. Ramy te zapewniają dwa typy walidacji:

  1. Weryfikacja po stronie klienta w przeglądarce użytkownika
  2. Walidacja po stronie serwera

8. Jakie są etapy instalacji rozpórek?

Aby móc korzystać z frameworka Struts wystarczy w naszym środowisku programistycznym dodać plik Struts.Jar. Gdy plik jar będzie już dostępny w CLASSPATH, możemy używać frameworka i tworzyć aplikacje oparte na Strut.

Pytania do rozmowy kwalifikacyjnej Struts
Pytania do rozmowy kwalifikacyjnej Struts

9. Jak włącza się sprawdzanie poprawności po stronie klienta w formularzu JSP?

Aby umożliwić walidację po stronie klienta w Struts, najpierw musimy włączyć wtyczkę walidatora w pliku struts-config.xml. Odbywa się to poprzez dodanie w tym pliku następujących wpisów konfiguracyjnych:

<!--  Validator plugin -->
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property
property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
</plug-in>

Następnie reguły walidacji definiowane są w pliku validation.xml. Jeśli formularz zawiera pole e-mail i chcemy włączyć weryfikację tego pola po stronie klienta, w pliku validation.xml dodawany jest następujący kod:

<form name="testForm">
<field  property="email"
depends="required">
<arg key="testForm.email"/>
</field>
</form>

10. W jaki sposób tag action-mapping jest używany do przekazywania żądań w pliku konfiguracyjnym Struts?

W pliku konfiguracyjnym Struts (struts-config.xml) opcje przekazywania są zdefiniowane w tagu action-mapping.

W poniższym przykładzie, gdy użytkownik kliknie hiperłącze test.zrób, prośba zostanie przekazana do /pages/testing.jsp korzystając z następujących konfiguracji z pliku struts-config.xml:

<action  path="/test" forward="/pages/testing.jsp">

Przekazanie nastąpi po kliknięciu przez użytkownika poniższego hiperłącza na stronie jsp:

<html:link</strong> page="/test.do</strong>">Controller Example</html:link>

11. Jak można kontrolować przesyłanie duplikatów formularzy w Struts?

W Struts klasa akcji udostępnia dwie ważne metody, których można użyć w celu uniknięcia podwójnego przesyłania formularzy.

Metoda saveToken() klasy akcji generuje unikalny token i zapisuje go w sesji użytkownika. Metoda isTokenValid() służy następnie do sprawdzania unikalności tokenów.


12. Jak w Struts możemy uzyskać dostęp do komponentów Java i ich właściwości?

Biblioteka znaczników Bean to biblioteka Struts, której można używać do uzyskiwania dostępu do komponentów Java.


13. Który plik konfiguracyjny jest używany do przechowywania informacji konfiguracyjnych JSP w Struts?

Do szczegółów konfiguracji JSP używany jest plik Web.xml.


14. Jaki jest cel metody Execute klasy akcji?

Metoda Execute klasy akcji odpowiada za wykonanie logiki biznesowej. Jeśli na żądanie użytkownika wymagana jest jakakolwiek obróbka, odbywa się ona w tej metodzie. Metoda ta zwraca obiekt actionForward, który kieruje aplikację na odpowiednią stronę.

W poniższym przykładzie metoda wykonywania zwróci obiekt actionForward zdefiniowany w struts-config.xml o nazwie „exampleAction”:

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class actionExample extends Action
{
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception{
return mapping.findForward("exampleAction");
}
}

15. Jaka jest różnica pomiędzy plikami validation.xml i validator-rules.xml w środowisku Struts Validation?

W pliku Validation.xml definiujemy reguły walidacji dla dowolnego konkretnego komponentu Java, natomiast w pliku validator-rules.xml zdefiniowane są standardowe i ogólne reguły walidacji.


16. Jak wyświetlić użytkownikowi wszystkie błędy walidacyjne na stronie JSP?

Do wyświetlenia wszystkich błędów walidacji w oparciu o reguły walidacji zdefiniowane w pliku validation.xml używamy tag w naszym pliku JSP.


17. Na czym polega deklaratywna obsługa wyjątków w Struts?

Kiedy logika obsługi wyjątków jest zdefiniowana w pliku struts-config.xml lub w znaczniku akcji, w Struts nazywa się to deklaratywną obsługą wyjątków.

W poniższym przykładzie zdefiniowaliśmy wyjątek w pliku struts-config.xml dla wyjątku NullPointerException:

<global-exceptions>

<exception key="test.key"

Type="java.lang.NullPointerException"

Path="/WEB-INF/errors/error_page.jsp"

</global-exceptions>

18. Co to jest DynaActionForm?

DynaActionForm to specjalny typ klasy actionForm (podklasa klasy ActionForm), który służy do dynamicznego tworzenia komponentów bean formularza. Używa plików konfiguracyjnych do tworzenia komponentów bean formularza.


19. Jakie zmiany konfiguracyjne są wymagane, aby móc używać płytek w Struts?

Aby stworzyć komponenty wielokrotnego użytku we frameworku Tiles, musimy dodać następujący kod definicji wtyczki w pliku struts-config.xml:

<plug-in className="org.apache.struts.tiles.TilesPlugin" >

<set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />

<set-property property="moduleAware" value="true" />

</plug-in>

20. Jaka jest różnica pomiędzy Jakarta Struts a Apache Struts? Którego lepiej użyć?

Obydwa są takie same i nie ma między nimi żadnej różnicy.


21. Do czego służy plik konfiguracyjny Struts.xml?

Plik Struts.xml jest jednym z kluczowych plików konfiguracyjnych frameworka Struts, który służy do definiowania mapowania pomiędzy adresem URL a akcją. Kiedy kontroler otrzyma żądanie użytkownika, kontroler wykorzystuje informacje mapujące z tego pliku, aby wybrać odpowiednią klasę akcji.


22. Jak zdefiniowano biblioteki znaczników w Struts?

Biblioteki tagów są zdefiniowane w pliku konfiguracyjnym (web.xml) znajdującym się wewnątrz oznaczyć w następujący sposób:

<taglib>

<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>

<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>

</taglib>

23. Jakie jest znaczenie znaczników logicznych w Struts?

Użycie znaczników logicznych w Struts pomaga w pisaniu czystego i wydajnego kodu w warstwie prezentacji bez użycia skryptletów.


24. Jakie są dwa typy zasięgu dla formbeans?

  • Zakres żądania: Wartości Formbean są dostępne tylko w bieżącym żądaniu
  • Zakres sesji: Wartości Formbean są dostępne dla wszystkich żądań w bieżącej sesji.

25. Jak zgrupować powiązane działania w jedną grupę w Struts?

Aby zgrupować wiele powiązanych ze sobą akcji w jedną grupę, możemy skorzystać z klasy DispatcherAction.


26. Kiedy powinniśmy używać SwtichAction?

Najlepszym scenariuszem użycia klasy SwitchAction jest sytuacja, gdy mamy aplikację modułową z wieloma modułami pracującymi osobno. Za pomocą klasy SwitchAction możemy przełączyć się z zasobu w jednym module na inny zasób w innym module aplikacji.


27. Jakie są zalety frameworka Struts?

Struts opiera się na MVC, dlatego istnieje dobre oddzielenie różnych warstw w Struts, co ułatwia tworzenie i dostosowywanie aplikacji Struts. Użycie różnych plików konfiguracyjnych sprawia, że ​​aplikacje Struts są łatwe w konfiguracji. Ponadto Struts jest oprogramowaniem typu open source, a zatem opłacalnym.


28. Jakie kroki należy wykonać, aby przeprowadzić migrację aplikacji ze Struts1 do Struts2?

Aby przeprowadzić migrację Struts1 do Struts2, wymagane są następujące kroki:

  1. Przenieś formularz akcji Struts1 do Struts2 POJO.
  2. Konwertuj plik konfiguracyjny Struts1 (struts-config.xml) na plik konfiguracyjny Struts2 (struts.xml)

29. Jak sprawdzane są właściwości formy w Struts?

Do sprawdzania poprawności wypełnionych właściwości używana jest metoda valid() klasy ActionForm przed obsługą kontroli komponentu formbean do klasy Action.


30. Jaki jest pożytek z metody resetowania klasy ActionForm?

metoda reset klasy actionForm służy do czyszczenia wartości formularza przed zainicjowaniem nowego żądania.


31. Jakie są wady Struts?

Chociaż Struts ma wiele zalet, wymaga również większej krzywej uczenia się, a także zmniejsza przejrzystość procesu rozwoju.

Struts również nie ma odpowiedniej dokumentacji, a w przypadku wielu jego komponentów użytkownicy nie mogą uzyskać pomocy w Internecie.


32. Jakie jest zastosowanie pliku Resourcebundle.properties w frameworku Struts Validation?

Plik Resourcebundle.properties służy do definiowania określonych komunikatów o błędach w parach klucz-wartość dla wszelkich możliwych błędów, które mogą wystąpić w kodzie.

Takie podejście pomaga utrzymać kod w czystości, ponieważ programista nie musi osadzać w kodzie wszystkich komunikatów o błędach.


33. Czy mogę mieć? html form bez powiązanych metod getter i setter formbean?

Dla każdej właściwości formularza HTML należy zdefiniować metody pobierające i ustawiające w komponencie formbean, w przeciwnym razie aplikacja spowoduje błąd.


34. Ile kontrolerów serwletów wykorzystuje aplikacja Struts?

Framework Struts działa w oparciu o koncepcję scentralizowanego sterowania, a całą aplikacją steruje pojedynczy kontroler serwletu. Dlatego w aplikacji serwletu potrzebny jest tylko jeden kontroler serwletu.


35. Czy w przypadku jednej aplikacji Struts możemy mieć wiele plików struts-config.xml?

Dla jednej aplikacji możemy mieć dowolną liczbę plików Struts-config.xml.

Potrzebujemy do tego następujących konfiguracji:

<servlet>

<servlet-name>action</servlet-name>

<servlet-class>

org.apache.struts.action.ActionServlet

</servlet-class>

<init-param>

<param-name>config</param-name>

<param-value>

/WEB-INF/struts-config.xml

/WEB-INF/struts-config_user.xml

/WEB-INF/struts-config_admin.xml

</param-value>

</init-param>

.............

.............

</servlet>

36. Które komponenty modelu są obsługiwane przez Struts?

Struts obsługują wszystkie typy modeli, w tym komponenty Java, EJB, CORBA. Jednakże Struts nie ma wbudowanej obsługi żadnego konkretnego modelu i decyzja o wyborze dowolnego modelu należy do programisty.


37. Kiedy warto używać IncludeAction?

IncludeAction to klasa akcji udostępniana przez Struts, która jest przydatna, gdy wymagana jest integracja pomiędzy Struts i aplikacją opartą na serwletach.


38. Czy gwint Struts jest bezpieczny?

Tak Rozpórki są bezpieczne dla gwintów. W Struts nowy obiekt serwletu nie jest wymagany do obsługi każdego żądania; raczej dla każdego nowego żądania używany jest nowy wątek obiektu klasy akcji.


39. Jakie zmiany konfiguracyjne są wymagane, aby móc korzystać z plików zasobów w Struts?

Pliki zasobów (pliki .properties) można wykorzystać w Struts po dodaniu następującego wpisu konfiguracyjnego w pliku struts-config.xml:

<message-resources parameter="com.login.struts.ApplicationResources"/>

40. Jak można wykorzystać zagnieżdżone ziarna w aplikacjach Struts?

W tym celu Struts udostępniają oddzielną bibliotekę znaczników (bibliotekę znaczników zagnieżdżonych). Korzystając z tej biblioteki, możemy zagnieżdżać komponenty bean w dowolnej aplikacji opartej na Struts.


41. Jakie są podstawowe klasy Struts Framework?

Poniżej znajdują się podstawowe klasy udostępniane przez Struts Framework:

  • Klasa akcji
  • Klasa ActionForm
  • Klasa ActionMapping
  • Klasa ActionForward
  • Klasa ActionServlet

42. Czy w Struts możemy programowo obsługiwać wyjątki?

Tak, możemy programowo obsługiwać wyjątki w Struts, używając bloków try, catch w kodzie.

try {

// Struts code

}

Catch (Exception e) {

// exception handling code

}

43. Czy Struts Framework jest częścią J2EE?

Chociaż framework Struts opiera się na technologiach J2EE, takich jak JSP, Java Beans, Servlets itp., ale nie jest częścią standardów J2EE.


44. Jak skonfigurowane jest mapowanie akcji w Struts?

Mapowania akcji są konfigurowane w pliku konfiguracyjnym struts-config.xml pod znacznikiem następująco:

<pre><action-mappings>
<action path="/login"
type="login.loginAction"
name="loginForm"
input="/login.jsp"
scope="request"
validate="true">
<forward name="success" path="/index.jsp"/>
<forward name="failure" path="/login_error.jsp"/>
</action>
</action-mappings>

45. Kiedy warto wybrać Struts Framework?

Rozpórki należy stosować, gdy spełniony jest jeden lub kilka z poniższych warunków:

  • Wymagany jest bardzo solidny rozwój aplikacji na poziomie przedsiębiorstwa.
  • Wymagana jest aplikacja wielokrotnego użytku, wysoce konfigurowalna.
  • Wymagana jest luźno powiązana aplikacja oparta na MVC z wyraźną segregacją różnych warstw.

46. ​​Dlaczego ActionServlet jest singletonem w Struts?

W strukturze Struts actionServlet pełni rolę kontrolera i wszystkie żądania użytkowników są kontrolowane przez ten kontroler. ActionServlet opiera się na wzorcu projektowym singletonu, ponieważ dla tej klasy kontrolera należy utworzyć tylko jeden obiekt. Dla każdego żądania użytkownika tworzonych jest później wiele wątków.


47. Jakie kroki są wymagane do skonfigurowania struktury walidatora w Struts?

Aby skonfigurować środowisko walidatora w Struts, wymagane są następujące kroki: – Błędna pisownia

  1. W katalogu WEB-INF umieść pliki valdator-rules.xml i validation.xml.
  2. Włącz wtyczkę sprawdzającą w plikach struts-config.xml, dodając:
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,
/WEB-INF/validation.xml"/>
</plug-in>

48. Jakie technologie można zastosować w warstwie widoku w Struts?

W Struts możemy zastosować dowolną z poniższych technologii w warstwie widoku:

  • JSP
  • HTML
  • XML/XSL
  • Pliki WML
  • Szablony prędkości
  • Serwlety

49. Jakie są warunki prawidłowego działania actionForm?

Aby działać poprawnie, ActionForm musi spełniać następujące warunki:

  • Musi mieć konstruktor bezargumentowy.
  • Powinien mieć publiczne metody pobierające i ustawiające dla wszystkich swoich właściwości.

50. Która biblioteka jest dostarczana przez Struts dla elementów formularzy, takich jak pola wyboru, pola tekstowe itp.?

Struts udostępnia bibliotekę znaczników HTML, której można używać do dodawania elementów formularzy, takich jak pola tekstowe, pola tekstowe, przyciski opcji itp.


Te pytania podczas rozmowy kwalifikacyjnej pomogą również w Twoim życiu (ustach)

Udziały

Komentarze 3

  1. Dziękuję bardzo, wspaniale ;):) Link do pobrania pliku PDF nie działa. Dzięki

    1. Błąd naprawiony! Dziękujemy za zgłoszenie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *