连接java beans不成功,java和tomcat环境已经配好了呀
这是java beans文件,已经编译通过,放在了C:\Tomcat\common\classes\abc目录下:
import java.io.*;
public class circle{
int radius;
public circle(){
radius=1;
}
public int getradius(){
return radius;
}
public void setradius(int newradius){
radius=newradius;
}
public double circlearea(){
return Math.PI*radius*radius;
}
public double circlelength(){
return 2.0*Math.PI*radius;
}
}
下面是jsp文件:
<%@ page contenttype= "text/html;charset=gb2312 " %>
<%@ page import= "abc.circle " %>
<html>
<body bgcolor=cyan>
<font size=1>
<jsp:usebean id= "girl " class= "abc.circle " scope= "page ">
</jsp:usebean>
<% girl.setradius(100);
%>
<p> 圆的半径是:
<%= girl.getradius() %>
<p> 圆的周长是:
<%= girl.circlelength() %>
<p> 圆的面积是:
<%= girl.circlearea() %>
</font>
</body>
</html>
运行后,提示错误如下:
HTTP Status 500 -
--------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: /usebeans.jsp(6,5) Invalid standard action
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1259)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1577)
org.apache.jasper.compiler.Parser.parse(Parser.java:127)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:212)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:156)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.23 logs.
为何?谢谢大家!
[解决办法]
你在bean源码头上加个
package abc;
再试试看。
[解决办法]
public void setradius(int newradius){
radius=newradius;
}
改为:
public void setradius(int newradius){
this.radius=newradius;
}
另:加了jsp:usebean, " <%@ page import= "abc.circle " %> "可以不用了吧,改改看~~~
另: 一般class文件是放在你应用程序下一个WEB-INF文件夹下的classes文件夹下的..
[解决办法]
java bean的语法不对
public void setradius(int newradius){
radius=newradius;
}
对应的字段 是 radius,
但是 radius 对应的 BEAN 的方法名是 setRadius, set方法也时同理
[解决办法]
useBean
[解决办法]
1.有可能是 WEB-INF 下 的文件class的结构不对
2. DEBUG ,停下来,进去看看
[解决办法]
<html>
<%@ page contentType= "text/html;charset=gb2312 "%>
<jsp:useBean id= "girl " class= "abc.circle " scope= "page "/>
<body bgcolor=cyan>
<font size=1>
<% girl.setradius(100);
%>
<p> 圆的半径是:
<%= girl.getradius() %>
<p> 圆的周长是:
<%= girl.circlelength() %>
<p> 圆的面积是:
<%= girl.circlearea() %>
</font>
</body>
</html>
[解决办法]
xinxideyilian(心细的依恋
提到的问题 很正解,
还有一种可能就是我前面提高的 web-inf \class 下的
是否有 abc\Circle.class 这个文件呢
包结构可能出错
[解决办法]
把你的bean的circle.class放在C:\Tomcat\webapps\myapp\WEB-INF\classes文件夹下,然后注意是jsp:Bean
我的异常网推荐解决方案:The server encountered an internal error () that prevented it from fulfilling this request.,http://www.myexception.cn/java-web/317.html