Top 50 Struts-interviewspørgsmål og -svar (2025)
Her er Struts interviewspørgsmål og svar til friskere såvel som erfarne kandidater til at få deres drømmejob.
1. Hvad er komponenterne i Struts Framework?
Struts ramme består af følgende komponenter:
- Java Servlets
- JSP (Java Server Pages)
- Brugerdefinerede tags
- Meddelelsesressourcer
Gratis PDF-download: Struts Interview Spørgsmål og Svar
2. Hvad er rollen som en handler i MVC-baserede applikationer?
Det er handlernes opgave at overføre anmodningerne til passende modeller, da de er bundet til modellaget i MVC-arkitekturen. Handlere bruger kortoplysninger fra konfigurationsfiler til anmodningsoverførsel.
3. Hvad er strømmen af anmodninger i Struts-baserede applikationer?
Støberbaserede applikationer bruger MVC-designmønster. Strømmen af anmodninger er som følger:
- Brugeren interagerer med View ved at klikke på et link eller ved at indsende en hvilken som helst formular.
- Ved brugers interaktion videregives anmodningen til controlleren.
- Den registeransvarlige er ansvarlig for at videregive anmodningen til passende handling.
- Action er ansvarlig for at kalde en funktion i Model, som har al forretningslogik implementeret.
- Svar fra modellaget modtages tilbage af handlingen, som derefter sender det videre til den visning, hvor brugeren er i stand til at se svaret.
4. Hvilken fil bruges af controlleren til at få kortlægningsoplysninger til anmodningsrouting?
Controlleren bruger en konfigurationsfil "struts-config.xml fil for at få alle kortoplysninger for at beslutte, hvilken handling der skal bruges til at dirigere brugerens anmodning.
5. Hvad er Action Class's rolle i Struts?
I Struts fungerer Action Class som en controller og udfører følgende nøgleopgaver:
- Efter at have modtaget brugeranmodning behandler den brugerens anmodning.
- Bruger passende model og henter data fra model (hvis påkrævet).
- Vælger den korrekte visning for at vise svaret til brugeren.
6. Hvordan skabes en actionForm bean?
Surrogat
actionForm bean oprettes ved at udvide klassen 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. Hvilke to typer valideringer understøttes af Validator FrameWork?
Validator Framework bruges til formulardatavalidering. Denne ramme giver to typer valideringer:
- Client Side validering på brugerens browser
- Server side validering
8. Hvad er trinene ved installation af struts?
For at bruge Struts framework behøver vi kun at tilføje Struts.Jar fil i vores udviklingsmiljø. Når jar-filen er tilgængelig i CLASSPATH, kan vi bruge rammen og udvikle Strut-baserede applikationer.
9. Hvordan aktiveres validering på klientsiden på en JSP-formular?
For at aktivere klientsiden validering i Struts, skal vi først aktivere validator plug-in i filen struts-config.xml. Dette gøres ved at tilføje følgende konfigurationsindgange i denne fil:
<!-- 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>
Derefter defineres valideringsregler i filen validation.xml. Hvis en formular indeholder e-mail-felt, og vi ønsker at aktivere klientsidevalidering for dette felt, tilføjes følgende kode i validation.xml-filen:
<form name="testForm"> <field property="email" depends="required"> <arg key="testForm.email"/> </field> </form>
10. Hvordan bruges action-mapping tag til videresendelse af anmodninger i Struts konfigurationsfil?
I Struts konfigurationsfil (struts-config.xml) er videresendelsesmuligheder defineret under action-mapping tag.
I det følgende eksempel, når en bruger vil klikke på hyperlinket test.do, vil anmodningen blive videresendt til /pages/testing.jsp ved at bruge følgende konfigurationer fra filen struts-config.xml:
<action path="/test" forward="/pages/testing.jsp">
Denne videresendelse finder sted, når brugeren klikker på følgende hyperlink på jsp-siden:
<html:link</strong> page="/test.do</strong>">Controller Example</html:link>
11. Hvordan kan duplikatindsendelse af formularer kontrolleres i Struts?
I Struts giver action-klassen to vigtige metoder, som kan bruges til at undgå duplikerede formularindsendelser.
saveToken() handlingsmetodeklassen genererer et unikt token og gemmer det i brugerens session. metoden isTokenValid() bruges derefter til at kontrollere unikke tokens.
12. Hvordan kan vi få adgang til Java bønner og deres egenskaber i Struts?
Bean Tag Library er et Struts-bibliotek, som kan bruges til at få adgang til Java-bønner.
13. Hvilken konfigurationsfil bruges til at gemme JSP konfigurationsinformation i Struts?
Til JSP-konfigurationsdetaljer bruges Web.xml-filen.
14. Hvad er formålet med Execute method of action klasse?
Klassen Udfør handlingsmetode er ansvarlig for udførelse af forretningslogik. Hvis nogen behandling er påkrævet på brugerens anmodning, udføres den på denne metode. Denne metode returnerer actionForward-objekt, som dirigerer applikationen til en passende side.
I det følgende eksempel vil execute-metoden returnere et objekt af actionForward defineret i struts-config.xml med navnet "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. Hvad er forskellen mellem validation.xml og validator-rules.xml filer i Struts Validation framework?
I Validation.xml definerer vi valideringsregler for enhver specifik Java-bean, mens der i validator-rules.xml-filen er defineret standard- og generiske valideringsregler.
16. Hvordan kan vi vise alle valideringsfejl til brugeren på JSP-siden?
For at vise alle valideringsfejl baseret på valideringsreglerne defineret i validation.xml-filen, bruger vi tag i vores JSP-fil.
17. Hvad er deklarativ undtagelseshåndtering i Struts?
Når logik for undtagelseshåndtering er defineret i struts-config.xml eller i handlingskoden, er det kendt som deklarativ undtagelseshåndtering i Struts.
I det følgende eksempel har vi defineret undtagelse i filen struts-config.xml for NullPointerException:
<global-exceptions> <exception key="test.key" Type="java.lang.NullPointerException" Path="/WEB-INF/errors/error_page.jsp" </global-exceptions>
18. Hvad er DynaActionForm?
DynaActionForm er en speciel type actionForm-klasse (underklasse af ActionForm Class), der bruges til dynamisk at skabe formbønner. Den bruger konfigurationsfiler til oprettelse af formbønne.
19. Hvilke konfigurationsændringer er nødvendige for at bruge Tiles in Struts?
For at oprette genanvendelige komponenter med Tiles framework skal vi tilføje følgende plugin definitionskode i struts-config.xml fil:
<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. Hvad er forskellen mellem Jakarta Struts og Apache Struts? Hvilken er bedre at bruge?
Begge er ens, og der er ingen forskel mellem dem.
21. Hvad er brugen af Struts.xml-konfigurationsfilen?
Struts.xml-filen er en af de vigtigste konfigurationsfiler i Struts framework, som bruges til at definere kortlægning mellem URL og handling. Når en brugers anmodning modtages af controlleren, bruger controlleren kortoplysninger fra denne fil til at vælge passende handlingsklasse.
22. Hvordan defineres tag-biblioteker i Struts?
Tag-biblioteker er defineret i konfigurationsfilen (web.xml) indeni tag som følger:
<taglib> <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib>
23. Hvad er betydningen af logiske tags i Struts?
Brug af logiske tags i Struts hjælper med at skrive en ren og effektiv kode på præsentationslaget uden brug af scriptlets.
24. Hvad er de to scope-typer for formbeans?
- Anmodningsomfang: Formbean-værdier er kun tilgængelige i den aktuelle anmodning
- Sessionsomfang: Formbean-værdier er tilgængelige for alle anmodninger i den aktuelle session.
25. Hvordan kan vi gruppere relaterede handlinger i én gruppe i Struts?
For at gruppere flere relaterede handlinger i én gruppe kan vi bruge DispatcherAction-klassen.
26. Hvornår skal vi bruge SwitichAction?
Det bedste scenario at bruge SwitchAction-klassen er, når vi har en modulær applikation med flere moduler, der arbejder separat. Ved at bruge SwitchAction-klassen kan vi skifte fra en ressource i et modul til en anden ressource i et andet modul i applikationen.
27. Hvad er fordelene ved Struts rammer?
Struts er baseret på MVC, og derfor er der en god adskillelse af forskellige lag i Struts, hvilket gør Struts applikationsudvikling og -tilpasning let. Brug af forskellige konfigurationsfiler gør Struts-applikationer let konfigurerbare. Struts er også open source og dermed omkostningseffektiv.
28. Hvilke trin skal der til for en applikationsmigrering fra Struts1 til Struts2?
Følgende trin er nødvendige for Struts1 til Struts2 migrering:
- Flyt Struts1 actionForm til Struts2 POJO.
- Konverter Struts1-konfigurationsfil (struts-config.xml) til Struts2-konfigurationsfil (struts.xml)
29. Hvordan valideres en formulars egenskaber i Struts?
Til validering af udfyldte egenskaber bruges validate()-metoden for ActionForm-klassen før håndtering af styringen af formbean til Action-klassen.
30. Hvad er brugen af nulstillingsmetoden for ActionForm-klassen?
nulstillingsmetode for actionForm-klassen bruges til at rydde værdierne af en formular før initiering af en ny anmodning.
31. Hvad er ulemperne ved Struts?
Selvom Struts har et stort antal fordele forbundet, kræver det også større indlæringskurve og reducerer også gennemsigtighed i udviklingsprocessen.
Struts mangler også ordentlig dokumentation, og for mange af dets komponenter er brugere ikke i stand til at få ordentlige online ressourcer til hjælp.
32. Hvad er brugen af filen resourcebundle.properties i Struts Validation framework?
resourcebundle.properties-filen bruges til at definere specifikke fejlmeddelelser i nøgleværdipar for eventuelle fejl, der kan opstå i koden.
Denne tilgang hjælper med at holde koden ren, da udvikleren ikke behøver at integrere alle fejlmeddelelser i koden.
33. Kan jeg få html form egenskab uden tilhørende getter og setter formbean metoder?
For hver html-formegenskab skal getter- og setter-metoder i formbean defineres, ellers resulterer applikationen i en fejl.
34. Hvor mange servlet-controllere bruges i en Struts-applikation?
Struts framework arbejder på konceptet med centraliseret kontroltilgang, og hele applikationen styres af en enkelt servlet-controller. Derfor kræver vi kun én servlet-controller i en servlet-applikation.
35. Kan vi have flere struts-config.xml-filer til en enkelt Struts-applikation?
Vi kan have et hvilket som helst antal Struts-config.xml filer til en enkelt applikation.
Vi har brug for følgende konfigurationer til dette:
<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. Hvilke modelkomponenter understøttes af Struts?
Struts understøtter alle typer modeller inklusive Java bønner, EJB, CORBA. Struts har dog ikke indbygget support til nogen specifik model, og det er udviklerens valg at vælge enhver model.
37. Hvornår er det nyttigt at bruge IncludeAction?
IncludeAction er handlingsklasse leveret af Struts, hvilket er nyttigt, når der kræves en integration mellem Struts og Servlet-baseret applikation.
38. Er Struts gevind sikkert?
Ja Struts er gevindsikre. I Struts kræves der ikke et nyt servletobjekt for at håndtere hver anmodning; snarere bruges en ny tråd af action-klasseobjekt for hver ny anmodning.
39. Hvilke konfigurationsændringer er nødvendige for at bruge ressourcefiler i Struts?
Ressourcefiler (.properties-filer) kan bruges i Struts ved at tilføje følgende konfigurationsindgang i struts-config.xml-filen:
<message-resources parameter="com.login.struts.ApplicationResources"/>
40. Hvordan kan indlejrede bønner bruges i Struts-applikationer?
Struts giver et separat tag-bibliotek (Nested Tag Library) til dette formål. Ved at bruge dette bibliotek kan vi indlejre bønnerne i enhver Struts-baseret applikation.
41. Hvad er kerneklasserne af Struts Framework?
Følgende er kerneklasserne leveret af Struts Framework:
- Action klasse
- ActionForm klasse
- ActionMapping klasse
- ActionForward klasse
- ActionServlet klasse
42. Kan vi håndtere undtagelser i Struts programmatisk?
Ja, vi kan håndtere undtagelser i Struts programmatisk ved at bruge try, catch-blokke i koden.
try { // Struts code } Catch (Exception e) { // exception handling code }
43. Er Struts Framework en del af J2EE?
Selvom Struts framework er baseret på J2EE teknologier som JSP, Java Beans, Servlets osv., men det er ikke en del af J2EE standarder.
44. Hvordan konfigureres handlingsmapping i Struts?
Handlingstilknytninger er konfigureret i konfigurationsfilen struts-config.xml under tagget som følger:
<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. Hvornår skal man vælge Struts Framework?
Struts bør bruges, når en eller flere af følgende betingelser er sande:
- En yderst robust applikationsudvikling på virksomhedsniveau er påkrævet.
- En genbrugelig, meget konfigurerbar applikation er påkrævet.
- En løst koblet, MVC-baseret applikation er påkrævet med klar adskillelse af forskellige lag.
46. Hvorfor ActionServlet er singleton i Struts?
I Struts framework fungerer actionServlet som en controller, og alle anmodninger fra brugere styres af denne controller. ActionServlet er baseret på singleton design mønster, da der kun skal oprettes ét objekt til denne controller klasse. Flere tråde oprettes senere for hver brugeranmodning.
47. Hvad er de nødvendige trin for at opsætte validatorramme i Struts?
Følgende trin er nødvendige for at opsætte validatorramme i Struts: – Forkert stavning
- Placer filerne valdator-rules.xml og validation.xml i WEB-INF-mappen.
- Aktiver valideringsplugin i struts-config.xml filer ved at tilføje følgende:
<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. Hvilke teknologier kan bruges på View Layer i Struts?
I Struts kan vi bruge enhver af følgende teknologier i visningslaget:
- JSP
- HTML
- XML/XSLT
- WML filer
- Hastighed skabeloner
- Servlets
49. Hvad er betingelserne for, at actionForm fungerer korrekt?
ActionForm skal opfylde følgende betingelser for at fungere korrekt:
- Det skal have en no argument constructor.
- Det bør have offentlige getter- og setter-metoder for alle dets egenskaber.
50. Hvilket bibliotek leveres af Struts til formularelementer som afkrydsningsfelter, tekstbokse osv.?
Struts leverer HTML-tags-bibliotek, som kan bruges til at tilføje formularelementer som tekstfelter, tekstbokse, radioknapper osv.
Disse interviewspørgsmål vil også hjælpe i din viva(orals)
Tak så meget sir, Awesome ;):) Download pdf-linket virker ikke.Tak
Fejl rettet! Tak for din indberetning
Tak herre :) :)