D:\Tomcat 4.1\work\Standalone\localhost\jsp\yonghuguanli\reg2_jsp.java:57: cannot resolve symbol
symbol  : class opendb 
location: class opendb.opendb
      opendb.opendb db = null;

解决方案 »

  1.   

    cannot resolve symbol:一般是找不到相对应的类型或者类
      

  2.   

    类我已经在定义了呀,我用的是javaBean:
    <jsp:useBean id="db" scope="page" class="opendb.opendb" />
    调用包opendb中的opendb类,有什么错误吗?
      

  3.   

    //定义包opendb
    package opendb;
    //引入java.sql.*
    import java.sql.*;
    //包opendb中的类opendb
    public class opendb
    {
    //定义数据库连接字符串,jdbc.odbc桥
    String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
    String sConnStr="jdbc:odbc:JSP";
    Connection conn=null;
    ResultSet rs=null;
    //定义打开数据库连接的函数
    public opendb()
    {
    try{
    Class.forName("sDBDriver");
    }
    //处理异常
    catch (java.lang.ClassNotFoundException e){
    System.err.println("opendb():"+e.getMessage());
    }
    }
    //定义执行SQL语句的函数
    public ResultSet executeQuery(String sql)
    {
    rs=null;
    try
    {
    conn=DriverManager.getConnection(sConnStr,"sa","");
    Statement stmt=conn.createStatement();
    rs=stmt.executeQuery(sql);
    }
    //异常处理
    catch (SQLException ex)
    {
    System.err.println("aq.executeQuery:"+ex.getMessage());
    }
    return rs;
    }
    }以上就是opendb.java的完整源码
      

  4.   

    reg2_jsp里面你是怎么调用的呢?
      

  5.   

    <%@ page import="opendb.*"%>
    <jsp:useBean id="db" scope="page" class="opendb.opendb" />
    <% 
    //判断所选的用户ID是否与现有ID重名
    String uid=request.getParameter("uid");
    //生成查询的sql命令
    String sql="select * from custom where uid='"+uid+"'";
    //rs为返回结果的ResultSet对象
    ResultSet rs=db.executeQuery(sql);就是这样调用的
      

  6.   

    class="opendb.opendb" />
    检查你的路径是不是对了
      

  7.   

    你的class放在什么位置
    是在classes\opendb下吗?
      

  8.   

    <%@ page import="opendb.*"%>
    <jsp:useBean id="db" scope="page" class="opendb.opendb" />
    你写重复啦
    因为你已经import这个包下的所有类啦
    所以在你指定class的时候就不用写这个包名啦
    <%@ page import="opendb.*"%>
    <jsp:useBean id="db" scope="page" class="opendb" />或
    <%@ page contentType="text/html;charset=GB2312"%>
    <jsp:useBean id="db" scope="page" class="opendb.opendb" />
      

  9.   

    不行,我改成
    <%@ page import="opendb.*"%>
    <jsp:useBean id="db" scope="page" class="opendb" />,有以下错误:
    type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: opendb
    at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:498)
    at org.apache.jsp.reg2_jsp._jspService(reg2_jsp.java:270)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:92)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:162)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)