Developing Web applications in Java can be tedious and time consuming. Most servlet containers require a Web application to be reloaded every time one of the application's Java classes is modified and recompiled or when a resource file such as web.xml is modified. While Struts greatly enhances basic JSP and servlet Web application development by providing a robust framework to leverage, it is not immune to these inefficiencies-Struts suffers from the same time consuming constraint of application reloads. Each time a Struts Action class, Form Bean, Struts configuration file, or resource bundle file is modified, the application must be reloaded. To get around this limitation and to speed up development time, Don Brown created Struts Scripting. Struts Scripting was originally a third-party extension to Struts but was later incorporated into the core Struts codebase.
Struts Scripting is an extension to Struts that leverages the Jakarta Bean Scripting Framework (BSF) (http://jakarta.apache.org/bsf/) to create scripting language–based actions. Because scripting languages are interpreted at run time, Scripting language–based actions have the advantage of not requiring Web application reloads. Although changes to Form Beans, the Struts configuration file, or the resource bundle file still require application reloads, Struts Scripting provides a huge advantage and greatly reduces development time.