2015-01-30 4 views
1

에서 javax.servlet 버전 javax.servlet.FilterRegistration을 가져 어차피 ​​나는이 수입에 문제가 있어요 :나는 스프링 MVC 웹 응용 프로그램에서 일하고 있어요 2.5

import javax.servlet.FilterRegistration; 
import javax.servlet.ServletRegistration; 

오류가 The import javax.servlet.FilterRegistration cannot be resolved

을 말한다

이 내가 오류 의존성이 받는다는 더 이상

이 표시되지 않습니다 넣으면

public class InitApp implements WebApplicationInitializer { 

     @Override 
     public void onStartup(ServletContext container) 
     { 
      // Create the 'root' Spring application context 
      AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext(); 
      rootContext.register(RootConfig.class); 

      // Manage the lifecycle of the root application context 
      container.addListener(new ContextLoaderListener(rootContext)); 

      // Create the dispatcher servlet's Spring application context 
      AnnotationConfigWebApplicationContext dispatcherServlet = new AnnotationConfigWebApplicationContext(); 
      dispatcherServlet.register(MvcConfig.class); 

      // Register and map the dispatcher servlet 
      ServletRegistration.Dynamic dispatcher = container.addServlet("dispatcher", new DispatcherServlet(dispatcherServlet)); 
      dispatcher.setLoadOnStartup(1); 
      dispatcher.addMapping("/"); 

     } 

     private void registerCharacterEncodingFilter(ServletContext servletContext) { 
      CharacterEncodingFilter encodingFilter = new CharacterEncodingFilter(); 
      encodingFilter.setEncoding("UTF-8"); 
      encodingFilter.setForceEncoding(true); 
      FilterRegistration.Dynamic characterEncodingFilter = servletContext.addFilter("characterEncodingFilter", encodingFilter); 
      characterEncodingFilter.addMappingForUrlPatterns(null, false, "/*"); 
     } 
    } 

this is my maven dependency 
<!-- Servlet --> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>servlet-api</artifactId> 
      <version>2.5</version> 
      <scope>provided</scope> 
     </dependency> 

(나는 자바 CONFGI을 사용하고 있습니다) 내 초기화 응용 프로그램입니다

<dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>javax.servlet-api</artifactId> 
      <version>3.1.0</version> 
      <scope>provided</scope> 
     </dependency> 

하지만 내 서버 날이 오류를 제공 “Dynamic Web Module 3.1 requires Java 1.7 or newer”

내가에서 javax.servlet-API 버전 3.1.0

+0

어떤 Java 버전을 사용하고 있습니까? 6 세 이하인 것 같습니다. –

+0

Java.SE 1.8을 사용하고 있습니다. – stackUser2000

답변

1

당신이 Java Servlet 3.1에서 클래스를 사용해야하는 경우를 사용하는 경우에만 사용할 수있는 수입 있습니다 (예 : Tomcat 8, Wildfly, Glassfish 4)를 구현하는 서버가 필요합니다.

그렇지 않은 경우 응용 프로그램에 Servlet API가있는 JAR이 포함되어 있으면 응용 프로그램 서버에서로드하지 않습니다. 당신은 얻을 것이다 : jar not loaded.

그런데 Servlet 3.0이 아마도 Tomcat 7, JBoss AS 7, Glassfish 3.x 이상으로 충분할 것 같습니다.

또 다른 해결책은 봄의 older version을 사용하는 것입니다.

관련 문제