最近赶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??? 谁知道原因的告诉我吧~
其实问题还是没有完全解决额,但是至少现在能继续做作业了~
感谢李娟师姐和砖头哥的帮助~ ~
转载于:https://blog.51cto.com/7243353/1422749