我现在才开始学JSP,安装了Tomcat Version 5.0.28.
环境变量也设置了:
JAVA_HOME=c:\j2sdk1.4.2 
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jarpath=%JAVA_HOME%\bin
CATALINA_HOME=c:\tomcat 
CATALINA_BASE=c:\tomcat 
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tool.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;%CATALINA_HOME%\common\lib\jsp-api.jar 
启动http://localhost:8080,一切正常!
我就按照书上的写了个很简单的bean和调用的JSP文件,可是运行时老是出错.说无法找到该类.
我搜索了很多文章,说是要建立自己的jsp app目录 .可究竟怎么做呢?
我写的javabean究竟该放到哪里?

解决方案 »

  1.   

    你的javabean放在包里的吗?
    留意bean的源代码里面的包名.文件夹名.引用的时候的包名....条理理清楚.
      

  2.   

    那我应该把包放到哪个目录下呢?
    还有我如何做自己的JSP APP目录呀???
      

  3.   

    比如你的发布目录为demo
    那么在结构如下:
    demo/WEB-INF/classes       #这里放置你的javabean也就是编译好的class文件
                /lib                  #驱动文件及jar包
                /web.xml              #配置文件
        /demo.jsp
        /index.htm将demo放入tomcat/webapps/下在ie用http://127.0.0.1:8080/demo/index.htm查看
    enjoy!
      

  4.   

    把编译后的.class文件放到classes文件夹里jsp文件放到自己工程的文件夹里
      

  5.   

    比如你的发布目录为demo
    那么在结构如下:
    demo/WEB-INF/classes       #这里放置你的javabean也就是编译好的class文件
                /lib                  #驱动文件及jar包
                /web.xml              #配置文件
        /demo.jsp
        /index.htm将demo放入tomcat/webapps/下在ie用http://127.0.0.1:8080/demo/index.htm查看
    enjoy!
      

  6.   

    把编译好的bean的.class文件放到classes文件夹内
    jsp文件放到自己的工程的文件夹内
      

  7.   

    假如工程名为aa
    Tomcat5.0/webapps/aa/WEB-INF/classes
    html jsp与WEB-INF同级
    bean的.class文件在classes内
      

  8.   

    那web.xml应该怎么写?我可以拷贝webapps\ROOT\WEB-INF下的来修改吗?还有我该如何修改,可以给个文件注释吗?各位好人,帮帮忙了,我实在是太笨了
      

  9.   

    <?xml version="1.0" encoding="ISO-8859-1"?> 
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
        version="2.4">  <display-name>yourname</display-name>
    </web-app>
      

  10.   

    请好心人帮我看一下我是出错在那?
    <!--Circle.java -->
    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;
    }
    }
     我写的test.jsp:
    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>this is a test</title>
    </head>
    <body>
    <jsp:useBean id="testcircle" class="Circle" scope="page" /></body>
    </html>
    class我放在了C:\Tomcat 5.0\webapps\ROOT\WEB-INF\classes目录下
    test.jsp我放在了C:\Tomcat 5.0\webapps\ROOT目录下.
    调用后出错提示是:type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 8 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:50: cannot resolve symbol
    symbol  : class Circle 
    location: class org.apache.jsp.test_jsp
          Circle testcircle = null;
          ^
    An error occurred at line: 8 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:52: cannot resolve symbol
    symbol  : class Circle 
    location: class org.apache.jsp.test_jsp
            testcircle = (Circle) _jspx_page_context.getAttribute("testcircle", PageContext.PAGE_SCOPE);
                          ^
    An error occurred at line: 8 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:54: cannot resolve symbol
    symbol  : class Circle 
    location: class org.apache.jsp.test_jsp
              testcircle = new Circle();
                               ^
    3 errors org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
    org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)帮我看看,我太苯了,不得不承认
      

  11.   

    javabean用于jsp页面,需要用package打包后才能用,例如你的Circle类,前面加上:package org.moneyhui;import java.io.*;
    public class Circle{
    ………………
    }然后将你的Circle.java编译,将编译后的class类放入org/moneyhui文件夹下,接着将该文件夹复制到你的classes文件夹中。
    页面引用时用如下的jsp语言:
    <jsp:useBean id="testcircle" class="org.moneyhui.Circle" scope="page" />这是jsp的基础知识,楼主应该很熟悉才对。我上面提到的是比较笨的方法,如果愿意可以使用ant将程序打包成jar文件,放到lib中。
      

  12.   

    声明了<jsp:useBean id="testcircle" class="Circle" scope="page" />
    你在jsp中直接可以调用了testcircle了,不需要
    Circle testcircle = null;
    .....
    testcircle = new Circle();
      

  13.   

    jsp中使用BEAN要把BEAN打包的,
    在你前面的代码前加上package语句以后,放到对应的目录下面就好了。祝你好运!
      

  14.   

    你把你的程序生成JAR包,放在LIB目录
    在JSP里用
    <%@page import="***.***.Circle";%>(其中***为你的程序包名)
    就可以了
      

  15.   

    加上包名。规范<jsp:useBean id="引用名" class="包名.类名" scope="page" />