做ServletContextListener时老显示ClassNotFound异常,怎么办呀?

月光散落 发布于 2017/05/30 10:06
阅读 381
收藏 0

 环境:eclipse_ee_mars tomcat 8.5  linux

代码的功能是,利用ServletContextListener监听Servlet上下文(创建和注销),以及利用ServletContextAttributeListener来监听属性的变化。我自己写的这个SimpleServletContextListener一直报classnotfound异常,我web.xml也配置了这个listener类,编译后确实是有这个类的class的。真的是非常奇怪。希望有大神施以援手啊,这个问题搞了很多天,刚开始以为是环境的问题,也重装了,也换平台了,但是一直没搞定,希望能有大神能给我指点迷津。

这是异常截图

这是我自己写的listener类,实现了ServletContextListener和ServletContextAttributeListener接口,并重写了方法。

package zhang.listenerandfilter;
import java.util.Date;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextAttributeEvent;
import javax.servlet.ServletContextAttributeListener;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public  class SimpleServletContextListener 
implements ServletContextListener , ServletContextAttributeListener{
@Override
public void contextInitialized(ServletContextEvent sce) {
    System.out.println("Start Time:" + new Date());
}
@Override
public void contextDestroyed(ServletContextEvent arg0) {
    System.out.println("Stop Time:" + new Date());

}
@Override
public void attributeAdded(ServletContextAttributeEvent scae) {
    System.out.println("Added an Attribute:" + scae.getName() + "=" + scae.getValue());
}

@Override
public void attributeRemoved(ServletContextAttributeEvent scae) {
    System.out.println("Removed an Attribute:" + scae.getName() + "=" + scae.getValue());
}

@Override
public void attributeReplaced(ServletContextAttributeEvent scae) {
    ServletContext sc = scae.getServletContext();
    System.out.println("Replaced an Attribute(Old):" + scae.getName() + "=" + scae.getValue());
    System.out.println("(New):" + scae.getName() + "=" + sc.getAttribute(scae.getName()));
}

 web.xml的配置

<listener>
    <listener-class>zhang.listenerandfilter.SimpleServletContextlistener</listener-class>
</listener>

编译后在listeners中也有我写的listener类

 

 

加载中
0
如比如比
如比如比

class文件在什么地方了,

月光散落
月光散落
回复 @壶漏子 : 搞定了,多谢多谢,在修改过程中还发现了一个错误,都弄好了,多谢了。
如比如比
如比如比
一般把classes目录放web-inf下会省去很多麻烦https://wapbaike.baidu.com/item/web-inf?adapt=1
月光散落
月光散落
JAVA_WORKING/J2EE_Exp6/build/classes/zhang/listenerandfilter/SimpleServletContextListener.class 在这个目录下是有这个class的
返回顶部
顶部