Struts Interview Questions

Question: Can I setup Apache Struts to use
multiple configuration files?
Answer: Yes Struts can use multiple configuration files. Here is the
configuration example:
<servlet>
<servlet-name>banking</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-authentication.xml,
/WEB-INF/struts-help.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

Question: What are the disadvantages of Struts?
Answer: Struts is very robust framework and is being used extensively in
the industry. But there are some disadvantages of the Struts:
a) High Learning Curve
Struts requires lot of efforts to learn and master it. For any small project
less experience developers could spend more time on learning the Struts.
b) Harder to learn
Struts are harder to learn, benchmark and optimize.
Question: What is Struts Flow?
Answer: Struts Flow is a port of Cocoon's Control Flow to Struts to allow complex workflow, like multi-form wizards, to be easily implemented using continuations-capable JavaScript. It provides the ability to describe the order of Web pages that have to be sent to the client, at any given point in time in an application. The code is based on a proof-of-concept Dave Johnson put together to show how the Control Flow could be extracted from Cocoon.
(Ref: http://struts.sourceforge.net/struts-flow/index.html
)
Question: What are the difference between <bean:message> and <bean:write>?
Answer: <bean:message>: This tag is used to output locale-specific text
(from the properties files) from a MessageResources bundle.
<bean:write>: This tag is used to output property values from a bean. <bean:write> is a commonly used tag
which enables the programmers to easily present the data.
Question: What is LookupDispatchAction?
Answer: An abstract Action that dispatches to the subclass mapped execute method. This is useful in cases where an HTML form has multiple submit buttons with the same name. The button name is specified by the parameter property of the corresponding ActionMapping.
(Ref. http://struts.apache.org/1.2.7/api/org/apache/struts/actions/LookupDispatchAction.html).
Question: What are the components of Struts?
Answer: Struts is based on the MVC design pattern. Struts components can
be categories into Model, View and Controller.
Model: Components like business logic / business processes and data are
the part of Model.
View: JSP, HTML etc. are part of View
Controller: Action Servlet of Struts is part of Controller components
which works as front controller to handle all the requests.
Question: What are Tag Libraries provided with
Struts?
Answer: Struts provides a number of tag libraries that helps to create
view components easily. These tag libraries are:
a) Bean Tags: Bean Tags are used to access the beans and their
properties.
b) HTML Tags: HTML Tags provides tags for creating the view components
like forms, buttons, etc..
c) Logic Tags: Logic Tags provides presentation logics that eliminate the
need for scriptlets.
d) Nested Tags: Nested Tags helps to work with the nested context.
Question: What are the core classes of the
Struts Framework?
Answer: Core classes of Struts Framework are ActionForm, Action, ActionMapping,
ActionForward, ActionServlet etc.
Question: What are difference between
ActionErrors and ActionMessage?
Answer: ActionMessage: A class that encapsulates messages. Messages can be either global or they are specific to a particular bean property.
Each individual message is described by an ActionMessage object, which contains a message key (to be looked up in an appropriate message resources database), and up to four placeholder arguments used for parametric substitution in the resulting message.
ActionErrors: A class that encapsulates the error messages being reported by the validate() method of an ActionForm. Validation errors are either global to the entire ActionForm bean they are associated with, or they are specific to a particular bean property (and, therefore, a particular input field on the corresponding form).
Question: How you will handle exceptions in Struts?
Answer: In Struts you can handle the exceptions in two ways:
a) Declarative Exception Handling: You can either define global exception
handling tags in your struts-config.xml or define the exception handling tags
within <action>..</action> tag.
Example:
<exception
key="database.error.duplicate"
path="/UserExists.jsp"
type="mybank.account.DuplicateUserException"/>
b) Programmatic Exception Handling: Here you can
use try{}catch{} block to handle the exception.

|
Current Comments
15 comments so far (post your own) View All Comments Latest 10 Comments:how u handle erros in struts?
Posted by ashok on Tuesday, 11.13.07 @ 14:44pm | #37221
How to prepare for java ,jsp interview ?
Posted by prakashbabu on Thursday, 07.26.07 @ 17:48pm | #21999
any example for Dyna Form
Posted by Murugan on Wednesday, 06.27.07 @ 20:07pm | #20287
Please clarify about version of struts
Posted by jeetendra singh on Friday, 03.23.07 @ 16:58pm | #12566
I need some clarification about the version of the struts
Posted by jeetendra singh on Friday, 03.23.07 @ 16:54pm | #12564
what are the steps or flow of struts to be followed.
Posted by prakash on Wednesday, 03.21.07 @ 23:02pm | #12430
hai..this is really very nice..
I want to know more about Declarative Exception Handling..Please give me the tips.
Posted by praveen on Saturday, 03.10.07 @ 13:00pm | #11310
Looking for some small applications(practical) examples.
Posted by Yogesh Shama on Monday, 03.5.07 @ 10:24am | #10691
real time questions plzzzz
Posted by ravi_sdsoft on Saturday, 03.3.07 @ 22:46pm | #10496
Just impressed with the contents... Its really nice.
Posted by Shashikant on Tuesday, 02.27.07 @ 21:34pm | #9878