日期:2014-05-18  浏览次数:20680 次

一个简单的javaBean的使用问题
写了一个JSP文件。使用JavaBean

<%@   page   contentType= "text/html;charset=gb2312 "%>
<%@   page   import= "Bean.Circle "%>
<html>
<body> <font   size=4>
<jsp:useBean   id= "girl "   class= "Circle "   scope= "page ">
</jsp:useBean>
<%//设置圆的半径
        girl.setRadius(100);
%>
<p> 圆的半径是:
<%=girl.getRadius()%>
<p> 圆的周长是:
<%=girl.circleLength()%>
<p> 圆的面积是:
<%=girl.circleArea()%>
</body>
</html>

在D:\Tomcat   5.0\webapps\ROOT\WEB-INF\classes\Bean下放置Circle.class

可是执行的时候http://localhost:8080/useBeans.jsp
出现错误如下:

org.apache.jasper.JasperException:   Unable   to   compile   class   for   JSP

Generated   servlet   error:
D:\Tomcat   5.0\work\Catalina\localhost\_\org\apache\jsp\useBeans_jsp.java:6:   无法访问   Bean.Circle
错误的类文件:   D:\Tomcat   5.0\webapps\ROOT\WEB-INF\classes\Bean\Circle.class
类文件包含错误的类:   Circle
请删除该文件或确保该文件位于正确的类路径子目录中。
import   Bean.Circle;

如何解决?

------解决方案--------------------
可以的啊,我把我的文件给你!如下,Bean包放在src里就可以了,bean如下:package Bean;

public class Circle {
private float radius = 0;


public float getRadius() {
return radius;
}

public void setRadius(float radius) {
this.radius = radius;
}
public double circleLength() {
return 2*Math.PI*getRadius();
}
public double circleArea() {
return Math.PI*getRadius()*getRadius();

}
}
jsp如下:
<%@ page contentType= "text/html;charset=gb2312 "%>
<%@ page import= "Bean.Circle "%>
<html>
<body> <font size=4>
<jsp:useBean id= "girl " class= "Bean.Circle " scope= "page ">
</jsp:useBean>
<%//设置圆的半径
girl.setRadius(100);
%>
<p> 圆的半径是:
<%=girl.getRadius()%>
<p> 圆的周长是:
<%=girl.circleLength()%>
<p> 圆的面积是:
<%=girl.circleArea()%>
</body>
</html>
------解决方案--------------------
<jsp:useBean id= "girl " class= "Circle " scope= "page ">
把包名寫上試試
------解决方案--------------------
class 文件要放在WEB-INF\classes里啊..不然找不到class的.路径也要对.
我的异常网推荐解决方案:org.apache.jasper.JasperException: Unable to compile class,http://www.aiyiweb.com/j2ee/2308.html