使用JSP在tomcat服务器中连接到Oracle数据库时出错

昌达

尝试了一切,但无法解决问题。我使用Windows 8企业版(如果这与问题有关)

  • 甲骨文11.2.0
  • JDK 1.7.0
  • Apache tomcat服务器8.0
  • 编辑器:记事本

我在d:中安装了oracle,在c:上安装了tomcat服务器。我将jar文件ojdbc6.jar从oracle的lib目录复制到了tomcat的lib目录。然后,我在环境变量(系统变量)中创建了一个类路径,其值为"C:\Program Files\Apache Software Foundation\Tomcat 8.0\lib\ojdbc6.jar"

我的程序在记事本(.jsp文件)中如下所示:

<%@ page import="java.sql.*" %>
<html>
   <body>
       <%
           Connection conn;
           Statement st; ResultSet rs;
           new oracle.jdbc.OracleDriver();
           String dbURL="jdbc:odbc:oracle:thin:@localhost:1521:XE";
           String userId="system";
           String pwd="moon";
           conn=DriverManager.getConnection(dbURL,userId,pwd);
           st=conn.createStatement();
           rs= st.executeQuery("SELECT * FROM login"); 
           while(rs.next())
           {
               System.out.println(rs.getString(1)+""+rs.getString(2));
           }
       %>

   </body>
</html>

我检查了我所有的服务是否都在运行oracle和tomcat服务器。''

编辑

根据钱达的评论,错误是:

HTTP状态500-在第14行处理JSP页面/page2.jsp时发生异常。第14行是conn = DriverManager.getConnection(dbURL,userId,pwd)

java.lang.ClassNotFoundException:org.apache.jsp.new_jsp服务器遇到内部错误,导致服务器无法满足此请求。

达菲

我不建议您这样做。Scriptlet代码和数据库调用不属于JSP。这是一个更长的讨论。

但是直接的问题是您的连接URL不正确:

String dbURL="jdbc:odbc:oracle:thin:@localhost:1521:XE";

应该

String dbURL="jdbc:oracle:thin:@localhost:1521:XE"

Tomcat将忽略所有系统环境变量。我建议您永远不要那样设置CLASSPATH。

正确的做法是将ojdbc6.jar放入Tomcat服务器的/ lib文件夹中。

在您的Web应用程序的WEB-INF / lib中添加其他第三方JAR。

       Connection conn;
       Statement st; 
       ResultSet rs;
       String dbURL="jdbc:odbc:oracle:thin:@localhost:1521:XE";
       String userId="system";
       String pwd="moon";
       try {
           Class.forName("oracle.jdbc.OracleDriver");
           conn=DriverManager.getConnection(dbURL,userId,pwd);
           st=conn.createStatement();
           rs= st.executeQuery("SELECT * FROM login"); 
           while(rs.next()) {
               System.out.println(rs.getString(1)+" "+rs.getString(2));
           }
       } catch (Exception e) {
           e.printStackTrace();
       } finally {
           DatabaseUtils.close(rs);  // implement static methods to do this.
           DatabaseUtils.close(st);
           DatabaseUtils.close(conn);
       }

我建议这样的事情:

public class DatabaseUtils {
    public static void close(Connection c) {
        try {
            if (c != null) {
                c.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    // I'll leave the others for you.
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

连接到本地数据库服务器时出错

“ psql:无法连接到服务器:连接被拒绝”连接到远程数据库时出错

mongodb失败:连接到数据库服务器时出错:没有可访问的服务器

Dart Aqueduct 服务器数据库升级:连接数据库时出错

由于“连接到数据库服务器时出错:没有可访问的服务器”,Mongorestore 在 Mac 上本地失败

以tomcat作为服务器连接到derby数据库

使用 powershell 脚本连接到 Oracle 数据库。连接时出错

将本地机器上的 SSIS 连接到远程服务器 oracle 数据库

Python:如何连接到服务器数据库?

无法连接到您的数据库服务器

SQL无法连接到数据库服务器

连接到远程mysql数据库服务器

MySQL Workbench:当“ MySQL服务器消失”时重新连接到数据库吗?

连接到远程服务器并执行简单的数据库查询时出现问题

使用IDE连接到Openshift服务器时出错

在Joomla中连接到PGSQL数据库时出错

在 javascript 中连接到 mongoose 数据库时出错

使用Apache Tomcat连接到JSP Webapp中的数据库

使用休眠连接到数据库时出错

在PHP中连接到不同服务器上的多个数据库

无法在docker-compose(php和MariaDB)中连接到数据库服务器

连接到WordPress服务器中的mysql数据库

如何连接到真实服务器中的数据库

无法在程序[VB]中连接到MySQL服务器数据库

如何使用MySQL Workbench连接到我的数据库服务器?

使用PHP从Linux服务器连接到远程MS SQL数据库

使用 postgresql-fdw 从 postgresql 服务器连接到 Hive 数据库表

无法使用带有服务器CA验证的TLS连接到AWS数据库

无法使用Hostinger中提供的设置连接到数据库服务器