Top 50 otázek a odpovědí na rozhovor Struts (2025)
Zde jsou otázky a odpovědi na pohovor Struts pro začátečníky i zkušené kandidáty, aby získali svou vysněnou práci.
1. Jaké jsou součásti Struts Framework?
Struts framework se skládá z následujících komponent:
- Java servlety
- JSP (Java Server Pages)
- Vlastní značky
- Zdroje zpráv
Zdarma ke stažení PDF: Otázky a odpovědi k rozhovoru Struts
2. Jaká je role obsluhy v aplikacích založených na MVC?
Úkolem obsluhy je přenést požadavky na vhodné modely, protože jsou vázány na modelovou vrstvu architektury MVC. Obslužné rutiny používají pro přenos požadavků mapovací informace z konfiguračních souborů.
3. Jaký je tok požadavků v aplikacích založených na Struts?
Aplikace založené na vzpěrách používají návrhový vzor MVC. Průběh požadavků je následující:
- Uživatel interaguje s View kliknutím na jakýkoli odkaz nebo odesláním jakéhokoli formuláře.
- Po interakci uživatele je požadavek předán ovladači.
- Správce je odpovědný za předání požadavku příslušné akci.
- Akce je zodpovědná za volání funkce v Modelu, která má implementovanou veškerou obchodní logiku.
- Odezva z modelové vrstvy je přijata zpět akcí, která ji pak předá do pohledu, kde uživatel může vidět odpověď.
4. Který soubor používá řadič k získání mapovacích informací pro směrování požadavků?
Řadič používá konfigurační soubor „struts-config.xml soubor, abyste získali všechny informace o mapování, abyste se mohli rozhodnout, kterou akci použít pro směrování požadavku uživatele.
5. Jaká je role Action Class ve Struts?
Ve Struts působí Action Class jako kontrolér a provádí následující klíčové úkoly:
- Po obdržení požadavku uživatele zpracuje požadavek uživatele.
- Používá vhodný model a získává data z modelu (je-li to požadováno).
- Vybere správné zobrazení pro zobrazení odpovědi uživateli.
6. Jak se vytvoří fazole actionForm?
Náhrada
actionForm bean je vytvořen rozšířením třídy 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. Jaké dva typy validací podporuje Validator FrameWork?
Validator Framework se používá pro ověřování dat formuláře. Tento rámec poskytuje dva typy ověření:
- Ověření na straně klienta v prohlížeči uživatele
- Ověření na straně serveru
8. Jaké jsou kroky instalace vzpěr?
Abychom mohli používat framework Struts, musíme do našeho vývojového prostředí přidat pouze soubor Struts.Jar. Jakmile bude jar soubor dostupný v CLASSPATH, můžeme použít framework a vyvíjet aplikace založené na Strutu.
9. Jak je povoleno ověřování na straně klienta na formuláři JSP?
Abychom povolili validaci na straně klienta ve Struts, musíme nejprve povolit validátor plug-in v souboru struts-config.xml. To se provede přidáním následujících konfiguračních položek do tohoto souboru:
<!-- 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>
Poté jsou pravidla ověření definována v souboru validation.xml. Pokud formulář obsahuje pole e-mailu a chceme pro toto pole povolit ověření na straně klienta, přidá se do souboru validation.xml následující kód:
<form name="testForm"> <field property="email" depends="required"> <arg key="testForm.email"/> </field> </form>
10. Jak se značka action-mapping používá pro předávání požadavků v konfiguračním souboru Struts?
V konfiguračním souboru Struts (struts-config.xml) jsou možnosti předávání definovány pod značkou action-mapping.
V následujícím příkladu, když uživatel klikne na hypertextový odkaz test.do, žádost bude předána na /pages/testing.jsp pomocí následujících konfigurací ze souboru struts-config.xml:
<action path="/test" forward="/pages/testing.jsp">
Toto předání se uskuteční, když uživatel klikne na následující hypertextový odkaz na stránce jsp:
<html:link</strong> page="/test.do</strong>">Controller Example</html:link>
11. Jak lze ve Struts kontrolovat odesílání duplicitních formulářů?
Ve Struts poskytuje třída akce dvě důležité metody, které lze použít k zamezení duplicitního odesílání formulářů.
SaveToken() metoda třídy akce vygeneruje jedinečný token a uloží jej v relaci uživatele. Metoda isTokenValid() se používá a poté se používá ke kontrole jedinečnosti tokenů.
12. Jak ve Struts získáme přístup k Java beans a jejich vlastnostem?
Bean Tag Library je knihovna Struts, kterou lze použít pro přístup k Java beanům.
13. Který konfigurační soubor se používá pro ukládání konfiguračních informací JSP ve Struts?
Pro podrobnosti o konfiguraci JSP se používá soubor Web.xml.
14. Jaký je účel třídy akce Execute method?
Metoda Execute třídy akce je zodpovědná za provádění obchodní logiky. Pokud je na žádost uživatele vyžadováno nějaké zpracování, provádí se tímto způsobem. Tato metoda vrací objekt actionForward, který směruje aplikaci na příslušnou stránku.
V následujícím příkladu metoda execute vrátí objekt actionForward definovaný v struts-config.xml s názvem „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. Jaký je rozdíl mezi soubory validation.xml a validator-rules.xml v rámci Struts Validation?
V souboru Validation.xml definujeme ověřovací pravidla pro jakýkoli konkrétní Java bean, zatímco v souboru validator-rules.xml jsou definována standardní a generická ověřovací pravidla.
16. Jak můžeme uživateli zobrazit všechny chyby ověření na stránce JSP?
Pro zobrazení všech chyb validace na základě validačních pravidel definovaných v souboru validation.xml používáme tag v našem souboru JSP.
17. Co je deklarativní zpracování výjimek ve Struts?
Když je logika pro zpracování výjimek definována v struts-config.xml nebo ve značce action, nazývá se to ve Struts deklarativní zpracování výjimek.
V následujícím příkladu jsme definovali výjimku v souboru struts-config.xml pro NullPointerException:
<global-exceptions> <exception key="test.key" Type="java.lang.NullPointerException" Path="/WEB-INF/errors/error_page.jsp" </global-exceptions>
18. Co je DynaActionForm?
DynaActionForm je speciální typ třídy actionForm (podtřída třídy ActionForm), která se používá k dynamickému vytváření for beans. Používá konfigurační soubory pro vytvoření form bean.
19. Jaké změny konfigurace jsou nutné pro použití dlaždic ve Struts?
Chcete-li vytvořit opakovaně použitelné komponenty s rámcem Tiles, musíme přidat následující kód definice pluginu do souboru 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. Jaký je rozdíl mezi Jakarta Struts a Apache Struts? Který je lepší použít?
Oba jsou stejné a není mezi nimi žádný rozdíl.
21. K čemu slouží konfigurační soubor Struts.xml?
Soubor Struts.xml je jedním z klíčových konfiguračních souborů rámce Struts, který se používá k definování mapování mezi URL a akcí. Když ovladač obdrží požadavek uživatele, ovladač použije mapovací informace z tohoto souboru k výběru vhodné třídy akce.
22. Jak jsou ve Struts definovány knihovny značek?
Knihovny značek jsou definovány v konfiguračním souboru (web.xml) uvnitř tag takto:
<taglib> <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib>
23. Jaký význam mají logické značky ve Struts?
Použití logických značek ve Struts pomáhá při psaní čistého a efektivního kódu na prezentační vrstvě bez použití skriptletů.
24. Jaké jsou dva typy rozsahu pro formbeans?
- Rozsah požadavku: Hodnoty Formbean jsou dostupné pouze v aktuálním požadavku
- Rozsah relace: Hodnoty Formbean jsou dostupné pro všechny požadavky v aktuální relaci.
25. Jak můžeme ve Struts seskupit související akce do jedné skupiny?
Pro seskupení více souvisejících akcí do jedné skupiny můžeme použít třídu DispatcherAction.
26. Kdy bychom měli použít SwtichAction?
Nejlepší scénář pro použití třídy SwitchAction je, když máme modulární aplikaci s více moduly pracujícími samostatně. Pomocí třídy SwitchAction můžeme přepínat ze zdroje v jednom modulu na jiný zdroj v jiném modulu aplikace.
27. Jaké jsou výhody rámce Struts?
Struts je založen na MVC, a proto je ve Struts dobré oddělení různých vrstev, což usnadňuje vývoj a přizpůsobení aplikací Struts. Použití různých konfiguračních souborů činí aplikace Struts snadno konfigurovatelné. Struts je také open source, a proto je nákladově efektivní.
28. Jaké kroky jsou nutné pro migraci aplikace ze Struts1 na Struts2?
Pro migraci Struts1 na Struts2 jsou vyžadovány následující kroky:
- Přesuňte formulář akce Struts1 do Struts2 POJO.
- Převeďte konfigurační soubor Struts1 (struts-config.xml) na konfigurační soubor Struts2 (struts.xml)
29. Jak se ověřují vlastnosti formuláře ve Struts?
Pro ověření naplněných vlastností se před zpracováním ovládacího prvku třídy formbean to Action používá metoda validate() třídy ActionForm.
30. Jaké je použití metody resetování třídy ActionForm?
reset metoda třídy actionForm se používá k vymazání hodnot formuláře před zahájením nového požadavku.
31. Jaké jsou nevýhody vzpěr?
Přestože Struts má velké množství souvisejících výhod, vyžaduje také větší křivku učení a také snižuje transparentnost v procesu vývoje.
Struts také postrádá řádnou dokumentaci a pro mnoho jeho součástí nejsou uživatelé schopni získat řádné online zdroje pro pomoc.
32. Jaké je použití souboru resourcebundle.properties v rámci Struts Validation?
Resourcebundle.properties se používá k definování konkrétních chybových zpráv v párech klíč-hodnota pro jakékoli možné chyby, které se mohou v kódu vyskytnout.
Tento přístup pomáhá udržovat kód čistý, protože vývojář nemusí do kódu vkládat všechny chybové zprávy.
33. Mohu mít html vlastnost formy bez přidružených metod formbean getter a setter?
Pro každou vlastnost formuláře html musí být definovány metody getter a setter ve formbean, jinak aplikace povede k chybě.
34. Kolik řadičů servletů se používá v aplikaci Struts?
Struts framework pracuje na konceptu centralizovaného řízení a celá aplikace je řízena jediným servletovým kontrolérem. V servletové aplikaci tedy vyžadujeme pouze jeden servletový řadič.
35. Můžeme mít pro jednu aplikaci Struts více souborů struts-config.xml?
Pro jednu aplikaci můžeme mít libovolný počet souborů Struts-config.xml.
Potřebujeme k tomu následující konfigurace:
<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. Které komponenty modelu podporuje Struts?
Struts podporují všechny typy modelů včetně Java beans, EJB, CORBA. Struts však nemá žádnou vestavěnou podporu pro žádný konkrétní model a je na rozhodnutí vývojáře, zda si vybere jakýkoli model.
37. Kdy je užitečné použít IncludeAction?
IncludeAction je třída akcí poskytovaná Struts, která je užitečná, když je vyžadována integrace mezi Struts a aplikací založenou na Servletu.
38. Je závit Struts bezpečný?
Ano Vzpěry jsou bezpečné na závity. Ve Struts není ke zpracování každého požadavku vyžadován nový objekt servletu; spíše se pro každý nový požadavek použije nové vlákno objektu třídy akce.
39. Jaké změny konfigurace jsou nutné pro použití zdrojových souborů ve Struts?
Zdrojové soubory (soubory .properties) lze ve Struts použít přidáním následující konfigurační položky do souboru struts-config.xml:
<message-resources parameter="com.login.struts.ApplicationResources"/>
40. Jak lze vnořené fazole použít v aplikacích Struts?
Struts pro tento účel poskytují samostatnou knihovnu tagů (Nested Tag Library). Pomocí této knihovny můžeme vnořit fazole do jakékoli aplikace založené na Struts.
41. Jaké jsou základní třídy Struts Framework?
Níže jsou uvedeny základní třídy poskytované Struts Framework:
- Akční třída
- Třída ActionForm
- Třída ActionMapping
- Třída ActionForward
- Třída ActionServlet
42. Dokážeme zpracovat výjimky ve Struts programově?
Ano, můžeme zpracovat výjimky ve Struts programově pomocí bloků try, catch v kódu.
try { // Struts code } Catch (Exception e) { // exception handling code }
43. Je součástí Struts Framework J2EE?
Struts framework je sice založen na technologiích J2EE jako JSP, Java Beans, Servlet atd., ale není součástí standardů J2EE.
44. Jak se ve Struts konfiguruje mapování akcí?
Mapování akcí se konfiguruje v konfiguračním souboru struts-config.xml pod značkou jak následuje:
<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. Kdy byste se měli rozhodnout pro Struts Framework?
Vzpěry by se měly používat, pokud platí některá nebo některá z následujících podmínek:
- Je vyžadován vysoce robustní vývoj aplikací na podnikové úrovni.
- Vyžaduje se opakovaně použitelná, vysoce konfigurovatelná aplikace.
- Vyžaduje se volně spojená aplikace založená na MVC s jasnou segregací různých vrstev.
46. Proč je ActionServlet ve Struts singleton?
V rámci Struts se actionServlet chová jako kontrolér a všechny požadavky uživatelů jsou řízeny tímto kontrolérem. ActionServlet je založen na jednoduchém návrhu, protože pro tuto třídu řadiče je třeba vytvořit pouze jeden objekt. Pro každý požadavek uživatele se později vytvoří více vláken.
47. Jaké kroky jsou nutné pro nastavení rámce validátoru ve Struts?
K nastavení rámce validátoru ve Struts jsou vyžadovány následující kroky: – Špatné hláskování
- Do adresáře WEB-INF umístěte soubory valdator-rules.xml a validation.xml.
- Povolte ověřovací plugin v souborech struts-config.xml přidáním následujícího:
<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. Které technologie lze použít v View Layer ve Struts?
Ve Struts můžeme ve vrstvě pohledu použít kteroukoli z následujících technologií:
- JSP
- HTML
- XML/XSLT
- Soubory WML
- Šablony rychlosti
- Servlety
49. Jaké jsou podmínky správného fungování formuláře actionForm?
Aby ActionForm fungoval správně, musí splňovat následující podmínky:
- Musí mít konstruktor bez argumentů.
- Pro všechny své vlastnosti by měl mít veřejné metody getter a setter.
50. Kterou knihovnu poskytuje Struts pro prvky formuláře, jako jsou zaškrtávací políčka, textová pole atd.?
Struts poskytuje knihovnu značek HTML, kterou lze použít pro přidávání prvků formuláře, jako jsou textová pole, textová pole, přepínače atd.
Tyto otázky na pohovoru také pomohou ve vašem životě (ústních)
Děkuji mnohokrát, pane, úžasné ;):) odkaz na stažení pdf nefunguje. Díky
Chyba opravena! Děkujeme za nahlášení
Díky pane :):)