|
Struts 1.x
|
Struts 2.x
|
|
In struts 1.x front
controller is ActionServlet
|
In 2.x front controller is FilterDispatcher
|
|
In struts 1.x we have RequestProcessor class
|
In 2.x we
have Interceptors instead RequestProcessor
|
|
In struts 1.x we have multiple tag libraries like,
html, logic, bean..etc
|
In 2.x we do not have multiple libraries, instead we
have single library which includes all tags
|
|
In struts 1.x the configuration file name can be [any
name].xml and we used to place in web-inf folder
|
In 2.x the configuration file must
be struts.xml only and this must be in classes folder
|
|
In struts 1.x we have form
beans and Action classes separately
|
In 2.x form
bean, Action classes are combinedly given as Action class only
|
|
In struts 1.x properties file must be configured
in struts-config.xml
|
But in 2.x we need
to configure our resource bundle(s) in struts.properties file
|
|
In struts 1.x we
have programmatic and declarative validations only
|
In 2.x we have annotations support too along with
programmatic and declarative validations
|
Functional Differences.
|
In struts
1.x declarative validations are done by using validation frame work
|
In 2.x, declarative
validations are done by using xwork2 frame work by webwork the
reason being, its support valuations through Annotations
|
|
· In
struts 1.x an Action class is a single ton class, so Action class
object is not a thread safe, as a programmer we need to make it as
thread safe by applying synchronization
|
o In 2.x an Action class object will be
created for each request, so it is by default thread safe, so we no need to
take care about safety issues here
|
|
In struts 1.x we
have only jsp as a view technology
|
In 2.x we have
support of multiple view technologies like velocity, Free marker,
jasper reports, jsp, etc
|
|
In struts 1.x Action
class is having servlet dependency, because in execute() method
accepts req, res parameter right
|
In 2.x Action
class doesn’t have any servlet dependency, because its execute()
method doesn’t accepts any parameters, however we can access all servlet
objects with dependency injection
|
No comments:
Post a Comment