Similarity is they both are Java classes.
But ActionServlet is nothing but a 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.
action servlet is responsible to identify the request and receive the request.this is initial starting point to the communication and justify the purpose of the communication across the diff environments.
action classes is define to be the user.it is controller where we provide the user defined controller logical transactions which allways listen to actionservlet.
Action Servlet is backbone of struts Framework.It is the main ControllerComponent Action class contain userlogic. It return the next View to the Framework.
Visit for more information.http://www.roseindia.net/struts/