Top 50 pitanja i odgovora na intervjuu za Struts (2025.)
Ovdje su pitanja i odgovori za struts intervju za brucoše, kao i za iskusne kandidate da dobiju posao iz snova.
1. Koje su komponente Struts Frameworka?
Struts okvir se sastoji od sljedećih komponenti:
- Java servleti
- JSP (stranice Java poslužitelja)
- Prilagođene oznake
- Resursi poruka
Besplatno preuzimanje PDF-a: Struts Interview Questions and Answers
2. Koja je uloga rukovatelja u MVC aplikacijama?
Posao rukovatelja je prenijeti zahtjeve na odgovarajuće modele jer su vezani za sloj modela MVC arhitekture. Rukovatelji koriste informacije o mapiranju iz konfiguracijskih datoteka za prijenos zahtjeva.
3. Kakav je tok zahtjeva u aplikacijama temeljenim na Strutsu?
Aplikacije temeljene na Struts-u koriste MVC uzorak dizajna. Tijek zahtjeva je sljedeći:
- Korisnik komunicira s Viewom klikom na bilo koju vezu ili slanjem bilo kojeg obrasca.
- Nakon interakcije korisnika, zahtjev se prosljeđuje prema kontroleru.
- Kontrolor je odgovoran za prosljeđivanje zahtjeva na odgovarajuću radnju.
- Akcija je odgovorna za pozivanje funkcije u Modelu koja ima implementiranu svu poslovnu logiku.
- Odgovor sloja modela prima natrag akcija koja ga zatim prosljeđuje prema prikazu gdje korisnik može vidjeti odgovor.
4. Koju datoteku koristi upravljač za dobivanje informacija o mapiranju za usmjeravanje zahtjeva?
Kontroler koristi konfiguracijsku datoteku “struts-config.xML da biste dobili sve informacije o mapiranju kako biste odlučili koju akciju koristiti za usmjeravanje korisničkog zahtjeva.
5. Koja je uloga Action Class-a u Struts-u?
U Strutsu, Action Class djeluje kao kontroler i obavlja sljedeće ključne zadatke:
- Nakon primitka korisničkog zahtjeva, obrađuje zahtjev korisnika.
- Koristi odgovarajući model i izvlači podatke iz modela (ako je potrebno).
- Odabire odgovarajući prikaz za prikaz odgovora korisniku.
6. Kako se kreira actionForm bean?
Surogat
actionForm bean se stvara proširenjem klase 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. Koje su dvije vrste validacija koje podržava Validator FrameWork?
Validator Framework koristi se za provjeru podataka obrazaca. Ovaj okvir pruža dvije vrste validacija:
- Provjera valjanosti na strani klijenta u pregledniku korisnika
- Provjera valjanosti na strani poslužitelja
8. Koji su koraci ugradnje podupirača?
Kako bismo koristili Struts framework, samo trebamo dodati Struts.Jar datoteku u naše razvojno okruženje. Jednom kada jar datoteka bude dostupna u CLASSPATH-u, možemo koristiti okvir i razvijati aplikacije temeljene na Strutu.
9. Kako je provjera valjanosti na strani klijenta omogućena na JSP obrascu?
Kako bismo omogućili provjeru valjanosti na strani klijenta u Strutsu, prvo moramo omogućiti dodatak validatora u datoteci struts-config.xml. To se postiže dodavanjem sljedećih konfiguracijskih unosa u ovu datoteku:
<!-- 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>
Zatim se pravila provjere valjanosti definiraju u datoteci validation.xml. Ako obrazac sadrži polje e-pošte i želimo omogućiti provjeru valjanosti na strani klijenta za ovo polje, sljedeći se kôd dodaje u datoteku validation.xml:
<form name="testForm"> <field property="email" depends="required"> <arg key="testForm.email"/> </field> </form>
10. Kako se oznaka za mapiranje radnje koristi za prosljeđivanje zahtjeva u Struts konfiguracijskoj datoteci?
U Struts konfiguracijskoj datoteci (struts-config.xml), opcije prosljeđivanja definirane su pod oznakom mapiranja radnji.
U sljedećem primjeru, kada će korisnik kliknuti na hipervezu testirati.učiniti, zahtjev će biti proslijeđen na /pages/testing.jsp koristeći sljedeće konfiguracije iz datoteke struts-config.xml:
<action path="/test" forward="/pages/testing.jsp">
Ovo prosljeđivanje će se dogoditi kada korisnik klikne na sljedeću hipervezu na jsp stranici:
<html:link</strong> page="/test.do</strong>">Controller Example</html:link>
11. Kako se podnošenje duplikata obrazaca može kontrolirati u Strutsu?
U Strutsu, radna klasa pruža dvije važne metode koje se mogu koristiti za izbjegavanje duplikata slanja obrazaca.
saveToken() metoda radnje klase generira jedinstveni token i sprema ga u sesiji korisnika. Metoda isTokenValid() koristi se zatim za provjeru jedinstvenosti tokena.
12. Kako u Strutsu možemo pristupiti Java beanovima i njihovim svojstvima?
Bean Tag Library je Struts biblioteka koja se može koristiti za pristup Java beanovima.
13. Koja se konfiguracijska datoteka koristi za pohranjivanje JSP konfiguracijskih informacija u Struts?
Za pojedinosti JSP konfiguracije koristi se datoteka Web.xml.
14. Koja je svrha Execute metode radnje klase?
Execute method of action klasa odgovorna je za izvođenje poslovne logike. Ako je potrebna bilo kakva obrada na zahtjev korisnika, ona se izvodi ovom metodom. Ova metoda vraća objekt actionForward koji usmjerava aplikaciju na odgovarajuću stranicu.
U sljedećem primjeru, metoda execute vratit će objekt actionForward definiran u struts-config.xml s nazivom "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. Koja je razlika između datoteka validation.xml i validator-rules.xml u okviru Struts Validation?
U Validation.xml definiramo pravila provjere valjanosti za bilo koji specifični Java bean dok su u datoteci validator-rules.xml definirana standardna i generička pravila provjere valjanosti.
16. Kako možemo prikazati sve greške provjere korisniku na JSP stranici?
Za prikaz svih pogrešaka provjere valjanosti na temelju pravila provjere valjanosti definiranih u datoteci validation.xml, koristimo oznaku u našoj JSP datoteci.
17. Što je deklarativno rukovanje iznimkama u Strutsu?
Kada je logika za rukovanje iznimkama definirana u struts-config.xml ili unutar akcijske oznake, to je poznato kao deklarativno rukovanje iznimkama u Strutsu.
U sljedećem primjeru definirali smo iznimku u datoteci struts-config.xml za NullPointerException:
<global-exceptions> <exception key="test.key" Type="java.lang.NullPointerException" Path="/WEB-INF/errors/error_page.jsp" </global-exceptions>
18. Što je DynaActionForm?
DynaActionForm je posebna vrsta klase actionForm (podklasa klase ActionForm) koja se koristi za dinamičko kreiranje grahova obrazaca. Koristi konfiguracijske datoteke za stvaranje beana obrasca.
19. Koje su promjene konfiguracije potrebne za korištenje Tiles u Struts?
Da bismo izradili komponente za višekratnu upotrebu s okvirom Tiles, moramo dodati sljedeći kod definicije dodatka u struts-config.xml datoteku:
<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. Koja je razlika između Jakarta Struts i Apache Struts? Koji je bolji za korištenje?
Oba su ista i nema razlike među njima.
21. Čemu služi Struts.xml konfiguracijska datoteka?
Datoteka Struts.xml jedna je od ključnih konfiguracijskih datoteka okvira Struts koja se koristi za definiranje mapiranja između URL-a i akcije. Kada kontroler primi zahtjev korisnika, kontroler koristi informacije o mapiranju iz ove datoteke za odabir odgovarajuće klase radnje.
22. Kako su biblioteke oznaka definirane u Strutsu?
Biblioteke oznaka definirane su u unutarnjoj konfiguracijskoj datoteci (web.xml). označiti na sljedeći način:
<taglib> <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib>
23. Koje je značenje logičkih oznaka u Strutsu?
Upotreba logičkih oznaka u Strutsu pomaže u pisanju čistog i učinkovitog koda na prezentacijskom sloju bez upotrebe skriptleta.
24. Koja su dva tipa opsega za formbeans?
- Opseg zahtjeva: Formbean vrijednosti dostupne su samo u trenutnom zahtjevu
- Opseg sesije: Formbean vrijednosti dostupne su za sve zahtjeve u trenutnoj sesiji.
25. Kako možemo grupirati povezane akcije u jednu grupu u Strutsu?
Za grupiranje više povezanih akcija u jednu grupu, možemo koristiti klasu DispatcherAction.
26. Kada bismo trebali koristiti SwtichAction?
Najbolji scenarij za korištenje klase SwitchAction je kada imamo modularnu aplikaciju s više modula koji rade odvojeno. Pomoću klase SwitchAction možemo se prebacivati s resursa u jednom modulu na drugi resurs u nekom drugom modulu aplikacije.
27. Koje su prednosti Struts okvira?
Struts se temelji na MVC-u i stoga postoji dobro odvajanje različitih slojeva u Strutsu što čini razvoj i prilagodbu Struts aplikacija lakim. Upotreba različitih konfiguracijskih datoteka čini Struts aplikacije lakim za konfiguriranje. Također, Struts je otvorenog koda i stoga isplativ.
28. Koji su koraci potrebni za migraciju aplikacije sa Struts1 na Struts2?
Za migraciju Struts1 na Struts2 potrebni su sljedeći koraci:
- Premjesti Struts1 actionForm u Struts2 POJO.
- Pretvorite Struts1 konfiguracijsku datoteku (struts-config.xml) u Struts2 konfiguracijsku datoteku (struts.xml)
29. Kako se svojstva obrasca provjeravaju u Strutsu?
Za provjeru valjanosti popunjenih svojstava koristi se metoda validate() klase ActionForm prije rukovanja kontrolom formbeana u klasi Action.
30. Čemu služi metoda resetiranja klase ActionForm?
reset metoda klase actionForm koristi se za brisanje vrijednosti obrasca prije pokretanja novog zahtjeva.
31. Koji su nedostaci Strutsa?
Iako Struts ima velik broj povezanih prednosti, on također zahtijeva dužu krivulju učenja i također smanjuje transparentnost u procesu razvoja.
Struts također nema odgovarajuću dokumentaciju i za mnoge njegove komponente korisnici ne mogu dobiti odgovarajuće online resurse za pomoć.
32. Čemu služi datoteka resourcebundle.properties u okviru Struts Validation?
Datoteka resourcebundle.properties koristi se za definiranje specifičnih poruka o pogreškama u parovima ključeva i vrijednosti za sve moguće pogreške koje se mogu pojaviti u kodu.
Ovaj pristup pomaže u održavanju čistoće koda jer programer ne mora ugraditi sve poruke o pogrešci unutar koda.
33. Mogu li dobiti html svojstvo forme bez pridruženih getter i setter formbean metoda?
Za svako svojstvo html obrasca, getter i setter metode u formbeanu moraju biti definirane inače će aplikacija rezultirati pogreškom.
34. Koliko se servlet kontrolera koristi u Struts aplikaciji?
Struts framework radi na konceptu pristupa centraliziranoj kontroli i cijelom aplikacijom upravlja jedan kontroler servleta. Stoga nam je potreban samo jedan servlet kontroler u servlet aplikaciji.
35. Za jednu Struts aplikaciju, možemo li imati više struts-config.xml datoteka?
Možemo imati bilo koji broj datoteka Struts-config.xml za jednu aplikaciju.
Za ovo su nam potrebne sljedeće konfiguracije:
<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. Koje komponente modela podržava Struts?
Struts podržava sve vrste modela uključujući Java beans, EJB, CORBA. Međutim, Struts nema nikakvu ugrađenu podršku za bilo koji model i programer je po izboru da se odluči za bilo koji model.
37. Kada je korisno koristiti IncludeAction?
IncludeAction je radna klasa koju pruža Struts i korisna je kada je potrebna integracija između Strutsa i aplikacije temeljene na Servletu.
38. Je li Struts navoj siguran?
Da Struts su sigurni za niti. U Strutsu, novi objekt servleta nije potreban za obradu svakog zahtjeva; nego se za svaki novi zahtjev koristi nova nit objekta klase akcije.
39. Koje su promjene konfiguracije potrebne za korištenje datoteka resursa u Strutsu?
Datoteke resursa (datoteke .properties) mogu se koristiti u Strutsu dodavanjem sljedećeg konfiguracijskog unosa u datoteku struts-config.xml:
<message-resources parameter="com.login.struts.ApplicationResources"/>
40. Kako se ugniježđeni bean-ovi mogu koristiti u Struts aplikacijama?
Struts pruža zasebnu biblioteku oznaka (Nested Tag Library) za tu svrhu. Koristeći ovu biblioteku, možemo ugniježditi grahove u bilo koju aplikaciju temeljenu na Strutsu.
41. Koje su osnovne klase Struts okvira?
Slijede osnovne klase koje pruža Struts Framework:
- Akcijska klasa
- Klasa ActionForm
- ActionMapping klasa
- ActionForward Klasa
- ActionServlet klasa
42. Možemo li programski rješavati iznimke u Strutsu?
Da, iznimke u Strutsu možemo obraditi programski pomoću blokova try, catch u kodu.
try { // Struts code } Catch (Exception e) { // exception handling code }
43. Je li Struts Framework dio J2EE?
Iako se Struts framework temelji na J2EE tehnologijama kao što su JSP, Java Beans, Servlets itd., ali nije dio J2EE standarda.
44. Kako je mapiranje akcija konfigurirano u Strutsu?
Preslikavanja radnji konfiguriraju se u konfiguracijskoj datoteci struts-config.xml pod oznakom kako slijedi:
<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. Kada se treba odlučiti za Struts Framework?
Podupirače treba koristiti kada su ispunjeni neki ili neki od sljedećih uvjeta:
- Potreban je vrlo robustan razvoj aplikacija na razini poduzeća.
- Potrebna je aplikacija koja se može višekratno koristiti i koja se može konfigurirati.
- Potrebna je labavo povezana aplikacija temeljena na MVC-u s jasnim odvajanjem različitih slojeva.
46. Zašto je ActionServlet singleton u Strutsu?
U Struts okviru, actionServlet djeluje kao kontroler i svi zahtjevi korisnika kontrolirani su od strane ovog kontrolera. ActionServlet se temelji na singleton dizajnerskom obrascu budući da je za ovu klasu kontrolera potrebno izraditi samo jedan objekt. Za svaki zahtjev korisnika kasnije se stvara više niti.
47. Koji su koraci potrebni za postavljanje okvira validatora u Struts?
Za postavljanje okvira validatora u Strutsu potrebni su sljedeći koraci: – Pogrešan pravopis
- U direktorij WEB-INF smjestite datoteke valdator-rules.xml i validation.xml.
- Omogućite dodatak za provjeru valjanosti u datotekama struts-config.xml dodavanjem sljedećeg:
<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. Koje se tehnologije mogu koristiti na View Layeru u Struts?
U Strutsu možemo koristiti bilo koju od sljedećih tehnologija u sloju prikaza:
- JSP
- HTML
- XML/XSLT
- WML datoteke
- Predlošci brzine
- Servleti
49. Koji su uvjeti da actionForm radi ispravno?
ActionForm mora ispunjavati sljedeće uvjete da bi ispravno radio:
- Mora imati konstruktor bez argumenata.
- Trebao bi imati javne getter i setter metode za sva svoja svojstva.
50. Koju biblioteku nudi Struts za elemente obrasca kao što su potvrdni okviri, tekstni okviri itd.?
Struts pruža biblioteku HTML oznaka koja se može koristiti za dodavanje elemenata obrasca kao što su tekstualna polja, tekstni okviri, radio gumbi itd.
Ova pitanja za intervju također će vam pomoći u vašem životu
Hvala vam puno gospodine, super ;):) veza za preuzimanje pdf-a ne radi. Hvala
Pogreška ispravljena! Hvala na javljanju
Hvala gospodine :) :)