top 35 frequently asked struts interview questions answers
In deze tutorial over Struts Interview-vragen met antwoorden worden de concepten van de Struts uitgelegd met eenvoudige voorbeelden:
Deze serie Struts-vragen leidt je door het volledige overzicht van Struts Framework, Flow van een applicatie, behoefte aan Struts, zijn acties, constanten, enz., Samen met de inputs die in Struts worden gebruikt. Dit artikel behandelt alle belangrijke vragen die in elk Struts-interview worden gesteld.
Niemand zal je vragen om code te schrijven met Strtus2, het zweeft rond alle theoretische vragen en de interviewer wil gewoon weten of de kandidaat basiskennis heeft over de stroom van het Struts-framework of niet.
Nadat je al deze vragen grondig hebt doorgenomen, en je de concepten in je eigen woorden kunt uitleggen met kleine realtime voorbeelden, ben je klaar.
Meest gestelde vragen over Struts-interview met antwoorden
V # 1) Wat is Struts Framework? Wat zijn de componenten?
Antwoord: Struts is een type Web Application Development Framework dat een geschikt platform biedt voor het ontwikkelen van webapplicaties. Struts omvatten Servlets, JSP, aangepaste tags en berichtbronnen in een verenigd raamwerk.
V # 2) Waarom gebruiken we Struts?
Antwoord: Omdat Struts is gebaseerd op MVC-architectuur, d.w.z. Model, View, Controller, scheidt het Business Logic, Design & Controller, waardoor het de code eenvoudiger, onderhoudbaar en leesbaar maakt.
V # 3) Wat zijn de belangrijkste klassen van de Struts-toepassing?
Antwoord: Hieronder staan de belangrijkste klassen van de Struts Application vermeld.
- Actie Servlet: Het is de controller-klasse en behandelt alle inkomende verzoeken.
- Actieklasse: Met Action class wordt alle bedrijfslogica, ook wel een model genoemd, ontwikkeld.
- Actieformulier : Action Form is een Java-bean waaraan een of meer Action Mappings zijn gekoppeld. Het handhaaft de sessiestatus voor een webtoepassing.
- Actie in kaart brengen: Met Action Mapping kunnen we de mapping tussen Object en Action doen.
- Actie vooruit: Het wordt gebruikt om het resultaat van de controller naar de bestemming te sturen.
V # 4) Wat zijn de nieuwe kenmerken van Struts2?
Antwoord: De opvallende kenmerken van Struts2 zijn als volgt.
- In Struts2 is de Action-klasse POJO. We hoeven geen klasse over te nemen of een interface te implementeren.
- Struts2 heeft JSP, Free marker en Valocity voor de view-component.
- In Struts2 is Front Controller StrutsPrepareAndExecuteFilter.
- In Struts2 moet de naam van het configuratiebestand struts.xml zijn en in de klassenmap worden geplaatst.
- Struts2 gebruikt het concept van Interceptors bij het verwerken van het verzoek.
V # 5) Wat is MVC?
hoe speel je swf-bestanden
Antwoord: MVC staat voor Model, View en Controller en wordt het Software Design Pattern genoemd voor het ontwikkelen van webapplicaties.
Model: Model is verantwoordelijk voor het onderhouden van de State of Data en Business-logica van de applicatie.
Visie: View is verantwoordelijk om alle te gebruiken gegevens te tonen, d.w.z. het toont de presentatie.
Verantwoordelijke: Controller fungeert als een interface tussen View en Model. Het onderschept alle verzoeken, d.w.z. ontvangt invoer en opdrachten naar Model / View om dienovereenkomstig te wijzigen.
V # 6) Wat zijn onderscheppers?
Antwoord: Interceptors zijn het object dat voorziet in de voorverwerkingslogica voordat een actie wordt aangeroepen, of die een naverwerkingslogica biedt nadat de actie is aangeroepen. Interceptors kunnen worden gebruikt om verschillende bewerkingen uit te voeren, zoals validaties, afhandeling van uitzonderingen, uploaden van bestanden, weergeven van tussenresultaten, enz.
V # 7) Wat zijn de levenscyclusmethoden van de interceptor?
Antwoord: Er zijn drie levenscyclusmethoden van de Interceptor, zoals hieronder vermeld.
- init () methode
- intercept () methode
- destroy () methode
Q # 8) Hoe wordt een verzoek behandeld in Struts2 Application?
Antwoord: Een aanvraag in Struts2 Application wordt op de onderstaande manier afgehandeld.
- Ten eerste wordt het ontvangen verzoek door de gebruiker naar de server gestuurd.
- Vervolgens wordt het verzoek afgehandeld door FilterDispatcher die er een geschikte actie voor selecteert.
- De gedefinieerde onderscheppers voeren voorbewerkingen uit zoals het uploaden van bestanden, het afhandelen van uitzonderingen, enz.
- Nu wordt de geselecteerde actie uitgevoerd en wordt de bewerking uitgevoerd.
- Opnieuw voeren de gedefinieerde interceptors nabewerkingen uit zoals het uploaden van bestanden, het afhandelen van uitzonderingen, enz.
- Het uiteindelijke resultaat wordt aan de gebruiker getoond in de vorm van de weergavepagina.
V # 9) Wat is de functie van het bestand Struts.xml in Struts?
Antwoord: In het bestand struts.xml kan de gebruiker alle toewijzingen aan acties definiëren, zodat een bepaalde actie wordt aangeroepen wanneer een bepaalde bewerking wordt uitgevoerd. Het wordt ook wel het configuratiebestand genoemd en is aanwezig in de map WEB-INF / classes.
V # 10) Welke configuratiebestanden worden gebruikt in Struts?
Antwoord: De configuratiebestanden die in Struts worden gebruikt, zijn onder meer:
- ApplicationResource.properties.
- Struts-config.xml.
V # 11) Wat is het gebruik van de methoden Validate () en Reset () in Struts?
Antwoord:
Valideren () methode wordt gebruikt om de eigenschappen te valideren nadat ze zijn gevuld en wordt aangeroepen voordat de Form Bean wordt doorgegeven aan de actie. Het retourneert een verzameling actiefouten.
Syntaxis: Public ActionErrors Validate (ActionMapping-toewijzing, HttpServletRequest-verzoek)
Reset () methode wordt gebruikt om alle ActionForm-gegevens te resetten voordat de nieuwe waarden worden ingesteld. Het wordt aangeroepen door het struts-framework bij elk verzoek dat een gedefinieerd actieformulier gebruikt.
Syntaxis: public void reset ((ActionMapping-toewijzing, HttpServletRequest-verzoek)
V # 12) Wat bedoel je met Value Stack?
Antwoord: Een waardestapel kan worden uitgelegd als een stapel die behoeftespecifieke objecten bevat. De actie blijft bovenaan de stapel tijdens het uitvoeren.
De objecten worden vervolgens in Value Stack geplaatst en de gebruiker kan er SQL-bewerkingen op uitvoeren.
De verschillende methoden van Value Stack zijn als volgt:
- FindString (): Wordt gebruikt om de tekenreeks uit de gegeven uitdrukking te vinden.
- FindValue (): Wordt gebruikt om de waarde van de gegeven uitdrukking te vinden.
- Peek (): Het geeft het object bovenaan de stapel weer.
- Pop (): Het geeft het object bovenaan de stapel en verwijdert het.
- Duwen (): Het duwt het object naar de bovenkant van de stapel.
V # 13) Wat bedoel je met actiecontext?
Antwoord: De actiecontext is een objectcontainer waarin acties worden uitgevoerd. De waarden die zijn opgeslagen in de Action Context zijn uniek per thread (d.w.z. Thread Local), waardoor we onze actie niet thread-safe hoeven te maken.
Door de methode getContext () van de klasse ActionContext aan te roepen, kunnen we de referentie van ActionContext ophalen. Het is een statische fabrieksmethode.
Bijvoorbeeld: ActionContext context = ActionContext.getContext ();
V # 14) Wat is het nut van ActionInvocation?
Antwoord: De ActionInvocation wordt gebruikt om de uitvoeringsstatus van de actie weer te geven. Het bevat de actie en het onderscheppingsobject.
V # 15) Wat is het gebruik van OGNL?
Antwoord: Object Graph Navigation Language (OGNL) is een sterke expressietaal. Het helpt om de toegankelijkheid van gegevens die zijn opgeslagen in de ActionContext te vereenvoudigen. OGNL ondersteunt interactie met verzamelingen, zoals Map, List en Set.
Het struts-framework helpt om de ValueStack in te stellen als het root-object van OGNL. Het action-object wordt in de ValueStack gepusht en we hebben direct toegang tot de action-eigenschap.
V # 16) Wat zijn de soorten constanten die aanwezig zijn in de actie-interface?
Antwoord: Er zijn vijf soorten constanten die worden geleverd door de actie-interface.
Zij zijn:
- Log in
- Invoer
- Succes
- Fout
- Geen
Vraag 17) Hoe kunnen we actieklassen maken in Struts2?
Antwoord: Er zijn veel manieren om Action Classes te maken in Struts2.
Sommigen van hen zijn als volgt:
- Met behulp van Strts2 @Action annotatie.
- Breid de ActionSupport-klasse uit.
- Door de Action Interface te implementeren.
- Elke Java-klasse die bestaat uit de retourwaarde execute () kan worden geconfigureerd als de actieklasse.
Vraag 18) Hoe kunnen we omgaan met uitzonderingen in stutten?
Antwoord: In Struts kunnen uitzonderingen op twee manieren worden afgehandeld, zoals hieronder wordt weergegeven.
- Programmatische afhandeling van uitzonderingen: Hierin kunnen we het Try {} Catch {} -blok gebruiken om de uitzondering af te handelen.
- Declaratieve afhandeling van uitzonderingen: Hier kunnen we de algemene afhandelingstags voor uitzonderingen definiëren in struts-config.xml of tags voor het afhandelen van uitzonderingen binnen tags definiëren.
V # 19) Wat zijn de soorten tagbibliotheken in Struts?
Antwoord: Struts biedt veel tagbibliotheken om softwareontwikkeling te vergemakkelijken.
Zij zijn:
- Bean Tag-bibliotheek: Wordt gebruikt voor toegang tot Java Beans en zijn eigenschappen.
- Geneste tagbibliotheek: Biedt de mogelijkheid om geneste bonen in de toepassing te gebruiken.
- Logic Tag-bibliotheek: Wordt gebruikt voor het leveren van de vereiste output, iteratiemogelijkheden en stroombeheer.
- HTML-tagbibliotheek: Helpt bij het verkrijgen van de vereiste HTML-uitvoer.
- Tiles Tag-bibliotheek: Gebruikt in toepassingen met tegels.
V # 20) Wat zijn de verschillende soorten Struts-acties?
Antwoord: Er zijn 5 soorten Struts-acties.
Ze zijn als volgt:
- Voorwaartse actie: Met deze klasse kunnen we de Struts-controller en zijn functionaliteit besturen zonder de bestaande Servlets te herschrijven.
- Actie opnemen: Gebruik de klasse includeAction om een andere bron op te nemen in het antwoord op het verzoek dat wordt verwerkt.
- Schakelactie: Wordt gebruikt om een resource in de ene module over te schakelen naar een andere resource in een andere module.
- Verzendactie: Wordt gebruikt om de gerelateerde acties in één klasse te combineren.
- LookUpAction: Wordt gebruikt om de actie met een sleutel aan te sturen als de actienaam niet werkt.
V # 21) Wat zijn de verschillende soorten tags in Struts2?
Antwoord: De verschillende soorten tags in Struts2 zijn als volgt:
hoofdoorzaakanalyse bij het testen van software
- Controletag (If Else tag, Iterator Tag, Merge Tag, Append Tag, Generator Tag, etc.)
- Gegevenstag (Actietag, Tag opnemen, Bean-tag, Datumlabel, Param-tag, Eigenschaps-tag, Push-tag, Tag instellen, Tekst-tag, etc.)
- Vorm de dag (Alle eenvoudige UI-tags.)
- Ajax-dag
V # 22) Wat is het standaard resultaattype in Struts2?
Antwoord: Het standaard resultaattype in struts2 is de dispatcher. Het wordt gebruikt om de JSP-pagina's te verzenden.
V # 23) Wat bedoel je met internationalisering? Waarom hebben we het nodig?
Antwoord: Internationalisering (i18n) is de interceptor die wordt gebruikt voor het plannen en implementeren van producten en diensten, zodat ze gemakkelijk kunnen worden aangepast aan specifieke lokale talen en culturen, d.w.z. een proces dat lokalisatie wordt genoemd.
Het behandelt het instellen van de locatie voor de actie. Het kan worden gebruikt als de gebruiker zijn / haar landinstelling wil instellen en gegevens wil ophalen volgens de opgegeven landinstelling.
V # 24) Wat zijn de kerncomponenten van Struts2?
Antwoord: De kerncomponenten van Struts2 zijn als volgt:
- Interceptors
- Waardestapel
- Actiecontext
- OGNL
- ActieInvocation
V # 25) Hoe kunnen we aangepaste interceptor maken?
Antwoord: We kunnen de aangepaste interceptor maken door de Interceptor-interface in een klasse te implementeren en de drie levenscyclusmethode te overschrijven, d.w.z. init (), Destroy (), Intercept () Het kan ook worden gemaakt door de invoer van de interceptor in het bestand struts.xml te definiëren.
V # 26) Wat is de functionaliteit van de Token Interceptor in Struts2?
Antwoord: Het grootste probleem met webapplicaties is de dubbele indiening, waardoor dubbele bedragen van de gebruiker in rekening worden gebracht en dubbele waarden in de database worden opgeslagen. We kunnen een token-interceptor gebruiken om het probleem met het indienen van dubbele formulieren op te lossen. Deze interceptor is gedefinieerd in het standaard struts-pakket.
V # 27) Hoe upload ik bestanden in de Struts2-applicatie?
Antwoord: Met behulp van de FileUploadInterceptor kunnen we bestanden uploaden in de struts2 applicatie.
V # 28) Is Struts2 Action gesynchroniseerd?
Antwoord: Ja, Struts2-acties worden gesynchroniseerd wanneer een object wordt aangeroepen om elk nieuw binnenkomend verzoek af te handelen.
Vraag 29) Zijn Struts2 Interceptors gesynchroniseerd?
Antwoord: Omdat Struts2-interceptors singleton-klassen zijn en omdat er een nieuwe thread wordt gemaakt om het verzoek af te handelen, wordt deze niet gesynchroniseerd en moeten we ze zorgvuldig implementeren om problemen met de gedeelde gegevens te voorkomen.
V # 30) Wat is de frontcontroller in Struts2?
Antwoord: StrutsPrepareAndExecuteFilter is de Front Controller-klasse in Struts2, het is ook het startpunt van elk inkomend verzoek.
V # 31) Hoe zijn ValueStack en OGNL met elkaar verbonden?
Antwoord: OGNL is een bibliotheek waarmee de ValueStack-gegevens of -waarden worden gemanipuleerd, terwijl ValueStack een stapel is waarin alle waarden en gegevens met betrekking tot acties worden opgeslagen.
Q # 32) Schrijf de syntaxis om de uitvoerpagina weer te geven met XML in Struts2?