Topp 50 struts intervjufrågor och svar (2025)
Här finns Struts intervjufrågor och svar för såväl nyblivna som erfarna kandidater för att få sitt drömjobb.
1. Vilka är komponenterna i Struts Framework?
Struts ramverk består av följande komponenter:
- Java Servlets
- JSP (Java Server Pages)
- Anpassade taggar
- Meddelanderesurser
Gratis PDF-nedladdning: Struts Intervju Frågor och Svar
2. Vilken roll har en hanterare i MVC-baserade applikationer?
Det är hanterarnas uppgift att överföra förfrågningarna till lämpliga modeller eftersom de är bundna till modellskiktet i MVC-arkitekturen. Hanterare använder kartinformation från konfigurationsfiler för begäran om överföring.
3. Vad är flödet av förfrågningar i Struts-baserade applikationer?
Fjäderbensbaserade applikationer använder MVC-designmönster. Flödet av förfrågningar är som följer:
- Användaren interagerar med View genom att klicka på valfri länk eller genom att skicka in valfritt formulär.
- Vid användarens interaktion skickas begäran till kontrollanten.
- Den registeransvarige är ansvarig för att skicka begäran till lämplig åtgärd.
- Action ansvarar för att anropa en funktion i Model som har all affärslogik implementerad.
- Svar från modelllagret tas tillbaka av åtgärden som sedan skickar det till vyn där användaren kan se svaret.
4. Vilken fil används av styrenheten för att få kartinformation för förfrågningsdirigering?
Styrenheten använder en konfigurationsfil "struts-config.xml fil för att få all mappningsinformation för att bestämma vilken åtgärd som ska användas för att dirigera användarens begäran.
5. Vilken roll har Action Class i Struts?
I Struts fungerar Action Class som en controller och utför följande nyckeluppgifter:
- Efter att ha mottagit användarförfrågan behandlar den användarens begäran.
- Använder lämplig modell och hämtar data från modellen (om det behövs).
- Väljer rätt vy för att visa svaret för användaren.
6. Hur skapas en actionForm-böna?
Surrogat
actionForm bean skapas genom att utöka 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. Vilka är de två typerna av valideringar som stöds av Validator FrameWork?
Validator Framework används för formulärdatavalidering. Detta ramverk tillhandahåller två typer av valideringar:
- Verifiering på klientsidan i användarens webbläsare
- Verifiering på serversidan
8. Vilka är stegen för att installera struts?
För att kunna använda Struts ramverk behöver vi bara lägga till filen Struts.Jar i vår utvecklingsmiljö. När jar-filen är tillgänglig i CLASSPATH kan vi använda ramverket och utveckla Strut-baserade applikationer.
9. Hur aktiveras validering på klientsidan på ett JSP-formulär?
För att aktivera klientsidans validering i Struts måste vi först aktivera valideringsplugin i filen struts-config.xml. Detta görs genom att lägga till följande konfigurationsposter i den här filen:
<!-- 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>
Då definieras valideringsregler i filen validation.xml. Om ett formulär innehåller e-postfält och vi vill aktivera klientsidans validering för detta fält, läggs följande kod till i filen validation.xml:
<form name="testForm"> <field property="email" depends="required"> <arg key="testForm.email"/> </field> </form>
10. Hur action-mapping-tagg används för vidarebefordran av begäran i Struts konfigurationsfil?
I Struts konfigurationsfil (struts-config.xml) definieras vidarebefordringsalternativ under action-mapping-taggen.
I följande exempel, när en användare klickar på hyperlänken test.do, kommer begäran att vidarebefordras till /pages/testing.jsp använder följande konfigurationer från filen struts-config.xml:
<action path="/test" forward="/pages/testing.jsp">
Denna vidarebefordran kommer att ske när användaren klickar på följande hyperlänk på jsp-sidan:
<html:link</strong> page="/test.do</strong>">Controller Example</html:link>
11. Hur kan dubblettformulärinlämning kontrolleras i Struts?
I Struts tillhandahåller actionklassen två viktiga metoder som kan användas för att undvika dubbletter av formulärinlämningar.
saveToken() åtgärdsmetoden genererar en unik token och sparar den i användarens session. isTokenValid()-metoden används sedan för att kontrollera unika tokens.
12. Hur kan vi komma åt Javabönor och deras egenskaper i Struts?
Bean Tag Library är ett Struts-bibliotek som kan användas för att komma åt Java-bönor.
13. Vilken konfigurationsfil används för att lagra JSP-konfigurationsinformation i Struts?
För JSP-konfigurationsdetaljer används filen Web.xml.
14. Vad är syftet med klassen Execute method of action?
Execute method of action class ansvarar för exekvering av affärslogik. Om någon bearbetning krävs på användarens begäran utförs den på den här metoden. Denna metod returnerar actionForward-objekt som dirigerar programmet till lämplig sida.
I följande exempel returnerar exekveringsmetoden ett objekt av actionForward definierat i struts-config.xml med namnet "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. Vad är skillnaden mellan validation.xml- och validator-rules.xml-filer i Struts Validation-ramverk?
I Validation.xml definierar vi valideringsregler för en specifik Java-böna medan i validator-rules.xml-filen definieras standard- och generiska valideringsregler.
16. Hur kan vi visa alla valideringsfel för användaren på JSP-sidan?
För att visa alla valideringsfel baserat på valideringsreglerna som definieras i validation.xml-filen använder vi taggen i vår JSP-fil.
17. Vad är deklarativ undantagshantering i Struts?
När logik för undantagshantering är definierad i struts-config.xml eller i åtgärdstaggen, kallas det deklarativ undantagshantering i Struts.
I följande exempel har vi definierat undantag i filen struts-config.xml för NullPointerException:
<global-exceptions> <exception key="test.key" Type="java.lang.NullPointerException" Path="/WEB-INF/errors/error_page.jsp" </global-exceptions>
18. Vad är DynaActionForm?
DynaActionForm är en speciell typ av actionForm-klass (underklass av ActionForm Class) som används för att dynamiskt skapa formbönor. Den använder konfigurationsfiler för att skapa formbönor.
19. Vilka konfigurationsändringar krävs för att använda Tiles in Struts?
För att skapa återanvändbara komponenter med Tiles-ramverket måste vi lägga till följande plugindefinitionskod i filen 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. Vad är skillnaden mellan Jakarta Struts och Apache Struts? Vilken är bättre att använda?
Båda är samma och det är ingen skillnad mellan dem.
21. Vad är användningen av Struts.xml-konfigurationsfilen?
Struts.xml-filen är en av de viktigaste konfigurationsfilerna för Struts ramverk som används för att definiera mappning mellan URL och åtgärd. När en användares begäran tas emot av regulatorn använder regulatorn mappningsinformation från denna fil för att välja lämplig åtgärdsklass.
22. Hur definieras taggbibliotek i Struts?
Taggbibliotek definieras i konfigurationsfilen (web.xml) inuti tagga enligt följande:
<taglib> <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib>
23. Vilken betydelse har logiska taggar i Struts?
Användning av logiska taggar i Struts hjälper till att skriva en ren och effektiv kod vid presentationslager utan användning av scriptlets.
24. Vilka är de två omfattningstyperna för formbönor?
- Begäran omfattning: Formbean-värden är endast tillgängliga i den aktuella begäran
- Sessionens omfattning: Formbean-värden är tillgängliga för alla förfrågningar i den aktuella sessionen.
25. Hur kan vi gruppera relaterade åtgärder i en grupp i Struts?
För att gruppera flera relaterade åtgärder i en grupp kan vi använda klassen DispatcherAction.
26. När ska vi använda SwitichAction?
Det bästa scenariot att använda SwitchAction-klassen är när vi har en modulär applikation med flera moduler som fungerar separat. Med SwitchAction-klassen kan vi byta från en resurs i en modul till en annan resurs i någon annan modul i applikationen.
27. Vilka är fördelarna med Struts ramverk?
Struts är baserat på MVC och därför finns det en bra separation av olika lager i Struts vilket gör Struts applikationsutveckling och anpassning enkel. Användning av olika konfigurationsfiler gör Struts applikationer lätt konfigurerbara. Struts är också öppen källkod och därmed kostnadseffektivt.
28. Vilka steg krävs för en applikationsmigrering från Struts1 till Struts2?
Följande steg krävs för migrering av Struts1 till Struts2:
- Flytta Struts1 actionForm till Struts2 POJO.
- Konvertera Struts1 konfigurationsfil (struts-config.xml) till Struts2 konfigurationsfil (struts.xml)
29. Hur valideras egenskaper hos ett formulär i Struts?
För validering av ifyllda egenskaper används metoden validate() för ActionForm-klassen innan kontrollen av formbean till Action-klassen hanteras.
30. Vad är användningen av återställningsmetoden för ActionForm-klassen?
återställningsmetod för actionForm-klassen används för att rensa värdena i ett formulär innan en ny begäran initieras.
31. Vilka är nackdelarna med Struts?
Även om Struts har ett stort antal fördelar associerade, kräver det också en större inlärningskurva och minskar också transparensen i utvecklingsprocessen.
Struts saknar också korrekt dokumentation och för många av dess komponenter kan användare inte få korrekta onlineresurser för hjälp.
32. Vad är användningen av filen resourcebundle.properties i Struts Validation-ramverk?
filen resourcebundle.properties används för att definiera specifika felmeddelanden i nyckelvärdespar för eventuella fel som kan uppstå i koden.
Detta tillvägagångssätt hjälper till att hålla koden ren eftersom utvecklaren inte behöver bädda in alla felmeddelanden i koden.
33. Kan jag ha HTML form egenskap utan tillhörande getter och setter formbean metoder?
För varje html-formegenskap måste getter- och settermetoder i formbean definieras, annars resulterar applikationen i ett fel.
34. Hur många servletkontroller används i en Struts-applikation?
Struts ramverk arbetar med konceptet centraliserad kontroll och hela applikationen styrs av en enda servletkontroller. Därför kräver vi endast en servletkontroller i en servletapplikation.
35. Kan vi ha flera struts-config.xml-filer för en enskild Struts-applikation?
Vi kan ha valfritt antal Struts-config.xml-filer för en enda applikation.
Vi behöver följande konfigurationer för detta:
<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. Vilka modellkomponenter stöds av Struts?
Fjäderben stöder alla typer av modeller inklusive Javabönor, EJB, CORBA. Struts har dock inget inbyggt stöd för någon specifik modell och det är utvecklarens val att välja vilken modell som helst.
37. När är det användbart att använda IncludeAction?
IncludeAction är en åtgärdsklass som tillhandahålls av Struts, vilket är användbart när en integration krävs mellan Struts och Servlet-baserad applikation.
38. Är Struts gänga säker?
Ja Struts är gängsäkra. I Struts krävs inte ett nytt servletobjekt för att hantera varje begäran; snarare används en ny tråd av åtgärdsklassobjekt för varje ny begäran.
39. Vilka konfigurationsändringar krävs för att använda resursfiler i Struts?
Resursfiler (.properties-filer) kan användas i Struts genom att lägga till följande konfigurationspost i filen struts-config.xml:
<message-resources parameter="com.login.struts.ApplicationResources"/>
40. Hur kapslade bönor kan användas i Struts-applikationer?
Struts tillhandahåller ett separat taggbibliotek (Nested Tag Library) för detta ändamål. Med hjälp av detta bibliotek kan vi kapsla bönorna i alla Struts-baserade applikationer.
41. Vilka är kärnklasserna i Struts Framework?
Följande är kärnklasserna som tillhandahålls av Struts Framework:
- Action Class
- ActionForm-klass
- ActionMapping-klass
- ActionForward-klass
- ActionServlet-klass
42. Kan vi hantera undantag i Struts programmatiskt?
Ja, vi kan hantera undantag i Struts programmatiskt genom att använda try, catch-block i koden.
try { // Struts code } Catch (Exception e) { // exception handling code }
43. Är Struts Framework en del av J2EE?
Även om Struts ramverk är baserat på J2EE-teknologier som JSP, Java Beans, Servlets etc, men det är inte en del av J2EE-standarderna.
44. Hur konfigureras actionmapping i Struts?
Åtgärdsmappningar konfigureras i konfigurationsfilen struts-config.xml under taggen enligt följande:
<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. När bör man välja Struts Framework?
Struts bör användas när något eller några av följande villkor är uppfyllda:
- En mycket robust applikationsutveckling på företagsnivå krävs.
- En återanvändbar, mycket konfigurerbar applikation krävs.
- En löst kopplad, MVC-baserad applikation krävs med tydlig segregering av olika lager.
46. Varför ActionServlet är singleton i Struts?
I Struts ramverk fungerar actionServlet som en kontrollant och alla förfrågningar från användare kontrolleras av denna kontrollenhet. ActionServlet är baserat på singleton-designmönster eftersom endast ett objekt behöver skapas för denna kontrollklass. Flera trådar skapas senare för varje användarförfrågan.
47. Vilka steg krävs för att sätta upp valideringsramverk i Struts?
Följande steg krävs för att ställa in valideringsramverket i Struts: – Fel stavning
- Placera filerna valdator-rules.xml och validation.xml i WEB-INF-katalogen.
- Aktivera valideringsplugin i struts-config.xml-filer genom att lägga till följande:
<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. Vilka teknologier kan användas på View Layer i Struts?
I Struts kan vi använda någon av följande tekniker i vylagret:
- JSP
- html
- XML/XSLT
- WML-filer
- Hastighetsmallar
- servlets
49. Vilka är förutsättningarna för att actionForm ska fungera korrekt?
ActionForm måste uppfylla följande villkor för att fungera korrekt:
- Den måste ha en no argument-konstruktor.
- Den bör ha offentliga getter- och settermetoder för alla dess egenskaper.
50. Vilket bibliotek tillhandahålls av Struts för formulärelement som kryssrutor, textrutor etc?
Struts tillhandahåller HTML-taggar-bibliotek som kan användas för att lägga till formulärelement som textfält, textrutor, alternativknappar etc.
Dessa intervjufrågor kommer också att hjälpa dig i din viva (orals)
Tack så mycket herr, Fantastiskt ;):) Ladda ner pdf-länken fungerar inte. Tack
Fel fixat! Tack för att du rapporterade
Tack herre :) :)