ServletContext.addServlet()がundefined


SpringMVCアプリケーションの設定を、設定クラスから行おうとしたところ、  
ServletContext.addServlet()がないというエラーが発生しました。

調べてもいまいち原因がよくわからず、困っています。  
ご教授お願いします。

[code]

    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRegistration;
    
    import org.springframework.web.WebApplicationInitializer;
    import org.springframework.web.context.support.XmlWebApplicationContext;
    import org.springframework.web.servlet.DispatcherServlet;
    
    public class ApplicationInitializer implements WebApplicationInitializer{
    
        @Override
        public void onStartup(ServletContext container) throws ServletException {
            XmlWebApplicationContext appContext = new XmlWebApplicationContext();
            appContext.setConfigLocation("/WEB-INF/spring-dispatcher-servlet.xml");
            ServletRegistration.Dynamic dispatcher = container.addServlet("spring-dispatcher", new DispatcherServlet(appContext)); // ここ
            dispatcher.setLoadOnStartup(1);
            dispatcher.addMapping("/");
        }
    }
    
[/code]

ServletAPI 2.5  
spring一式 4.2.0  
java 8  
Eclipse Mars  
tomcat 8




ServletContextにaddServletメソッドが追加されたのはServlet3.0からになります。  
ですので、利用されているServlet2.5ではメソッドが存在しません。

ただし、Tomcat8はServlet3.1のはずです。  
Tomcatとは別のAervletAPIをパスに通しているのであれば、  
TomcatのServletAPIと同じバージョンをパスに通すことをお勧めします。




ServletContextにaddServletメソッドが追加されたのはServlet3.0からになります。  
ですので、利用されているServlet2.5ではメソッドが存在しません。

ただし、Tomcat8はServlet3.1のはずです。  
Tomcatとは別のAervletAPIをパスに通しているのであれば、  
TomcatのServletAPIと同じバージョンをパスに通すことをお勧めします。

