AppserverIo\Appserver\ServletEngine\ServletManager::registerServlets PHP Method

registerServlets() public method

Finds all servlets which are provided by the webapps and initializes them.
public registerServlets ( AppserverIo\Psr\Application\ApplicationInterface $application ) : void
$application AppserverIo\Psr\Application\ApplicationInterface The application instance
return void
    public function registerServlets(ApplicationInterface $application)
    {
        // query whether or not the web application folder exists
        if (is_dir($this->getWebappPath()) === false) {
            return;
        }
        // initialize the directory parser and parse the web application's base directory for annotated servlets
        $directoryParser = new DirectoryParser();
        $directoryParser->injectServletContext($this);
        $directoryParser->parse();
        // initialize the deployment descriptor parser and parse the web application's deployment descriptor for servlets
        $deploymentDescriptorParser = new DeploymentDescriptorParser();
        $deploymentDescriptorParser->injectServletContext($this);
        $deploymentDescriptorParser->parse();
        // load the object manager instance
        /** @var \AppserverIo\Appserver\DependencyInjectionContainer\Interfaces\ObjectManagerInterface $objectManager */
        $objectManager = $this->getApplication()->search('ObjectManagerInterface');
        // register the beans located by annotations and the XML configuration
        /** \AppserverIo\Psr\Deployment\DescriptorInterface $objectDescriptor */
        foreach ($objectManager->getObjectDescriptors() as $descriptor) {
            // check if we've found a servlet descriptor and register the servlet
            if ($descriptor instanceof ServletDescriptorInterface) {
                $this->registerServlet($descriptor);
            }
        }
    }