Servlet:单例,不安全。性能最好,处理Http请求的标准,只处理doPost(),doGet()方法。
SpringMVC:单例,不安全。开发效率高(好多共性的东西都封装好了,是对Servlet的封装,核心的DispatcherServlet最终继承自HttpServlet)。DispatcherServlet又叫前端控制器,能过滤处理所有的请求方法。DispatcherServlet还能查询HandlerMapping查找到相应的handler,进而调用相应的service和Dao。
这两者的关系,就如同MyBatis和JDBC,一个性能好,一个开发效率高,是对另一个的封装。