Topp 50 Struts-intervjuspørsmål og -svar (2025)

Her er Struts intervjuspørsmål og svar for ferskinger så vel som erfarne kandidater for å få drømmejobben.


1. Hva er komponentene i Struts Framework?

Struts-rammeverket består av følgende komponenter:

  1. Java Servlets
  2. JSP (Java Server Pages)
  3. Egendefinerte tagger
  4. Meldingsressurser

Gratis PDF-nedlasting: Struts Intervju Spørsmål og Svar


2. Hva er rollen til en behandler i MVC-baserte applikasjoner?

Det er behandlernes jobb å overføre forespørslene til passende modeller ettersom de er bundet til modelllaget til MVC-arkitekturen. Behandlere bruker kartinformasjon fra konfigurasjonsfiler for forespørselsoverføring.


3. Hva er flyten av forespørsler i Struts-baserte applikasjoner?

Struts-baserte applikasjoner bruker MVC-designmønster. Flyten av forespørsler er som følger:

  • Brukeren samhandler med View ved å klikke på en lenke eller ved å sende inn et hvilket som helst skjema.
  • Ved brukers interaksjon sendes forespørselen til kontrolleren.
  • Kontrolløren er ansvarlig for å sende forespørselen til passende handling.
  • Action er ansvarlig for å kalle en funksjon i Model som har all forretningslogikk implementert.
  • Responsen fra modelllaget mottas tilbake av handlingen som deretter sender den til visningen der brukeren kan se responsen.

4. Hvilken fil brukes av kontrolleren for å få kartleggingsinformasjon for forespørselsruting?

Kontrolleren bruker en konfigurasjonsfil "struts-config.xml fil for å få all kartleggingsinformasjon for å bestemme hvilken handling som skal brukes for ruting av brukerens forespørsel.


5. Hva er rollen til Action Class i Struts?

I Struts fungerer Action Class som en kontroller og utfører følgende nøkkeloppgaver:

  • Etter å ha mottatt brukerforespørsel, behandler den brukerens forespørsel.
  • Bruker passende modell og henter data fra modellen (hvis nødvendig).
  • Velger riktig visning for å vise svaret til brukeren.
Struts intervjuspørsmål
Struts intervjuspørsmål

6. Hvordan lages en actionForm-bønne?

Surrogat

actionForm bean opprettes ved å utvide 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. Hva er de to typene valideringer som støttes av Validator FrameWork?

Validator Framework brukes til validering av skjemadata. Dette rammeverket gir to typer valideringer:

  1. Klientsidevalidering på brukerens nettleser
  2. Validering på serversiden

8. Hva er trinnene for installasjon av struts?

For å bruke Struts-rammeverket trenger vi bare å legge til Struts.Jar-fil i vårt utviklingsmiljø. Når jar-filen er tilgjengelig i CLASSPATH, kan vi bruke rammeverket og utvikle Strut-baserte applikasjoner.

Struts intervjuspørsmål
Struts intervjuspørsmål

9. Hvordan aktiveres validering på klientsiden på et JSP-skjema?

For å aktivere klientsiden validering i Struts, må vi først aktivere validator plug-in i filen struts-config.xml. Dette gjøres ved å legge til følgende konfigurasjonsoppføringer i denne 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>

Deretter er valideringsregler definert i validation.xml-filen. Hvis et skjema inneholder e-postfelt og vi ønsker å aktivere klientsidevalidering for dette feltet, legges følgende kode til i validation.xml-filen:

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

10. Hvordan action-mapping tag brukes for forespørselsvideresending i Struts konfigurasjonsfil?

I Struts konfigurasjonsfil (struts-config.xml), er videresendingsalternativer definert under handling-mapping tag.

I følgende eksempel, når en bruker vil klikke på hyperkoblingen test.do, vil forespørselen bli videresendt til /pages/testing.jsp ved å bruke følgende konfigurasjoner fra filen struts-config.xml:

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

Denne videresendingen vil finne sted når brukeren klikker på følgende hyperkobling på jsp-siden:

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

11. Hvordan duplikatinnsending av skjema kan kontrolleres i Struts?

I Struts gir handlingsklassen to viktige metoder som kan brukes for å unngå dupliserte skjemainnsendinger.

saveToken() handlingsmetodeklassen genererer et unikt token og lagrer det i brukerens økt. isTokenValid()-metoden brukes deretter til å sjekke unikheten til tokens.


12. Hvordan kan vi få tilgang til Java-bønner og deres egenskaper i Struts?

Bean Tag Library er et Struts-bibliotek som kan brukes for å få tilgang til Java-bønner.


13. Hvilken konfigurasjonsfil brukes til å lagre JSP-konfigurasjonsinformasjon i Struts?

For JSP-konfigurasjonsdetaljer brukes Web.xml-filen.


14. Hva er hensikten med klassen Utfør handlingsmetode?

Klassen Utfør handlingsmetode er ansvarlig for utførelse av forretningslogikk. Hvis noen behandling er nødvendig på brukerens forespørsel, utføres den på denne metoden. Denne metoden returnerer actionForward-objekt som ruter applikasjonen til riktig side.

I følgende eksempel vil execute-metoden returnere et objekt av actionForward definert 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. Hva er forskjellen mellom validation.xml- og validator-rules.xml-filer i Struts Validation-rammeverk?

I Validation.xml definerer vi valideringsregler for en hvilken som helst spesifikk Java-bean, mens i validator-rules.xml-filen er standard og generiske valideringsregler definert.


16. Hvordan kan vi vise alle valideringsfeil til brukeren på JSP-siden?

For å vise alle valideringsfeil basert på valideringsreglene definert i validation.xml-filen, bruker vi tag i vår JSP-fil.


17. Hva er deklarativ unntakshåndtering i Struts?

Når logikk for unntakshåndtering er definert i struts-config.xml eller i handlingskoden, er det kjent som deklarativ unntakshåndtering i Struts.

I følgende eksempel har vi definert unntak 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. Hva er DynaActionForm?

DynaActionForm er en spesiell type actionForm-klasse (underklasse av ActionForm Class) som brukes til dynamisk å lage formbønner. Den bruker konfigurasjonsfiler for å lage skjemabønner.


19. Hvilke konfigurasjonsendringer kreves for å bruke Tiles in Struts?

For å lage gjenbrukbare komponenter med Tiles-rammeverket, må vi legge til følgende plugin-definisjonskode i struts-config.xml-filen:

<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. Hva er forskjellen mellom Jakarta Struts og Apache Struts? Hvilken er bedre å bruke?

Begge er like og det er ingen forskjell mellom dem.


21. Hva er bruken av Struts.xml-konfigurasjonsfilen?

Struts.xml-filen er en av nøkkelkonfigurasjonsfilene til Struts-rammeverket som brukes til å definere kartlegging mellom URL og handling. Når en brukers forespørsel mottas av kontrolleren, bruker kontrolleren kartleggingsinformasjon fra denne filen for å velge passende handlingsklasse.


22. Hvordan merkebiblioteker er definert i Struts?

Tag-biblioteker er definert i konfigurasjonsfilen (web.xml) på innsiden 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. Hva er betydningen av logiske tagger i Struts?

Bruk av logiske tagger i Struts hjelper deg med å skrive en ren og effektiv kode på presentasjonslaget uten bruk av scriptlets.


24. Hva er de to omfangstypene for formbeans?

  • Forespørselsomfang: Formbean-verdier er kun tilgjengelig i gjeldende forespørsel
  • Sesjonsomfang: Formbean-verdier er tilgjengelige for alle forespørsler i gjeldende økt.

25. Hvordan kan vi gruppere relaterte handlinger i én gruppe i Struts?

For å gruppere flere relaterte handlinger i én gruppe, kan vi bruke DispatcherAction-klassen.


26. Når bør vi bruke SwitichAction?

Det beste scenariet for å bruke SwitchAction-klassen er når vi har en modulær applikasjon med flere moduler som fungerer separat. Ved å bruke SwitchAction-klassen kan vi bytte fra en ressurs i en modul til en annen ressurs i en annen modul i applikasjonen.


27. Hva er fordelene med Struts rammeverk?

Struts er basert på MVC og derfor er det en god separasjon av forskjellige lag i Struts som gjør Struts applikasjonsutvikling og tilpasning enkel. Bruk av forskjellige konfigurasjonsfiler gjør Struts-applikasjoner lett konfigurerbare. Struts er også åpen kildekode og dermed kostnadseffektivt.


28. Hvilke trinn kreves for en applikasjonsmigrering fra Struts1 til Struts2?

Følgende trinn kreves for migrering av Struts1 til Struts2:

  1. Flytt Struts1 actionForm til Struts2 POJO.
  2. Konverter Struts1 konfigurasjonsfil (struts-config.xml) til Struts2 konfigurasjonsfil (struts.xml)

29. Hvordan valideres egenskaper til et skjema i Struts?

For validering av fylte egenskaper, brukes validate()-metoden for ActionForm-klassen før håndtering av kontrollen av formbean til Action-klassen.


30. Hva er bruken av tilbakestillingsmetoden til ActionForm-klassen?

tilbakestillingsmetode for actionForm-klassen brukes til å fjerne verdiene til et skjema før initiering av en ny forespørsel.


31. Hva er ulempene med Struts?

Selv om Struts har et stort antall fordeler knyttet, krever det også større læringskurve og reduserer også åpenhet i utviklingsprosessen.

Struts mangler også riktig dokumentasjon, og for mange av komponentene er brukere ikke i stand til å få riktige nettressurser for hjelp.


32. Hva er bruken av filen resourcebundle.properties i Struts Validation-rammeverk?

resourcebundle.properties-filen brukes til å definere spesifikke feilmeldinger i nøkkelverdipar for eventuelle feil som kan oppstå i koden.

Denne tilnærmingen hjelper til med å holde koden ren ettersom utvikleren ikke trenger å bygge inn alle feilmeldinger i koden.


33. Kan jeg ha html form eiendom uten tilhørende getter og setter formbean metoder?

For hver html-formegenskap må getter- og settermetoder i formbean defineres, ellers resulterer applikasjonen i en feil.


34. Hvor mange servletkontrollere brukes i en Struts-applikasjon?

Struts-rammeverket fungerer på konseptet med sentralisert kontrolltilnærming, og hele applikasjonen styres av en enkelt servlet-kontroller. Derfor krever vi bare én servlet-kontroller i en servlet-applikasjon.


35. For en enkelt Struts-applikasjon, kan vi ha flere struts-config.xml-filer?

Vi kan ha et hvilket som helst antall Struts-config.xml-filer for en enkelt applikasjon.

Vi trenger følgende konfigurasjoner for 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 modellkomponenter støttes av Struts?

Struts støtter alle typer modeller inkludert Java bønner, EJB, CORBA. Struts har imidlertid ingen innebygd støtte for noen spesifikk modell, og det er utviklerens valg å velge hvilken som helst modell.


37. Når er det nyttig å bruke IncludeAction?

IncludeAction er handlingsklasse levert av Struts som er nyttig når en integrasjon er nødvendig mellom Struts og Servlet-basert applikasjon.


38. Er Struts-tråd trygt?

Ja Struts er trådsikre. I Struts er det ikke nødvendig med et nytt servletobjekt for å håndtere hver forespørsel; snarere brukes en ny tråd med handlingsklasseobjekt for hver nye forespørsel.


39. Hvilke konfigurasjonsendringer kreves for å bruke ressursfiler i Struts?

Ressursfiler (.properties-filer) kan brukes i Struts ved å legge til følgende konfigurasjonsoppføring i struts-config.xml-filen:

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

40. Hvordan nestede bønner kan brukes i Struts-applikasjoner?

Struts gir et eget tag-bibliotek (Nested Tag Library) for dette formålet. Ved å bruke dette biblioteket kan vi hekke bønnene i alle Struts-baserte applikasjoner.


41. Hva er kjerneklassene i Struts Framework?

Følgende er kjerneklassene levert av Struts Framework:

  • Aksjonsklasse
  • ActionForm Class
  • ActionMapping-klasse
  • ActionForward-klasse
  • ActionServlet-klassen

42. Kan vi håndtere unntak i Struts programmatisk?

Ja, vi kan håndtere unntak i Struts programmatisk ved å bruke try, catch-blokker i koden.

try {

// Struts code

}

Catch (Exception e) {

// exception handling code

}

43. Er Struts Framework en del av J2EE?

Selv om Struts-rammeverket er basert på J2EE-teknologier som JSP, Java Beans, Servlets etc, er det ikke en del av J2EE-standardene.


44. Hvordan konfigureres handlingskartlegging i Struts?

Handlingstilordninger er konfigurert i konfigurasjonsfilen struts-config.xml under taggen 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. Når bør man velge Struts Framework?

Struts bør brukes når noen eller noen av følgende forhold er oppfylt:

  • En svært robust applikasjonsutvikling på bedriftsnivå er nødvendig.
  • En gjenbrukbar, svært konfigurerbar applikasjon kreves.
  • En løst koblet, MVC-basert applikasjon er nødvendig med tydelig segregering av forskjellige lag.

46. ​​Hvorfor ActionServlet er singleton i Struts?

I Struts-rammeverket fungerer actionServlet som en kontroller, og alle forespørsler fra brukere blir kontrollert av denne kontrolleren. ActionServlet er basert på singleton-designmønster da kun ett objekt må opprettes for denne kontrollerklassen. Flere tråder opprettes senere for hver brukerforespørsel.


47. Hva er trinnene som kreves for å sette opp validatorrammeverk i Struts?

Følgende trinn kreves for å sette opp validatorrammeverk i Struts: – Feil stavemåte

  1. Plasser filene valdator-rules.xml og validation.xml i WEB-INF-katalogen.
  2. Aktiver valideringsplugin i struts-config.xml-filer ved å legge til 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 brukes på View Layer i Struts?

I Struts kan vi bruke hvilken som helst av følgende teknologier i visningslaget:

  • JSP
  • HTML
  • XML/XSLT
  • WML filer
  • Hastighetsmaler
  • Servlets

49. Hva er betingelsene for at actionForm skal fungere korrekt?

ActionForm må oppfylle følgende betingelser for å fungere korrekt:

  • Den må ha en no argument-konstruktør.
  • Den bør ha offentlige getter- og settermetoder for alle egenskapene.

50. Hvilket bibliotek leveres av Struts for skjemaelementer som avmerkingsbokser, tekstbokser osv.?

Struts tilbyr HTML-tags-bibliotek som kan brukes til å legge til skjemaelementer som tekstfelt, tekstbokser, radioknapper etc.


Disse intervjuspørsmålene vil også hjelpe i din viva(orals)

Del

3 Kommentarer

  1. Takk så mye sir, Fantastisk ;):)nedlastings pdf-linken fungerer ikke.Takk

    1. Feil fikset! Takk for at du rapporterte

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket *