javax.servlet.Servlet is an interface defining the basic contract of a servlet and is not specific to the HTTP protocol.
javax.servlet.http.HttpServlet is the HTTP-specific implementation of the servlet interface used as the superclass to most any Servlet written for a common web application.
org.apache.struts.action.ActionServlet extends javax.servlet.http.HttpServlet and is the main controller servlet for the Struts 1 Framework. It's just like any other servlet. In a Struts 1 application, this is the only servlet in the application. It then dispatches to other classes set up in the struts-config.xml file to do the work.