Struts 1 (or just 'Struts') has been superseded by Struts 2 in recent years. There is still a huge community for Struts 1 web applications though.

To configure PicoContainer to handle the dependency injection of Struts actions, refer to the web.xml below.

	
	
	  Struts Webapp

	  
	    webapp-composer-class
	    org.picocontainer.web.sample.ExampleWebappComposer
	  

	  
	    picoFilter
	    org.picocontainer.web.struts.PicoActionFactory$ServletFilter
	  

	  
	    picoFilter
	    *.do
	  

	  
	    org.picocontainer.web.PicoServletContainerListener
	  

	  
	  
	    action
	    org.apache.struts.action.ActionServlet
	    
	      config
	      /WEB-INF/struts-config.xml
	    
	    2
	  

	  
	  
	    action
	    *.do
	  

	  
	  
	    index.html
	  

	

	

Things are different in the struts-config.xml file though - there is a PicoContainer enabled RequestProcessor:

	  
	    
	    
	  

	  
	    
	      
	    
	  

	  
		
	

With this design you can use Constructor Injection and three tier container scoping for Struts web applications. Our Maven example project is here. Make sure you make and configure your own WebappComposer implementation.

See downloads on how to download the struts module either using Maven or by downloading full distribution.