这是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 reportmessage 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.为何?谢谢大家!

解决方案 »

  1.   

    你在bean源码头上加个package abc;再试试看。
      

  2.   

    我加了,提示错误仍然有:
    HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage 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.
      

  3.   

    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文件夹下的..
      

  4.   

    java bean的语法不对public void setradius(int newradius){ 
    radius=newradius; 
    } 对应的字段 是  radius,但是 radius 对应的 BEAN 的方法名是  setRadius, set方法也时同理
      

  5.   


    1.有可能是 WEB-INF  下 的文件class的结构不对
    2. DEBUG ,停下来,进去看看
      

  6.   

    这是WEB-INF下web.xml文件:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <display-name>My Web Application</display-name>
    <description>
    A application for test.
    </description>
    </web-app>有问题吗?
      

  7.   

    <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>
      

  8.   

    你如果用了<%@ page import="abc.circle"%>就不要用<jsp:useBean id="girl" class="abc.circle" scope="page"%>,如果要用<%@ page import="abc.circle"%>声明的话:应该这样调用:
    <%
      circle newCircle = new circle();
      newCircle.setradius(100);
      out.pringln(newCircle.getradius());
      out.println(newCircle.circlelength());
      out.println(newCircle.circlearea());
    %>
      

  9.   

    xinxideyilian(心细的依恋) :你说的两种方法我都试过了,还是不行
      

  10.   

    还有你必须在你的bean中加入 package abc;
      

  11.   

    package abc;
    public class Circle{}
      

  12.   

    package abc;我也加了,还是错的,环境应该没问题啊,我可以编译java文件,也能运行普通的JSP页面,错误如下:HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to load class for JSP
    org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:599)
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:141)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
    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)
    root cause java.lang.ClassNotFoundException: org.apache.jsp.usebeans_jsp
    java.net.URLClassLoader$1.run(Unknown Source)
    java.security.AccessController.doPrivileged(Native Method)
    java.net.URLClassLoader.findClass(Unknown Source)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
    org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:597)
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:141)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
    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.
      

  13.   

    你怎么编译你的bean? javac abc/cricle.java
      

  14.   

    java.lang.ClassNotFoundException: org.apache.jsp.usebeans_jsp 这就说明你的bean没有找到
      

  15.   

    xinxideyilian(心细的依恋提到的问题 很正解,还有一种可能就是我前面提高的 web-inf \class 下的 
    是否有 abc\Circle.class 这个文件呢包结构可能出错
      

  16.   

    我是在控制台下进入到circle.java所在的目录下,运行javac circle.java来编译的
      

  17.   

    C:\Tomcat\webapps\myapp\WEB-INF\classes目录下是空的,什么也没有
      

  18.   

    把你的bean的circle.class放在C:\Tomcat\webapps\myapp\WEB-INF\classes文件夹下,然后注意是jsp:Bean
      

  19.   

    那你编译的就有问题了.你应该用javac abc/circle.java
      

  20.   

    package abc;
    public class circle{}
    D:\work\abc\circle.java
    D:\work>javac abc/circle.java
    D:\work>java abc.java
      

  21.   

    D:\work> java abc.circle
      

  22.   

    好用了,谢谢大家,重点感谢xinxideyilian(心细的依恋),jefyjiang(天下) 我以前是做.net的,对JAVA真的是一无所知,多谢大家帮助,呵呵