tomcat 调试JSP 文件出错 value for the useBean class attribute is invalid

今天在使用Tomcat 的 时候 出现错误

环境是LINUX AS 3+TOMCAT 5.5.20

使用的组件是smartupload 在win2000+tomcat 5.0.12 可以使用

错误代码如下The value for the useBean class attribute is invalid

在网上查 出现的结果如下

Tomcat 常见 "The value for the useBean class attribute is invalid" 错误。该错误是指 JSP 中给定的 useBean 标签的 class 属性的值无效(不是 Bean 的属性值)。

可见错误可能的原因包括:

1. 在编译 JSP 时(不是运行时),指定的 Bean 类没找到
2. Bean 虽然找到了,但是它不是 public 的,或者找到的 class 文件是 interface 或抽象类
3. Bean 类中没有 public 的默认构建函数

第二点很明显,不用多解释,最经常发生的情况是 Bean 类忘了声明为 public 。

第三点中需要注意的是,如果你的 Bean 类没有提供任何构造函数,将自动生成一个默认构建函数,这没有问题。但是,如果你有构造函数,则不会自动生成该默认构造函数。经常被忽略的问题是写了默认构造函数却不是 public 的。

第一点看起来简单,不过却最令人头痛,尤其是在开发环境里。这里需要注意的是,"在编译 JSP 时",意味着引用 Bean 的 JSP 是新的,或者刚刚更新过,或者 TOMCAT_HOME/work 中的编译结果被清除了。此时,Tomcat 将自动(重新)编译该 JSP,此时如果发现 Bean 没找到,就会报这个错。情况因为 JSP 或者 Bean 类正在开发而变得复杂,一一列举所有情况没有意义,这里我举一些典型例子,借此应该可以举一反三

经过调试 发现没有用

后来,

经人指点发现只要将tomcat /common/lib 目录下servlet-api.jar拷贝到JAVA 目录的common/lib 目录下就可以了

郁闷 不知道原因 问题解决了

你可能感兴趣的:(tomcat,jsp,bean,linux,Class,interface)