最近赶XML大作业,在大部分人都用PHP的情况下,我们四个不知道哪根筋搭错,当初毅然决然地要用JSP。

      最近有个问题困扰了我们很久,感觉它明明就是一个小问题,但就是找不到哪里出错。

      在调用javabean的时候使用<%jsp:usebean  id=" " class=" " scope=" "%/>,这里测试用的class是userAdmin(一个空类)。但是在测试时,总会出现报错”The value for the useBean class attribute XXX is invalid“ 。

      在网上查找这个问题,搜索到的答案基本都是转载的一个帖子。 它提到三个问题:

      1.在编译JSP时,指定的Bean类没找到

      2.Bean虽然找到了,但是该类不是public的,或者找到的class文件时interface或抽象类

      3.Bean类中没有public的无参构造函数


       对于这三个问题,后两个问题我们都没有,应该是第一个问题那里出了错,但是为什么会找不到类。在tomcat的WebRoot目录下,是有classes文件夹的,里面有编译好的java文件。在myeclipse环境下,它都会自己去找到.class文件。不应该出现找不到类的情况。


      找答案的过程是漫长的。。。总之,最后找到了解决方案~

      1.将该项目文件夹中的WebRoot单独移出来,放在tomcat的webapps中,然后在输入移动后的地址,不再报错。

        这种方法比较麻烦,因为每次修改之后都要移出来再覆盖,对于开发来说太痛苦了。

      2. 认真看下之前写的java类,要确保类里面的private变量都有setAttribute()和getAttribute()方法。也就是说,之前我写的空类并不是一个javabean类。然后在myeclipse里面重新部署一次,再从开服务器。

       这种方法能使我在myeclipse里面愉快地写代码了~但是疑惑的是,为什么用第一种解决方法就能保证空类也能正常调用呢。。。why???     谁知道原因的告诉我吧~ 

   

       其实问题还是没有完全解决额,但是至少现在能继续做作业了~


       感谢李娟师姐和砖头哥的帮助~ ~