今天做了个小Demo,随便取了个包名,就叫做java.filter
然后就报 ClassNotFoundException 说找不到我的servlet
然后查啊查,web.xml 配置没错 ,在看tomcat服务器的WEB-INF/lib下的classes也有我的servlet 的类文件啊!
然后在百度的一个角落有人说包名不能以com.java开头,所以改了个包名之后就完美运行了。
主要原因:
当写上com.java , java ,又或者 javax 之类的 包的时候 ,每当 jvm运行时,这些包下的类会被 引导类加载器所加载,而我们写的类应该是被应用类加载器所加载,所以在会导致 ClassNotFoundException 。
解决方法:
1. 改包名;
2. 自定义一个 ClassLoader 类加载器。