Similarity is they both are
Java classes.
But ActionServlet is nothing but a
Servlet (enhanced version of Servlet) and it definitely acts as a Controller in the MVC
pattern as described.
Whereas the Action class is the actual class which is acting upon the data (Model) for implementing your business logic. Using which you carry out all your business flow.
The ActionServlet is responsbile for looking up the struts-config.xml file to identify the particular action class and instantiate it if necessary, and send the actual request,response objects along with the ActionMapping,ActionForm objects to the execute() method of the invoked Action class.
Once the execute() method is done with its flow, it actually returns the ActionForward object back to the ActionServlet (which actually invoked the execute() method). The ActionServlet unwraps the ActionForward object and finds out the "key" to forward the request to the next level.
does that help?