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

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

```

    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("/");
        }
    }
    
```

ServletAPI 2.5  
spring一式 4.2.0  
java 8  
Eclipse Mars  
tomcat 8
CC BY-SA 3.0
2015-08-29T11:06:35.703
14999
2015-08-31T00:35:43.680
2015-08-30T00:11:00.923
2238
8396
question
java spring
ServletContext.addServlet()がundefined
ServletContextにaddServletメソッドが追加されたのはServlet3.0からになります。  
ですので、利用されているServlet2.5ではメソッドが存在しません。

ただし、Tomcat8はServlet3.1のはずです。  
Tomcatとは別のAervletAPIをパスに通しているのであれば、  
TomcatのServletAPIと同じバージョンをパスに通すことをお勧めします。
CC BY-SA 3.0
2015-08-31T00:35:43.680
15060
2015-08-31T00:35:43.680
10724
14999
answer