今天帮一个朋友调试程序,基于struts架构的,在tomcat6中部署好程序以后,控制台打印日志没有提示任何异常,但是访问应用,凡是与struts中action有关的类,通过页面访问不到报"404"错误。但是检查struts配置文件没有发现任何错误。开始郁闷。
把tomcat6集成到Eclipse中,设定断点,启动tomcat,系统控制台打印出错误信息,如下:
java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
知道缺少了commons-logging.jar。在环境中引用commons-logging.jar后,单独启动tomcat正常,并且可以正常访问应用,系统全部正常。
这个过程中,比较奇怪的现象就是,在使用struts架构时,缺少commons-logging.jar包,单独启动应用服务器可能不会报出错误,影响问题的判断和追踪,以后切记在使用struts、spring框架时,出现问题首先要检查commons-logging.jar是否存在。
commons-logging.jar 主要是用于输出log日志,多和log4J结合使用。commons-beanutils.jar是对bean操作的类,可以访问类的属性及GET和SET方法.但它是用java的反射机制实现的,如果是大数据量时,使用起来会慢一些.这两个包是struts的依赖包,核心包是Struts.jar,其中form类的转化就用到了commons-beanUtils.jar。