Top 50 Struts-interviewvragen en antwoorden (2024)

Hier zijn de interviewvragen en antwoorden van Struts voor zowel eerstejaars als ervaren kandidaten om hun droombaan te krijgen.


1. Wat zijn de componenten van Struts Framework?

Het Struts-framework bestaat uit de volgende componenten:

  1. Java-servlets
  2. JSP (Java Server-pagina's)
  3. Aangepaste tags
  4. Berichtbronnen

Gratis pdf-download: vragen en antwoorden over Struts-interviews


2. Wat is de rol van een handler in op MVC gebaseerde applicaties?

Het is de taak van de handlers om de verzoeken over te dragen naar de juiste modellen, aangezien deze gebonden zijn aan de modellaag van de MVC-architectuur. Handlers gebruiken toewijzingsinformatie uit configuratiebestanden voor de overdracht van verzoeken.


3. Hoe verloopt de stroom verzoeken in op Struts gebaseerde applicaties?

Op stutten gebaseerde toepassingen maken gebruik van een MVC-ontwerppatroon. De stroom van verzoeken is als volgt:

  • De gebruiker communiceert met View door op een link te klikken of door een formulier in te dienen.
  • Na interactie van de gebruiker wordt het verzoek doorgegeven aan de controller.
  • De verwerkingsverantwoordelijke is verantwoordelijk voor het doorgeven van het verzoek aan passende actie.
  • Action is verantwoordelijk voor het aanroepen van een functie in Model waarin alle bedrijfslogica is geïmplementeerd.
  • Het antwoord van de modellaag wordt terug ontvangen door de actie, die het vervolgens doorgeeft aan de weergave waar de gebruiker het antwoord kan zien.

4. Welk bestand wordt door de controller gebruikt om kaartinformatie te verkrijgen voor het routeren van verzoeken?

Controller gebruikt een configuratiebestand “struts-config.xml bestand om alle toewijzingsinformatie op te halen om te beslissen welke actie moet worden gebruikt voor het routeren van het verzoek van de gebruiker.


5. Wat is de rol van Action Class in Struts?

In Struts fungeert Action Class als controller en voert de volgende belangrijke taken uit:

  • Na ontvangst van een gebruikersverzoek verwerkt het het verzoek van de gebruiker.
  • Gebruikt het juiste model en haalt gegevens uit het model (indien nodig).
  • Selecteert de juiste weergave om het antwoord aan de gebruiker te tonen.
Sollicitatievragen over Struts
Sollicitatievragen over Struts

6. Hoe wordt een actionForm-boon gemaakt?

Surrogaat

actionForm bean wordt gemaakt door de klasse uit te breiden 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. Welke twee soorten validaties worden door Validator FrameWork ondersteund?

Validator Framework wordt gebruikt voor de validatie van formuliergegevens. Dit raamwerk biedt twee soorten validaties:

  1. Validatie aan de clientzijde in de browser van de gebruiker
  2. Validatie aan de serverzijde

8. Wat zijn de stappen voor de installatie van stutten?

Om het Struts-framework te gebruiken, hoeven we alleen het Struts.Jar-bestand toe te voegen aan onze ontwikkelomgeving. Zodra het jar-bestand beschikbaar is in CLASSPATH, kunnen we het raamwerk gebruiken en op Strut gebaseerde applicaties ontwikkelen.

Sollicitatievragen over Struts
Sollicitatievragen over Struts

9. Hoe wordt validatie aan de clientzijde ingeschakeld op een JSP-formulier?

Om validatie aan de clientzijde in Struts mogelijk te maken, moeten we eerst de validator-plug-in inschakelen in het bestand struts-config.xml. Dit wordt gedaan door de volgende configuratiegegevens aan dit bestand toe te voegen:

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

Vervolgens worden de validatieregels gedefinieerd in het bestand validation.xml. Als een formulier een e-mailveld bevat en we validatie aan de clientzijde voor dit veld willen inschakelen, wordt de volgende code toegevoegd aan het validation.xml-bestand:

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

10. Hoe wordt de action-mapping-tag gebruikt voor het doorsturen van verzoeken in het Struts-configuratiebestand?

In het Struts-configuratiebestand (struts-config.xml) worden doorstuuropties gedefinieerd onder de action-mapping-tag.

In het volgende voorbeeld, wanneer een gebruiker op de hyperlink klikt test.do, verzoek wordt doorgestuurd naar /pages/testing.jsp met behulp van de volgende configuraties uit het bestand struts-config.xml:

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

Deze doorzending vindt plaats wanneer de gebruiker op de volgende hyperlink op de jsp-pagina klikt:

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

11. Hoe kan het indienen van dubbele formulieren in Struts worden gecontroleerd?

In Struts biedt action class twee belangrijke methoden die kunnen worden gebruikt om dubbele formulierinzendingen te voorkomen.

saveToken() actiemethodeklasse genereert een uniek token en slaat dit op in de sessie van de gebruiker. De isTokenValid()-methode wordt vervolgens gebruikt om de uniciteit van tokens te controleren.


12. Hoe kunnen we in Struts toegang krijgen tot Java-bonen en hun eigenschappen?

Bean Tag Library is een Struts-bibliotheek die kan worden gebruikt voor toegang tot Java-bonen.


13. Welk configuratiebestand wordt gebruikt voor het opslaan van JSP-configuratie-informatie in Struts?

Voor JSP-configuratiedetails wordt het Web.xml-bestand gebruikt.


14. Wat is het doel van de klasse Execute-actiemethode?

De uitvoeringsmethode van actieklasse is verantwoordelijk voor de uitvoering van bedrijfslogica. Als er op verzoek van de gebruiker een verwerking vereist is, wordt deze op deze manier uitgevoerd. Deze methode retourneert het actionForward-object dat de toepassing naar de juiste pagina leidt.

In het volgende voorbeeld retourneert de execute-methode een object actionForward, gedefinieerd in struts-config.xml met de naam “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. Wat is het verschil tussen validation.xml- en validator-rules.xml-bestanden in het Struts Validation-framework?

In Validation.xml definiëren we validatieregels voor elke specifieke Java-bean, terwijl in het validator-rules.xml-bestand standaard en generieke validatieregels worden gedefinieerd.


16. Hoe kunnen we alle validatiefouten aan de gebruiker op de JSP-pagina weergeven?

Om alle validatiefouten weer te geven op basis van de validatieregels die zijn gedefinieerd in het bestand validation.xml, gebruiken we tag in ons JSP-bestand.


17. Wat is declaratieve afhandeling van uitzonderingen in Struts?

Wanneer logica voor de afhandeling van uitzonderingen is gedefinieerd in struts-config.xml of binnen de actietag, staat dit in Struts bekend als declaratieve afhandeling van uitzonderingen.

In het volgende voorbeeld hebben we een uitzondering gedefinieerd in het bestand struts-config.xml voor NullPointerException:

<global-exceptions>

<exception key="test.key"

Type="java.lang.NullPointerException"

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

</global-exceptions>

18. Wat is DynaActionForm?

DynaActionForm is een speciaal type actionForm-klasse (subklasse van ActionForm-klasse) dat wordt gebruikt voor het dynamisch maken van formulierbonen. Het gebruikt configuratiebestanden voor het maken van formulierbonen.


19. Welke configuratiewijzigingen zijn vereist om Tiles in Struts te gebruiken?

Om herbruikbare componenten met het Tiles-framework te maken, moeten we de volgende plugin-definitiecode toevoegen aan het struts-config.xml-bestand:

<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. Wat is het verschil tussen Jakarta Struts en Apache Struts? Welke is beter te gebruiken?

Beide zijn hetzelfde en er is geen verschil tussen beide.


21. Wat is het nut van het Struts.xml-configuratiebestand?

Het Struts.xml-bestand is een van de belangrijkste configuratiebestanden van het Struts-framework dat wordt gebruikt om de toewijzing tussen URL en actie te definiëren. Wanneer het verzoek van een gebruiker door de controller wordt ontvangen, gebruikt de controller mapping-informatie uit dit bestand om de juiste actieklasse te selecteren.


22. Hoe tagbibliotheken worden gedefinieerd in Struts?

Tagbibliotheken worden gedefinieerd in het configuratiebestand (web.xml) daarin als volgt labelen:

<taglib>

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

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

</taglib>

23. Wat is de betekenis van logische tags in Struts?

Het gebruik van logische tags in Struts helpt bij het schrijven van schone en efficiënte code op de presentatielaag zonder gebruik van scriptlets.


24. Wat zijn de twee scopetypen voor formbeans?

  • Verzoekbereik: Formbean-waarden zijn alleen beschikbaar in de huidige aanvraag
  • Sessieomvang: Formbean-waarden zijn beschikbaar voor alle aanvragen in de huidige sessie.

25. Hoe kunnen we gerelateerde acties groeperen in één groep in Struts?

Om meerdere gerelateerde acties in één groep te groeperen, kunnen we de klasse DispatcherAction gebruiken.


26. Wanneer moeten we SwtichAction gebruiken?

Het beste scenario om de SwitchAction-klasse te gebruiken is wanneer we een modulaire applicatie hebben waarbij meerdere modules afzonderlijk werken. Met behulp van de SwitchAction-klasse kunnen we overschakelen van een bron in de ene module naar een andere bron in een andere module van de applicatie.


27. Wat zijn de voordelen van het Struts-framework?

Struts is gebaseerd op MVC en daarom is er een goede scheiding van verschillende lagen in Struts, waardoor het ontwikkelen en aanpassen van Struts-applicaties eenvoudig is. Door het gebruik van verschillende configuratiebestanden zijn Struts-applicaties eenvoudig te configureren. Bovendien is Struts open source en dus kosteneffectief.


28. Welke stappen zijn nodig voor een applicatiemigratie van Struts1 naar Struts2?

De volgende stappen zijn vereist voor de migratie van Struts1 naar Struts2:

  1. Verplaats Struts1 actionForm naar Struts2 POJO.
  2. Converteer het Struts1-configuratiebestand (struts-config.xml) naar het Struts2-configuratiebestand (struts.xml)

29. Hoe worden eigenschappen van een formulier gevalideerd in Struts?

Voor validatie van ingevulde eigenschappen wordt de methode validate() van de ActionForm-klasse gebruikt voordat de besturing van formbean naar de Action-klasse wordt afgehandeld.


30. Wat is het nut van de reset-methode van de ActionForm-klasse?

reset-methode van actionForm-klasse wordt gebruikt om de waarden van een formulier te wissen voordat een nieuw verzoek wordt gestart.


31. Wat zijn de nadelen van Struts?

Hoewel Struts een groot aantal voordelen met zich meebrengen, vereist het ook een grotere leercurve en vermindert het de transparantie in het ontwikkelingsproces.

Struts ontberen ook de juiste documentatie en voor veel van de componenten kunnen gebruikers geen goede online bronnen voor hulp krijgen.


32. Wat is het gebruik van het bestand resourcebundle.properties in het Struts Validation-framework?

Het bestand resourcebundle.properties wordt gebruikt om specifieke foutmeldingen in sleutelwaardeparen te definiëren voor eventuele fouten die in de code kunnen optreden.

Deze aanpak helpt de code schoon te houden, omdat de ontwikkelaar niet alle foutmeldingen in de code hoeft in te sluiten.


33. Mag ik? html form-eigenschap zonder bijbehorende getter- en setter-formbean-methoden?

Voor elke html-formuliereigenschap moeten getter- en setter-methoden in de formbean worden gedefinieerd, anders resulteert de toepassing in een fout.


34. Hoeveel servletcontrollers worden er gebruikt in een Struts-applicatie?

Het Struts-framework werkt volgens het concept van een gecentraliseerde besturingsaanpak en de hele applicatie wordt bestuurd door een enkele servletcontroller. Daarom hebben we slechts één servletcontroller nodig in een servlettoepassing.


35. Kunnen we voor een enkele Struts-toepassing meerdere struts-config.xml-bestanden hebben?

We kunnen een willekeurig aantal Struts-config.xml-bestanden hebben voor één enkele toepassing.

Hiervoor hebben we de volgende configuraties nodig:

<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. Welke modelcomponenten worden door Struts ondersteund?

Struts ondersteunen alle soorten modellen, waaronder Java-bonen, EJB, CORBA. Struts heeft echter geen ingebouwde ondersteuning voor een specifiek model en het is de keuze van de ontwikkelaar om voor welk model dan ook te kiezen.


37. Wanneer is het nuttig om IncludeAction te gebruiken?

IncludeAction is een actieklasse die wordt aangeboden door Struts, wat handig is wanneer een integratie vereist is tussen Struts en op Servlet gebaseerde applicaties.


38. Is Struts-draad veilig?

Ja Struts zijn draadveilig. In Struts is er geen nieuw servletobject vereist om elk verzoek af te handelen; in plaats daarvan wordt voor elk nieuw verzoek een nieuwe thread van actieklasseobject gebruikt.


39. Welke configuratiewijzigingen zijn vereist om bronbestanden in Struts te gebruiken?

Bronbestanden (.properties-bestanden) kunnen in Struts worden gebruikt door de volgende configuratie-invoer toe te voegen aan het bestand struts-config.xml:

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

40. Hoe kunnen geneste bonen worden gebruikt in Struts-toepassingen?

Struts bieden hiervoor een aparte tagbibliotheek (Nested Tag Library). Met behulp van deze bibliotheek kunnen we de bonen nesten in elke op Struts gebaseerde applicatie.


41. Wat zijn de kernklassen van Struts Framework?

Hieronder volgen de kernklassen van Struts Framework:

  • Actie klasse
  • ActionForm-klasse
  • ActionMapping-klasse
  • ActionForward-klasse
  • ActionServlet-klasse

42. Kunnen we uitzonderingen in Struts programmatisch afhandelen?

Ja, we kunnen uitzonderingen in Struts programmatisch afhandelen door try, catch-blokken in de code te gebruiken.

try {

// Struts code

}

Catch (Exception e) {

// exception handling code

}

43. Maakt Struts Framework deel uit van J2EE?

Hoewel het Struts-framework gebaseerd is op J2EE-technologieën zoals JSP, Java Beans, Servlets enz., Maakt het geen deel uit van de J2EE-standaarden.


44. Hoe is action mapping geconfigureerd in Struts?

Actietoewijzingen worden geconfigureerd in het configuratiebestand struts-config.xml onder de tag als volgt:

<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. Wanneer moet worden gekozen voor Struts Framework?

Struts moeten worden gebruikt als een of meer van de volgende omstandigheden van toepassing zijn:

  • Er is een zeer robuuste applicatieontwikkeling op ondernemingsniveau vereist.
  • Er is een herbruikbare, zeer configureerbare applicatie vereist.
  • Er is een losjes gekoppelde, op MVC gebaseerde applicatie vereist met een duidelijke scheiding van verschillende lagen.

46. ​​Waarom ActionServlet singleton is in Struts?

In het Struts-framework fungeert actionServlet als controller en alle verzoeken van gebruikers worden beheerd door deze controller. ActionServlet is gebaseerd op een singleton-ontwerppatroon, omdat er voor deze controllerklasse slechts één object hoeft te worden gemaakt. Voor elk gebruikersverzoek worden later meerdere threads gemaakt.


47. Wat zijn de stappen die nodig zijn voor het opzetten van een validatorframework in Struts?

De volgende stappen zijn vereist om het validatorframework in Struts in te stellen: – Verkeerde spelling

  1. Plaats in de WEB-INF-directory de bestanden valdator-rules.xml en validation.xml.
  2. Schakel de validatieplug-in in struts-config.xml-bestanden in door het volgende toe te voegen:
<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. Welke technologieën kunnen worden gebruikt bij View Layer in Struts?

In Struts kunnen we elk van de volgende technologieën in de weergavelaag gebruiken:

  • JSP
  • HTML
  • XML/XSLT
  • WML-bestanden
  • Snelheidssjablonen
  • servlets

49. Wat zijn de voorwaarden voor een correcte werking van actionForm?

ActionForm moet aan de volgende voorwaarden voldoen om correct te kunnen werken:

  • Het moet een constructor zonder argument hebben.
  • Het moet voor al zijn eigenschappen openbare getter- en settermethoden hebben.

50. Welke bibliotheek wordt door Struts ter beschikking gesteld voor formulierelementen zoals selectievakjes, tekstvakken enz.?

Struts bieden een HTML Tags-bibliotheek die kan worden gebruikt voor het toevoegen van formulierelementen zoals tekstvelden, tekstvakken, keuzerondjes enz.


Deze interviewvragen zullen ook helpen bij je viva (oralen)

Delen

3 reacties

  1. Heel erg bedankt meneer, geweldig ;):)download pdf-link werkt niet.Bedankt

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *