protected SparkApplication getApplication(String applicationClassName) throws ServletException {
        try {
            Class<?> applicationClass = Class.forName(applicationClassName);
            return (SparkApplication) applicationClass.newInstance();
        } catch (Exception exc) {
            throw new ServletException(exc);
        }
    }
protected SparkApplication getApplication ( String applicationClassName ) throws ServletException { try { Class < ? > applicationClass = Class . forName ( applicationClassName ) ; return ( SparkApplication ) applicationClass . newInstance ( ) ; } catch ( Exception exc ) { throw new ServletException ( exc ) ; } }
Returns an instance of {@link SparkApplication} which on which {@link SparkApplication#init() init()} will be called.
Default implementation looks up the class name in the filterConfig using the key {@value #APPLICATION_CLASS_PARAM}.
Subclasses can override this method to use different techniques to obtain an instance (i.e. dependency injection).

@param applicationClassName the spark application class name passed to this filter.
@return the spark application containing the configuration.
@throws ServletException if anything went wrong.