Die 50 wichtigsten Fragen und Antworten zum Vorstellungsgespräch bei Struts (2024)

Hier finden Sie Fragen und Antworten zu Struts-Interviews für Berufseinsteiger und erfahrene Kandidaten, die ihren Traumjob bekommen möchten.


1. Aus welchen Komponenten besteht das Struts Framework?

Das Struts-Framework besteht aus folgenden Komponenten:

  1. Java-Servlets
  2. JSP (Java Server Pages)
  3. Benutzerdefinierte Tags
  4. Nachrichtenressourcen

Kostenloser PDF-Download: Fragen und Antworten zum Struts-Interview


2. Welche Rolle spielt ein Handler in MVC-basierten Anwendungen?

Es ist die Aufgabe von Handlern, die Anforderungen an geeignete Modelle zu übertragen, da diese an die Modellschicht der MVC-Architektur gebunden sind. Handler verwenden Zuordnungsinformationen aus Konfigurationsdateien für die Anforderungsübertragung.


3. Wie ist der Anforderungsfluss in Struts-basierten Anwendungen?

Struts-basierte Anwendungen verwenden das MVC-Entwurfsmuster. Der Ablauf der Anfragen ist wie folgt:

  • Der Benutzer interagiert mit View, indem er auf einen Link klickt oder ein Formular absendet.
  • Nach der Interaktion des Benutzers wird die Anfrage an den Controller weitergeleitet.
  • Der Controller ist dafür verantwortlich, die Anfrage an die entsprechenden Maßnahmen weiterzuleiten.
  • Die Aktion ist für den Aufruf einer Funktion in Model verantwortlich, in der die gesamte Geschäftslogik implementiert ist.
  • Die Antwort von der Modellebene wird von der Aktion zurückerhalten, die sie dann an die Ansicht weiterleitet, wo der Benutzer die Antwort sehen kann.

4. Welche Datei wird vom Controller verwendet, um Zuordnungsinformationen für das Anforderungsrouting abzurufen?

Der Controller verwendet eine Konfigurationsdatei „struts-config.xml Datei, um alle Zuordnungsinformationen abzurufen und zu entscheiden, welche Aktion für die Weiterleitung der Benutzeranforderung verwendet werden soll.


5. Welche Rolle spielt die Aktionsklasse in Struts?

In Struts fungiert die Action-Klasse als Controller und führt die folgenden Schlüsselaufgaben aus:

  • Nach Erhalt der Benutzeranfrage wird die Anfrage des Benutzers verarbeitet.
  • Verwendet ein geeignetes Modell und ruft Daten aus dem Modell ab (falls erforderlich).
  • Wählt die richtige Ansicht aus, um dem Benutzer die Antwort anzuzeigen.
Fragen zum Struts-Interview
Fragen zum Struts-Interview

6. Wie wird eine ActionForm-Bean erstellt?

Surrogat

Die ActionForm-Bean wird durch Erweitern der Klasse erstellt 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. Welche zwei Arten von Validierungen werden von Validator FrameWork unterstützt?

Das Validator Framework wird für die Validierung von Formulardaten verwendet. Dieses Framework bietet zwei Arten von Validierungen:

  1. Clientseitige Validierung im Browser des Benutzers
  2. Serverseitige Validierung

8. Welche Schritte sind bei der Struts-Installation erforderlich?

Um das Struts-Framework verwenden zu können, müssen wir lediglich die Datei Struts.Jar in unserer Entwicklungsumgebung hinzufügen. Sobald die JAR-Datei im CLASSPATH verfügbar ist, können wir das Framework verwenden und Strut-basierte Anwendungen entwickeln.

Fragen zum Struts-Interview
Fragen zum Struts-Interview

9. Wie wird die clientseitige Validierung in einem JSP-Formular aktiviert?

Um die clientseitige Validierung in Struts zu aktivieren, müssen wir zunächst das Validator-Plug-in in der Datei struts-config.xml aktivieren. Dies erfolgt durch das Hinzufügen der folgenden Konfigurationseinträge in dieser Datei:

<!--  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>

Anschließend werden Validierungsregeln in der Datei validation.xml definiert. Wenn ein Formular ein E-Mail-Feld enthält und wir die clientseitige Validierung für dieses Feld aktivieren möchten, wird der folgende Code in die Datei validation.xml eingefügt:

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

10. Wie wird das Action-Mapping-Tag für die Anforderungsweiterleitung in der Struts-Konfigurationsdatei verwendet?

In der Struts-Konfigurationsdatei (struts-config.xml) werden Weiterleitungsoptionen unter dem Action-Mapping-Tag definiert.

Im folgenden Beispiel klickt ein Benutzer auf den Hyperlink test.do, Anfrage wird weitergeleitet an /pages/testing.jsp Verwenden der folgenden Konfigurationen aus der Datei struts-config.xml:

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

Diese Weiterleitung erfolgt, wenn der Benutzer auf der JSP-Seite auf den folgenden Hyperlink klickt:

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

11. Wie kann die doppelte Formularübermittlung in Struts gesteuert werden?

In Struts stellt die Aktionsklasse zwei wichtige Methoden bereit, mit denen doppelte Formularübermittlungen vermieden werden können.

Die Methode saveToken() der Aktionsklasse generiert ein eindeutiges Token und speichert es in der Sitzung des Benutzers. Die Methode isTokenValid() wird dann verwendet, um die Eindeutigkeit von Tokens zu überprüfen.


12. Wie können wir in Struts auf Java Beans und ihre Eigenschaften zugreifen?

Die Bean Tag Library ist eine Struts-Bibliothek, die für den Zugriff auf Java Beans verwendet werden kann.


13. Welche Konfigurationsdatei wird zum Speichern von JSP-Konfigurationsinformationen in Struts verwendet?

Für JSP-Konfigurationsdetails wird die Datei Web.xml verwendet.


14. Was ist der Zweck der Execute-Methode der Aktionsklasse?

Die Execute-Methode der Aktionsklasse ist für die Ausführung der Geschäftslogik verantwortlich. Wenn auf Anfrage des Benutzers eine Verarbeitung erforderlich ist, wird diese mit dieser Methode durchgeführt. Diese Methode gibt ein actionForward-Objekt zurück, das die Anwendung zur entsprechenden Seite weiterleitet.

Im folgenden Beispiel gibt die Methode „execute“ ein in struts-config.xml definiertes Objekt von actionForward mit dem Namen „exampleAction“ zurück:

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. Was ist der Unterschied zwischen den Dateien validation.xml und validator-rules.xml im Struts Validation Framework?

In Validation.xml definieren wir Validierungsregeln für jede bestimmte Java-Bean, während in der Datei validator-rules.xml Standard- und generische Validierungsregeln definiert sind.


16. Wie können wir dem Benutzer auf der JSP-Seite alle Validierungsfehler anzeigen?

Um alle Validierungsfehler basierend auf den in der Datei validation.xml definierten Validierungsregeln anzuzeigen, verwenden wir Tag in unserer JSP-Datei.


17. Was ist die deklarative Ausnahmebehandlung in Struts?

Wenn Logik für die Ausnahmebehandlung in struts-config.xml oder innerhalb des Aktions-Tags definiert ist, wird dies in Struts als deklarative Ausnahmebehandlung bezeichnet.

Im folgenden Beispiel haben wir in der Datei struts-config.xml eine Ausnahme für NullPointerException definiert:

<global-exceptions>

<exception key="test.key"

Type="java.lang.NullPointerException"

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

</global-exceptions>

18. Was ist DynaActionForm?

DynaActionForm ist ein spezieller Typ der ActionForm-Klasse (Unterklasse der ActionForm-Klasse), der zum dynamischen Erstellen von Formular-Beans verwendet wird. Es verwendet Konfigurationsdateien für die Form-Bean-Erstellung.


19. Welche Konfigurationsänderungen sind erforderlich, um Tiles in Struts zu verwenden?

Um wiederverwendbare Komponenten mit dem Tiles-Framework zu erstellen, müssen wir den folgenden Plugin-Definitionscode in die Datei struts-config.xml einfügen:

<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. Was ist der Unterschied zwischen Jakarta Struts und Apache Struts? Welches ist besser zu verwenden?

Beide sind gleich und es gibt keinen Unterschied zwischen ihnen.


21. Wozu dient die Konfigurationsdatei Struts.xml?

Die Datei Struts.xml ist eine der wichtigsten Konfigurationsdateien des Struts-Frameworks, die zum Definieren der Zuordnung zwischen URL und Aktion verwendet wird. Wenn eine Benutzeranforderung beim Controller eingeht, verwendet der Controller Zuordnungsinformationen aus dieser Datei, um die entsprechende Aktionsklasse auszuwählen.


22. Wie werden Tag-Bibliotheken in Struts definiert?

Tag-Bibliotheken werden in der darin enthaltenen Konfigurationsdatei (web.xml) definiert Tag wie folgt:

<taglib>

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

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

</taglib>

23. Welche Bedeutung haben Logik-Tags in Struts?

Die Verwendung von Logik-Tags in Struts hilft beim Schreiben eines sauberen und effizienten Codes auf der Präsentationsebene ohne den Einsatz von Scriptlets.


24. Welche zwei Bereichstypen gibt es für Formbeans?

  • Umfang der Anfrage: Formbean-Werte sind nur in der aktuellen Anfrage verfügbar
  • Sitzungsumfang: Formbean-Werte sind für alle Anfragen in der aktuellen Sitzung verfügbar.

25. Wie können wir verwandte Aktionen in Struts in einer Gruppe zusammenfassen?

Um mehrere verwandte Aktionen in einer Gruppe zusammenzufassen, können wir die Klasse DispatcherAction verwenden.


26. Wann sollten wir SwtichAction verwenden?

Das beste Szenario für die Verwendung der SwitchAction-Klasse ist, wenn wir eine modulare Anwendung mit mehreren Modulen haben, die separat arbeiten. Mithilfe der SwitchAction-Klasse können wir von einer Ressource in einem Modul zu einer anderen Ressource in einem anderen Modul der Anwendung wechseln.


27. Welche Vorteile bietet das Struts-Framework?

Struts basiert auf MVC und daher gibt es in Struts eine gute Trennung der verschiedenen Schichten, was die Entwicklung und Anpassung von Struts-Anwendungen vereinfacht. Durch die Verwendung verschiedener Konfigurationsdateien können Struts-Anwendungen einfach konfiguriert werden. Außerdem ist Struts Open Source und daher kostengünstig.


28. Welche Schritte sind für eine Anwendungsmigration von Struts1 nach Struts2 erforderlich?

Für die Migration von Struts1 zu Struts2 sind folgende Schritte erforderlich:

  1. Verschieben Sie Struts1 actionForm nach Struts2 POJO.
  2. Konvertieren Sie die Struts1-Konfigurationsdatei (struts-config.xml) in die Struts2-Konfigurationsdatei (struts.xml).

29. Wie werden Eigenschaften eines Formulars in Struts validiert?

Zur Validierung ausgefüllter Eigenschaften wird die Methode „validate()“ der Klasse „ActionForm“ verwendet, bevor die Steuerung der Formbean an die Klasse „Action“ erfolgt.


30. Wozu dient die Reset-Methode der ActionForm-Klasse?

Die Reset-Methode der ActionForm-Klasse wird verwendet, um die Werte eines Formulars zu löschen, bevor eine neue Anfrage initiiert wird.


31. Was sind die Nachteile von Struts?

Obwohl Struts zahlreiche Vorteile mit sich bringen, erfordert es auch eine größere Lernkurve und verringert auch die Transparenz im Entwicklungsprozess.

Außerdem mangelt es Struts an einer ordnungsgemäßen Dokumentation und für viele seiner Komponenten können Benutzer keine geeigneten Online-Ressourcen für Hilfe erhalten.


32. Wozu dient die Datei „resourcebundle.properties“ im Struts Validation Framework?

Die Datei „resourcebundle.properties“ wird verwendet, um spezifische Fehlermeldungen in Schlüssel-Wert-Paaren für mögliche Fehler zu definieren, die im Code auftreten können.

Dieser Ansatz trägt dazu bei, den Code sauber zu halten, da der Entwickler nicht alle Fehlermeldungen in den Code einbetten muss.


33. Kann ich haben html Formulareigenschaft ohne zugehörige Getter- und Setter-Formbean-Methoden?

Für jede HTML-Formulareigenschaft müssen Getter- und Setter-Methoden im Formbean definiert werden, andernfalls führt die Anwendung zu einem Fehler.


34. Wie viele Servlet-Controller werden in einer Struts-Anwendung verwendet?

Das Struts-Framework basiert auf dem Konzept eines zentralisierten Steuerungsansatzes und die gesamte Anwendung wird von einem einzigen Servlet-Controller gesteuert. Daher benötigen wir in einer Servlet-Anwendung nur einen Servlet-Controller.


35. Können wir für eine einzelne Struts-Anwendung mehrere struts-config.xml-Dateien haben?

Wir können eine beliebige Anzahl von Struts-config.xml-Dateien für eine einzelne Anwendung haben.

Dazu benötigen wir folgende Konfigurationen:

<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. Welche Modellkomponenten werden von Struts unterstützt?

Struts unterstützen alle Arten von Modellen, einschließlich Java Beans, EJB, CORBA. Allerdings bietet Struts keine eingebaute Unterstützung für ein bestimmtes Modell und es liegt im Ermessen des Entwicklers, sich für ein beliebiges Modell zu entscheiden.


37. Wann ist die Verwendung von IncludeAction sinnvoll?

IncludeAction ist eine von Struts bereitgestellte Aktionsklasse, die nützlich ist, wenn eine Integration zwischen Struts und einer Servlet-basierten Anwendung erforderlich ist.


38. Ist Struts-Thread sicher?

Ja, Struts sind threadsicher. In Struts ist nicht ein neues Servlet-Objekt erforderlich, um jede Anfrage zu bearbeiten; Vielmehr wird für jede neue Anfrage ein neuer Thread des Aktionsklassenobjekts verwendet.


39. Welche Konfigurationsänderungen sind erforderlich, um Ressourcendateien in Struts zu verwenden?

Ressourcendateien (.properties-Dateien) können in Struts verwendet werden, indem der folgende Konfigurationseintrag in der Datei struts-config.xml hinzugefügt wird:

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

40. Wie können verschachtelte Beans in Struts-Anwendungen verwendet werden?

Struts stellen hierfür eine eigene Tag-Bibliothek (Nested Tag Library) zur Verfügung. Mit dieser Bibliothek können wir die Beans in jeder Struts-basierten Anwendung verschachteln.


41. Was sind die Kernklassen des Struts Framework?

Im Folgenden sind die vom Struts Framework bereitgestellten Kernklassen aufgeführt:

  • Aktionsklasse
  • ActionForm-Klasse
  • ActionMapping-Klasse
  • ActionForward-Klasse
  • ActionServlet-Klasse

42. Können wir Ausnahmen in Struts programmgesteuert behandeln?

Ja, wir können Ausnahmen in Struts programmgesteuert behandeln, indem wir Try- und Catch-Blöcke im Code verwenden.

try {

// Struts code

}

Catch (Exception e) {

// exception handling code

}

43. Ist Struts Framework Teil davon? J2EE?

Obwohl das Struts-Framework auf J2EE-Technologien wie JSP, Java Beans, Servlets usw. basiert, ist es nicht Teil der J2EE-Standards.


44. Wie wird die Aktionszuordnung in Struts konfiguriert?

Aktionszuordnungen werden in der Konfigurationsdatei struts-config.xml unter dem Tag konfiguriert wie folgt:

<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. Wann sollte man sich für Struts Framework entscheiden?

Streben sollten verwendet werden, wenn eine oder einige der folgenden Bedingungen zutreffen:

  • Es ist eine äußerst robuste Anwendungsentwicklung auf Unternehmensebene erforderlich.
  • Es ist eine wiederverwendbare, hochgradig konfigurierbare Anwendung erforderlich.
  • Es ist eine lose gekoppelte, MVC-basierte Anwendung mit klarer Trennung der verschiedenen Schichten erforderlich.

46. ​​Warum ist ActionServlet in Struts ein Singleton?

Im Struts-Framework fungiert actionServlet als Controller und alle von Benutzern gestellten Anforderungen werden von diesem Controller gesteuert. ActionServlet basiert auf dem Singleton-Entwurfsmuster, da für diese Controller-Klasse nur ein Objekt erstellt werden muss. Später werden für jede Benutzeranfrage mehrere Threads erstellt.


47. Welche Schritte sind zum Einrichten des Validator-Frameworks in Struts erforderlich?

Die folgenden Schritte sind erforderlich, um das Validator-Framework in Struts einzurichten: – Falsche Schreibweise

  1. Platzieren Sie im WEB-INF-Verzeichnis die Dateien valdator-rules.xml und validation.xml.
  2. Aktivieren Sie das Validierungs-Plugin in den struts-config.xml-Dateien, indem Sie Folgendes hinzufügen:
<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. Welche Technologien können auf View Layer in Struts verwendet werden?

In Struts können wir jede der folgenden Technologien in der Ansichtsebene verwenden:

  • JSP
  • HTML
  • XML/XSLT
  • WML-Dateien
  • Geschwindigkeitsvorlagen
  • Servlets

49. Unter welchen Voraussetzungen funktioniert actionForm ordnungsgemäß?

ActionForm muss die folgenden Bedingungen erfüllen, um ordnungsgemäß zu funktionieren:

  • Es muss einen Konstruktor ohne Argumente haben.
  • Es sollte über öffentliche Getter- und Setter-Methoden für alle seine Eigenschaften verfügen.

50. Welche Bibliothek wird von Struts für Formularelemente wie Kontrollkästchen, Textfelder usw. bereitgestellt?

Struts stellen eine HTML-Tags-Bibliothek bereit, die zum Hinzufügen von Formularelementen wie Textfeldern, Textfeldern, Optionsfeldern usw. verwendet werden kann.


Diese Interviewfragen helfen auch bei Ihrer mündlichen Prüfung

Teilen

3 Kommentare

  1. Vielen Dank, Sir, großartig ;):))Der PDF-Download-Link funktioniert nicht. Danke

    1. Fehler behoben! Danke für die Meldung

Hinterlassen Sie uns einen Kommentar

E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind MIT * gekennzeichnet. *