在eclipse中,Tomcat 6使用带有“提供”范围的javax.servlet-api 3.0.1

时间:2014-10-21 09:22:41

标签: java eclipse maven spring-mvc tomcat

我正在开发Spring mvc应用程序。我正在使用eclipse。

我正在使用Tomcat 7及以下pom条目进行servlet

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

and facet version 3.0

<installed facet="jst.web" version="3.0"/>

由于某种原因,我必须使用Tomcat 6。 经过一番搜索,我发现Tomcat 6使用的是javax-servlet 2.5版本。

所以,我将我的pom条目改为

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

and facet version to 2.5

<installed facet="jst.web" version="2.5"/>

我解决了一些编译错误,发现@WebFilter不受此支持。所以,我删除了@WebFilter并在web.xml中输入了我的过滤器。

我的项目部署在Tomcat 6上。

出于对Tomcat 6使用@WebFilter的好奇心,我改变了我的pom条目,使用范围为3.0.1的{​​{1}} javax.servlet,然后尝试使用@WebFilter并且它有效。

任何人都可以帮助我了解它是如何发生的。提供javax.servlet的范围,我正在使用Tomcat 6.从哪里获取此版本的javax.servlet?

由于

1 个答案:

答案 0 :(得分:0)

简单的servlet容器(如Apache Tomcat)附带此API(查找servlet-api.jar)。