对于ServletContext类型,方法addListener(SessionListener)是未定义的

时间:2017-01-12 08:40:42

标签: java spring maven spring-security

addListener(SessionListener)方法中未定义的符号错误。这是我的片段:

@Override
public void onStartup(ServletContext servletContext) throws ServletException {
    super.onStartup(servletContext);       
    servletContext.addListener(new SessionListener());
}

My Maven依赖:

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

2 个答案:

答案 0 :(得分:0)

你的servlet-api版本是什么?

我使用javax.servlet-api-3.1.0.jar,它有这个方法。

答案 1 :(得分:0)

此方法addListener是3.0.0版本中的新增功能,可能您的应用程序中有旧版本的ServletContext,例如:

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

您需要从项目中排除此项,您可以使用此servlet jar的依赖项中的exclusion标记执行此操作。

<exclusions>
    <exclusion>
        <artifactId>servlet-api</artifactId>
        <groupId>javax.servlet</groupId>
    </exclusion>
</exclusions>