最近在学习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。