Top 50 de întrebări și răspunsuri la interviu Struts (2025)
Iată întrebările și răspunsurile la interviu Struts pentru studenții, precum și candidații cu experiență pentru a obține jobul visat.
1. Care sunt componentele Struts Framework?
Cadrul Struts este format din următoarele componente:
- Servlet-uri Java
- JSP (pagini server Java)
- Etichete personalizate
- Resurse pentru mesaje
Descărcare PDF gratuită: Întrebări și răspunsuri la interviu Struts
2. Care este rolul unui handler în aplicațiile bazate pe MVC?
Este sarcina manipulanților să transfere cererile către modele adecvate, deoarece acestea sunt legate de stratul de model al arhitecturii MVC. Handler-ii folosesc informații de mapare din fișierele de configurare pentru transferul cererilor.
3. Care este fluxul de solicitări în aplicațiile bazate pe Struts?
Aplicațiile bazate pe Struts folosesc modelul de design MVC. Fluxul cererilor este următorul:
- Utilizatorul interacționează cu View făcând clic pe orice link sau trimițând orice formular.
- La interacțiunea utilizatorului, cererea este transmisă controlorului.
- Controlorul este responsabil pentru trecerea cererii la acțiunile corespunzătoare.
- Action este responsabilă pentru apelarea unei funcții în Model care are toată logica de afaceri implementată.
- Răspunsul de la stratul model este primit înapoi de acțiune, care îl transmite apoi către vizualizarea unde utilizatorul poate vedea răspunsul.
4. Ce fișier este utilizat de controler pentru a obține informații de cartografiere pentru rutarea solicitărilor?
Controlerul folosește un fișier de configurare „struts-config.xml fișier pentru a obține toate informațiile de mapare pentru a decide ce acțiune să folosească pentru rutarea solicitării utilizatorului.
5. Care este rolul Action Class în Struts?
În Struts, Action Class acționează ca un controler și îndeplinește următoarele sarcini cheie:
- După primirea cererii utilizatorului, acesta procesează cererea utilizatorului.
- Utilizează modelul adecvat și extrage date din model (dacă este necesar).
- Selectează vizualizarea corectă pentru a afișa răspunsul utilizatorului.
6. Cum este creat un bean actionForm?
Surogat
actionForm bean este creat prin extinderea clasei 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. Care sunt cele două tipuri de validări acceptate de Validator FrameWork?
Validator Framework este utilizat pentru validarea datelor din formular. Acest cadru oferă două tipuri de validări:
- Validare partea client pe browserul utilizatorului
- Validare partea serverului
8. Care sunt pașii instalării Struts?
Pentru a utiliza framework-ul Struts, trebuie doar să adăugăm fișierul Struts.Jar în mediul nostru de dezvoltare. Odată ce fișierul jar este disponibil în CLASSPATH, putem folosi cadrul și dezvolta aplicații bazate pe Strut.
9. Cum este activată validarea clientului pe un formular JSP?
Pentru a activa validarea pe partea clientului în Struts, mai întâi trebuie să activăm pluginul validator în fișierul struts-config.xml. Acest lucru se face prin adăugarea următoarelor intrări de configurare în acest fișier:
<!-- 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>
Apoi, regulile de validare sunt definite în fișierul validation.xml. Dacă un formular conține un câmp de e-mail și dorim să activăm validarea din partea clientului pentru acest câmp, următorul cod este adăugat în fișierul validation.xml:
<form name="testForm"> <field property="email" depends="required"> <arg key="testForm.email"/> </field> </form>
10. Cum se utilizează eticheta de mapare a acțiunii pentru redirecționarea cererilor în fișierul de configurare Struts?
În fișierul de configurare Struts (struts-config.xml), opțiunile de redirecționare sunt definite sub eticheta de mapare a acțiunii.
În exemplul următor, când un utilizator va face clic pe hyperlink testa.do, cererea va fi transmisă către /pages/testing.jsp folosind următoarele configurații din fișierul struts-config.xml:
<action path="/test" forward="/pages/testing.jsp">
Această redirecționare va avea loc atunci când utilizatorul va face clic pe următorul hyperlink de pe pagina jsp:
<html:link</strong> page="/test.do</strong>">Controller Example</html:link>
11. Cum poate fi controlată trimiterea formularelor duplicate în Struts?
În Struts, clasa de acțiune oferă două metode importante care pot fi folosite pentru a evita trimiterile de formulare duplicat.
Clasa de acțiune metoda saveToken() generează un token unic și îl salvează în sesiunea utilizatorului. Metoda isTokenValid() este folosită apoi pentru a verifica unicitatea token-urilor.
12. În Struts, cum putem accesa Java beans și proprietățile lor?
Bean Tag Library este o bibliotecă Struts care poate fi folosită pentru accesarea bean-urilor Java.
13. Ce fișier de configurare este folosit pentru stocarea informațiilor de configurare JSP în Struts?
Pentru detaliile de configurare JSP, este utilizat fișierul Web.xml.
14. Care este scopul clasei de acțiune a metodei Execute?
Clasa Execute metoda de acțiune este responsabilă pentru execuția logicii de afaceri. Dacă este necesară o prelucrare la cererea utilizatorului, aceasta se realizează în această metodă. Această metodă returnează obiectul actionForward care direcționează aplicația către pagina corespunzătoare.
În următorul exemplu, metoda execute va returna un obiect de actionForward definit în struts-config.xml cu numele „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. Care este diferența dintre fișierele validation.xml și validator-rules.xml în cadrul Struts Validation?
În Validation.xml, definim reguli de validare pentru orice bean Java specific, în timp ce în fișierul validator-rules.xml sunt definite regulile de validare standard și generice.
16. Cum putem afișa toate erorile de validare utilizatorului pe pagina JSP?
Pentru a afișa toate erorile de validare pe baza regulilor de validare definite în fișierul validation.xml, folosim eticheta în fișierul nostru JSP.
17. Ce este gestionarea declarativă a excepțiilor în Struts?
Când logica pentru gestionarea excepțiilor este definită în struts-config.xml sau în eticheta de acțiune, este cunoscută ca gestionarea declarativă a excepțiilor în Struts.
În exemplul următor, am definit o excepție în fișierul struts-config.xml pentru NullPointerException:
<global-exceptions> <exception key="test.key" Type="java.lang.NullPointerException" Path="/WEB-INF/errors/error_page.jsp" </global-exceptions>
18. Ce este DynaActionForm?
DynaActionForm este un tip special de clasă actionForm (subclasa ActionForm Class) care este folosită pentru crearea dinamică a bean-urilor de formă. Folosește fișiere de configurare pentru crearea bean-ului de formulare.
19. Ce modificări de configurare sunt necesare pentru a utiliza Tiles în Struts?
Pentru a crea componente reutilizabile cu framework Tiles, trebuie să adăugăm următorul cod de definire a pluginului în fișierul 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. Care este diferența dintre Jakarta Struts și Apache Struts? Care este mai bine de folosit?
Ambele sunt la fel și nu există nicio diferență între ele.
21. La ce folosește fișierul de configurare Struts.xml?
Fișierul Struts.xml este unul dintre fișierele cheie de configurare ale cadrului Struts, care este folosit pentru a defini maparea dintre URL și acțiune. Când cererea unui utilizator este primită de controler, controlerul folosește informațiile de mapare din acest fișier pentru a selecta clasa de acțiune adecvată.
22. Cum sunt definite bibliotecile de etichete în Struts?
Bibliotecile de etichete sunt definite în fișierul de configurare (web.xml) din interior etichetați după cum urmează:
<taglib> <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib>
23. Care este semnificația etichetelor logice în Struts?
Utilizarea etichetelor logice în Struts ajută la scrierea unui cod curat și eficient la nivelul de prezentare fără utilizarea de scriptlet-uri.
24. Care sunt cele două tipuri de scop pentru formbeans?
- Domeniul de aplicare: Valorile Formbean sunt disponibile numai în cererea curentă
- Domeniul sesiunii: Valorile Formbean sunt disponibile pentru toate solicitările din sesiunea curentă.
25. Cum putem grupa acțiunile conexe într-un singur grup în Struts?
Pentru a grupa mai multe acțiuni conexe într-un singur grup, putem folosi clasa DispatcherAction.
26. Când ar trebui să folosim SwtichAction?
Cel mai bun scenariu pentru a utiliza clasa SwitchAction este atunci când avem o aplicație modulară cu mai multe module care lucrează separat. Folosind clasa SwitchAction putem trece de la o resursă dintr-un modul la o altă resursă dintr-un modul diferit al aplicației.
27. Care sunt beneficiile cadrului Struts?
Struts se bazează pe MVC și, prin urmare, există o bună separare a diferitelor straturi în Struts, ceea ce facilitează dezvoltarea și personalizarea aplicațiilor Struts. Utilizarea diferitelor fișiere de configurare face ca aplicațiile Struts să fie ușor de configurat. De asemenea, Struts este open source și, prin urmare, rentabil.
28. Ce pași sunt necesari pentru migrarea unei aplicații de la Struts1 la Struts2?
Următorii pași sunt necesari pentru migrarea Struts1 la Struts2:
- Mutați Struts1 ActionForm în Struts2 POJO.
- Convertiți fișierul de configurare Struts1 (struts-config.xml) în fișierul de configurare Struts2 (struts.xml)
29. Cum sunt validate proprietățile unui formular în Struts?
Pentru validarea proprietăților populate, metoda validate() a clasei ActionForm este utilizată înainte de a manipula controlul formbean-ului către clasa Action.
30. Care este utilizarea metodei de resetare a clasei ActionForm?
Metoda de resetare a clasei actionForm este folosită pentru a șterge valorile unui formular înainte de inițierea unei noi cereri.
31. Care sunt dezavantajele Struts?
Deși Struts au un număr mare de avantaje asociate, necesită, de asemenea, o curbă de învățare mai mare și, de asemenea, reduce transparența în procesul de dezvoltare.
Struts nu are, de asemenea, documentația adecvată și pentru multe dintre componentele sale, utilizatorii nu pot obține resurse online adecvate pentru ajutor.
32. La ce folosește fișierul resourcebundle.properties în cadrul Struts Validation?
Fișierul resourcebundle.properties este folosit pentru a defini mesaje de eroare specifice în perechi valori cheie pentru eventualele erori care pot apărea în cod.
Această abordare ajută la păstrarea curată a codului, deoarece dezvoltatorul nu trebuie să încorporeze toate mesajele de eroare în cod.
33. Pot să am html proprietatea formularului fără metodele formbean getter și setter asociate?
Pentru fiecare proprietate de formular html, metodele getter și setter din formbean trebuie definite, altfel aplicația duce la o eroare.
34. Câte controlere servlet sunt utilizate într-o aplicație Struts?
Struts Framework funcționează pe conceptul abordării controlului centralizat și întreaga aplicație este controlată de un singur controler de servlet. Prin urmare, avem nevoie de un singur controler de servlet într-o aplicație de servlet.
35. Pentru o singură aplicație Struts, putem avea mai multe fișiere struts-config.xml?
Putem avea orice număr de fișiere Struts-config.xml pentru o singură aplicație.
Avem nevoie de următoarele configurații pentru aceasta:
<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. Ce componente ale modelului sunt suportate de Struts?
Struts suportă toate tipurile de modele, inclusiv Java beans, EJB, CORBA. Cu toate acestea, Struts nu are suport încorporat pentru niciun model specific și este alegerea dezvoltatorului să opteze pentru orice model.
37. Când este util să folosiți IncludeAction?
IncludeAction este o clasă de acțiune furnizată de Struts, care este utilă atunci când este necesară o integrare între Struts și aplicația bazată pe Servlet.
38. Filetul Struts este sigur?
Da Struturile sunt sigure pentru filet. În Struts, un nou obiect servlet nu este necesar pentru a gestiona fiecare cerere; mai degrabă se folosește un nou fir de obiect al clasei de acțiune pentru fiecare cerere nouă.
39. Ce modificări de configurare sunt necesare pentru a utiliza fișierele de resurse în Struts?
Fișierele de resurse (fișierele .properties) pot fi utilizate în Struts adăugând următoarea intrare de configurare în fișierul struts-config.xml:
<message-resources parameter="com.login.struts.ApplicationResources"/>
40. Cum pot fi folosite boabele imbricate în aplicațiile Struts?
Struts oferă o bibliotecă de etichete separată (Biblioteca de etichete imbricate) în acest scop. Folosind această bibliotecă, putem cuibari boabele în orice aplicație bazată pe Struts.
41. Care sunt clasele de bază ale Struts Framework?
Următoarele sunt clasele de bază oferite de Struts Framework:
- Clasa de actiune
- Clasa ActionForm
- Clasa ActionMapping
- Clasa ActionForward
- Clasa ActionServlet
42. Putem gestiona excepțiile în Struts în mod programatic?
Da, putem gestiona excepțiile în Struts în mod programatic utilizând blocurile try, catch din cod.
try { // Struts code } Catch (Exception e) { // exception handling code }
43. Face parte din Struts Framework J2EE?
Deși framework-ul Struts se bazează pe tehnologii J2EE precum JSP, Java Beans, Servlet-uri etc, dar nu face parte din standardele J2EE.
44. Cum este configurată maparea acțiunilor în Struts?
Mapările acțiunilor sunt configurate în fișierul de configurare struts-config.xml sub etichetă după cum urmează:
<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. Când ar trebui să optați pentru Struts Framework?
Struts ar trebui să fie utilizate atunci când una sau unele dintre următoarele condiții sunt adevărate:
- Este necesară o dezvoltare de aplicații foarte robustă la nivel de întreprindere.
- Este necesară o aplicație reutilizabilă, foarte configurabilă.
- Este necesară o aplicație bazată pe MVC cuplată slab, cu o segregare clară a diferitelor straturi.
46. De ce ActionServlet este singleton în Struts?
În cadrul Struts, actionServlet acționează ca un controler și toate solicitările făcute de utilizatori sunt controlate de acest controler. ActionServlet se bazează pe modelul de design singleton, deoarece trebuie creat un singur obiect pentru această clasă de controler. Mai multe fire sunt create ulterior pentru fiecare solicitare a utilizatorului.
47. Care sunt pașii necesari pentru configurarea cadrului de validare în Struts?
Următorii pași sunt necesari pentru a configura cadrul de validare în Struts: – Ortografie greșită
- În directorul WEB-INF plasați fișierele valdator-rules.xml și validation.xml.
- Activați pluginul de validare în fișierele struts-config.xml adăugând următoarele:
<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. Ce tehnologii pot fi folosite la View Layer in Struts?
În Struts, putem folosi oricare dintre următoarele tehnologii în stratul de vizualizare:
- JSP
- HTML
- XML/XSLT
- Fișiere WML
- Șabloane de viteză
- Servlet-uri
49. Care sunt condițiile pentru ca actionForm să funcționeze corect?
ActionForm trebuie să îndeplinească următoarele condiții pentru a funcționa corect:
- Trebuie să aibă un constructor fără argument.
- Ar trebui să aibă metode publice getter și setter pentru toate proprietățile sale.
50. Ce bibliotecă este furnizată de Struts pentru elemente de formular precum casete de validare, casete de text etc?
Struts oferă o bibliotecă de etichete HTML care poate fi utilizată pentru adăugarea de elemente de formular precum câmpuri de text, casete de text, butoane radio etc.
Aceste întrebări de interviu vă vor ajuta, de asemenea, în viva (orale)
Mulțumesc mult domnule, Minunat ;):)linkul de descărcare pdf nu funcționează. Mulțumesc
Eroare remediată! Mulțumesc pentru raportare
Multumesc domnule :):)