本人用Oracle9i Jdeveloper已经连通数据库服务器,也看见那台服务器上的表了,可为什么在自己的机器上写的jsp页面中的查询数据库操作报错呢?我用的Jdeveloper的Run 的该页面,应该启动的本地服务,可为什么会出现这么多的提示错误呢?而且该页面在配置的Tomcat上已经成功运行了。
错误如下:
java.lang.NoClassDefFoundError: _test
java.lang.Class java.lang.ClassLoader.defineClass0(java.lang.String, byte[], int, int, java.security.ProtectionDomain)
native code
java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String, byte[], int, int, java.security.ProtectionDomain)
ClassLoader.java:493
java.lang.Class java.security.SecureClassLoader.defineClass(java.lang.String, byte[], int, int, java.security.CodeSource)
SecureClassLoader.java:111
java.lang.Class oracle.jsp.app.JspClassLoader.loadClass(java.lang.String, boolean)
JspClassLoader.java:682
java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String)
ClassLoader.java:255
oracle.jsp.runtimev2.JspPageInstFacade oracle.jsp.runtimev2.JspPageInfo.getInstFacade(oracle.jsp.provider.JspClassProvider, javax.servlet.http.HttpServletRequest)
JspPageInfo.java:160
oracle.jsp.runtimev2.JspPageInstFacade oracle.jsp.runtimev2.JspPageTable.getInstFacade(javax.servlet.http.HttpServletRequest, oracle.jsp.runtimev2.JspPageInfo)
JspPageTable.java:443
void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
JspPageTable.java:287
void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
JspServlet.java:465
void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
JspServlet.java:379
void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
HttpServlet.java:853
void com.evermind.server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
ServletRequestDispatcher.java:721
void com.evermind.server.http.ServletRequestDispatcher.forwardInternal(javax.servlet.ServletRequest, javax.servlet.http.HttpServletResponse)
ServletRequestDispatcher.java:306
boolean com.evermind.server.http.HttpRequestHandler.processRequest(com.evermind.server.ApplicationServerThread, com.evermind.server.http.EvermindHttpServletRequest, com.evermind.server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean)
HttpRequestHandler.java:767
void com.evermind.server.http.HttpRequestHandler.run(java.lang.Thread)
HttpRequestHandler.java:259
void com.evermind.server.http.HttpRequestHandler.run()
HttpRequestHandler.java:106
void EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run()
PooledExecutor.java:797
void java.lang.Thread.run()
Thread.java:484--------------------------------------------------------------------------------

解决方案 »

  1.   

    运行的页面的代码如下:
    <%@ page contentType="text/html;charset=gb2312" %>
    <%@ page import="java.sql.*" %>
    <html>
    <body>
    <% Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;
    try {
    //加载oracle的JDBC的驱动程序
                            Class.forName("oracle.jdbc.driver.OracleDriver");
    //连接到数据库
    conn = DriverManager.getConnection ("jdbc:oracle:thin:@198.168.128.15:1521:xhsd","ops$jsxt","jsxtpass");
    //获取statement对象用来发送SQL查询语句
    stmt = conn.createStatement();
    //设置最大返回数量
    stmt.setMaxRows(20);
    //发送查询语句保存查询结果
    rs = stmt.executeQuery("select ddmx_zddm,ddmx_dh,ddmx_ds,ddmx_dsrq,ddmx_dsfs from ddmx"); //打印表头信息
    out.println("<table frame = \"border\">");
    out.println("<tr>");
    out.println("<td>ddmx_zddm</td>");
    out.println("<td>ddmx_dh</td>");
    out.println("<td>ddmx_ds</td>");
    out.println("<td>ddmx_dsrq</td>");
    out.println("<td>ddmx_dsfs</td>");
    out.println("</tr>");

    //打印查询结果
    while (rs.next()){
    out.println("<tr>");
    out.println("<td>"+rs.getString("ddmx_zddm")+"</td>");
    out.println("<td>"+rs.getString("ddmx_dh")+"</td>");
    out.println("<td>"+rs.getString("ddmx_ds")+"</td>");
    out.println("<td>"+rs.getDate("ddmx_dsrq")+"</td>");
    out.println("<td>"+rs.getString("ddmx_dsfs")+"</td>");
    out.println("</tr>");
    }
    out.println("</table>"); //关闭数据库
    rs.close();
    stmt.close();
    conn.close();
    }
    catch (ClassNotFoundException e) { //所需类未找到
    out.println(e.getMessage());
    }
    catch (SQLException e) {  //数据库连接SQL执行异常
    out.println(e.getMessage());
    }
    finally {
    try {
    if (conn != null) {
    conn.close();
    }
    }
    catch (SQLException e) {
    out.println(e);
    }
    }%>
    </body>
    </html>