javaEE中错误提示 Exception starting filter BackServletFilter java.lang.ClassNotFoundException: tmall.filter.BackServletFilter提示这个错误啊

最近在学习javaEE的部署,不借助eclipse中的部署方式,而是通过修改server.xml文件的方式部署

添加Context路径

<Context path="/tm" docBase="G:\javaSummary\11javaEE\20src\Tmall_Servlet_jsp\Tmall_Servlet_jsp\web" debug="0" reloadable="false" />

刚开始的时候每次都提示

Exception starting filter BackServletFilter
java.lang.ClassNotFoundException: tmall.filter.BackServletFilter

但是我查看Tomcat的logs错误日志localhost.xxxx.log发现一直都是缺少对应的Filter,可是当我查看文档的中,并没有确实BackServletFilter文件啊

错误问题:

多方面求救答案之后,发现是自己的classes文件输出错误

在ecilpse中默认输出的class是在bin目录下,但是tomcat启动之后,在默认情况下,不会去bin目录找这些class文件,而是到WEB-INF/classes这个目录下去寻找。 所以通过这一步的配置,使得eclipse的class文件输出到WEB-INF/classes目录下,那么这样就和tomcat兼容了。

但是我没有修改class文件,导致了编译文件找不多对应的位置。

解决方法:

首先在WEB-INF下创建classes目录把项目的class文件输出由原来的 j2ee/bin 设置到 j2ee/web/WEB-INF/classes下

步骤: 项目右键->properties->Java Build Path->Source->右下角的 Brower-> 指定位置是 j2ee/web/WEB-INF/classes。