我的tomcat版本是6.0的
好像tomcat是没有classes文件,所以我就新建了一个,在里面新建了一个java类
package test;
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" language="java"  %>
<%@ page import="Circle"%>
<html>
<body>
<jsp:useBean id="girl" class="test.Circle" scope="page">
</jsp:useBean>
<% girl.setRadius(100);
%>
<p>圆的半径是:
<%=girl.getRadius()%>
<p>圆的周长是:
<%=girl.circleLength()%>
</body>
</html>
======================================================================
感觉这两个都没有什么问题呀?
但当我在浏览器却得不到结果,我属于初学者,这已经花了我一天的时间了,现在真的很心急。。请各位老师帮我看看这到底问题出在哪里呀?
我完全是按部就班来学的,为什么这里就老是出错呢?
而在网上也一直找不到答案,书上也没提示。

解决方案 »

  1.   

    你页面输出的是什么 <%@ page import="Circle"%>   这里不加上包吗?
      

  2.   

    “我在浏览器却得不到结果“
    提示什么?是没有 javabean 的结果还是整个 jsp 没有任何显示?
      

  3.   

    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(5,0) The value for the useBean class attribute test.Circle is invalid.
    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:148)
    org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1272)
    org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1178)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
    org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
    org.apache.jasper.compiler.Generator.generate(Generator.java:3426)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:216)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.这是浏览器给我的结果,看不了
      

  4.   

    <%@ page import="Circle"%> 
    ->
    <%@ page import="test.Circle"%> 
    或者不要。新建classes什么意思?
    直接Circle.class放到 common/classes/test下面。test文件夹需要你新建。
      

  5.   

    浏览器给我的结果是这样子的:
    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(5,0) The value for the useBean class attribute test.Circle is invalid.
    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:148)
    org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1272)
    org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1178)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
    org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
    org.apache.jasper.compiler.Generator.generate(Generator.java:3426)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:216)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.
      

  6.   

    提示:test.Circle这个类无效   Circle有没有放在包里面?
    Circle类编译了没有?
      

  7.   

    你的 jsp 中 javabean 的路径没配好。而且编译好的 javabean 类放的位置也不对。
      

  8.   

    我按你的做了,但是依然没有结果,跟刚才是一样的。
    而我新建classes是说我tomcat下的目录没有这个classes,所以我就新建该文件夹,因为那些javaBeans是要放在classes里的嘛,编译也编译通过了。
    但就是没结果。
    很烦恼。
      

  9.   

    你不是用的集成开发工具来做的吧!下载一个myeclipse7吧!可以减少很多繁琐的步骤。
      

  10.   

    各位老师:
       刚才我在你们的提示下已经修改好了!我这里错了一处:import="test.Circle"
       然后我把javaBeans放在目录:root\webinf\classes下
       现在我可以通过了!但是我还有一个问题:
    我把javaBeans放在tomcat下的classes下为什么就不行了呢?我看书上是这样说的;
    1.对任何web服务目录都可以使用的beans存放在tomcat安装目录下的classes目录中。
    我的tomcat下没有classes目录呀!
    我自己新建了一个classes,把javaBeans放进去,没有得到我想要的结果,这是一个问题,不知道为什么?
    是不是要配置什么东西?
    2.只对examples服务目录可用
    放在examples下的web-inf/classes下,这个我已经实现了。现在就是1 为什么不能实现呢?
    请各位老师指点!
      

  11.   

    如果要创建一个基于Java的WEB应用,基本的目录结构如下:/[WebContent]    WEB应用上下文根目录
        /WEB-INF     配置文件所在目录
            web.xml  WEB应用核心配置文件
            /lib     存放所有jar包的类库目录
            /classes 存放没有打包的所有class文件的类路径根据需要,WEB应用上下文可以定义成任意名字或ROOT。
    如果WEB应用上下文的根目录是ROOT,意味着用户端在访问WEB应用时不需要提供WEB应用上下文。如:http://localhost:8080/index.html如果WEB应用上下文的根目录不是ROOT,用户端访问时就必须明示WEB应用上下文。如上下文名为hello的访问方式:http://localhost:8080/hello/index.html/WEB-INF目录放置了所有不允许用户直接访问的资源。
    典型的文件有web.xml,它是Java Web应用的核心配置文件。总之,
    你的JavaBeans应该放在WEB应用上下文的/WEB-INF/classes下,这是Java WEB应用的规范。详细说明参考Java WEB应用基础
      

  12.   

    自己应用的类就放到应用下的web-inf/classes,不要放公用的地方。
      

  13.   

    如果想让所有的app都共享一个class的话,你应该放在:
    [TOMCAT_HOME]/common/lib
      

  14.   

    我的tomcat下没有你说的这个目录。
      

  15.   

    [TOMCAT_HOME]/common/classes
    这个也没有?
    6.0还真没用过。。
      

  16.   

    6.0啊,在lib目录下建test目录,然后把Circle.class放进去看看。