繁体   English   中英

无法连接 Tomcat 6 和 oracle 10g XE for jsp 数据库连接

[英]Can't connect Tomcat 6 and oracle 10g XE for jsp database connectivity

我正在使用 Eclispe ganymede、tomcat6 和 oracle 10g XE。 我已经连接了所有这些。一切正常。

但是我创建了一个 jsp 文件,该文件在数据库中创建了一个不起作用的表。 没有错误。 但是当我签入数据库时,没有创建表。

我的编码:

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    <%@page import="java.sql.*" %>
    <%
    Connection con=null;
      try
    {
                Class.forName("oracle.jdbc.driver.OracleDriver");
        con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","system","123");
        Statement stmt=con.createStatement();
        stmt.executeUpdate("create table Black ( "
                  + "   id INT PRIMARY KEY, firstName VARCHAR(20), lastName VARCHAR(20), "
                  + "   title VARCHAR(20), salary INT " + ")");
        out.println("Table Created");

    }
    catch(ClassNotFoundException e)
    {
        out.println(e.getMessage());
    }
    catch(NamingException e)
    {
    out.println(e.getMessage());    
    }
    finally
    {
        try
        {

            if(con!=null)
                con.close();

        }
        catch(SQLException e)
        {
        }
    }
    %>

    </body>
    </html>

这就是错误所说的:

java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233 ) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:128) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66) at java.lang.ClassLoader.loadClassInternal(Unknown Source ) 在 java.lang.Z9BD81329FEDBF6EFE22.forName0(Native Method) 的 java.lang.Class.forName0(Native Method) ) at org.apache.jsp.data_jsp._jspService(data_jsp.java:73) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet. java:717) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) at org.apache.jasper.servlet .JspServlet.service(JspServlet.java:267) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterC hain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org .apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve .java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.co nnector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java: 583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) at java.lang.Thread.run(Unknown Source) java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver at org .apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLo ader.java:1233) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:128) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66) at java.lang.ClassLoader .loadClassInternal(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.apache.jsp.data_jsp._jspService(data_jsp.java:73) at org. apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717 ) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) at org.apache.jasper.servlet.JspServlet. service(JspServlet.java:267) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.ZB6EFD606D 118D0F62066E31419FF04CCZ.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve. java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11 .Http11Processor.process(Http11Processor.java:849) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.ZB6EFD606D118 D0F62066E31419FF04CCZ.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) at java.lang.Thread.run(Unknown Source) java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver at org.apache.catalina. loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:128)在 org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66) 在 Z93F725A07423FE1C889F6UnknownB33D21F46Z:66) ) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.apache.jsp.data_jsp._jspService(data_jsp.java:73) at org.apache.jasper.runtime .HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org. apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java :267) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain. doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache .catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.Z93F725A07423FE1C889F448B33D21F4 6Z:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11 .Http11Processor.process(Http11Processor.java:849) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint .java:454)在 java.lang.Thread.run(未知来源)

现在有人告诉我如何将这个程序连接到数据库。

什么是 output,有堆栈跟踪吗? 您是否将数据源定义为 testdb?

无论如何,您都不应该从 JSP 页面执行 sql 语句,将 sql 语句放在 DAO 后面或使用 Hibernate 或类似的 ORM 工具。

Here is thehttp://www.oracle.com/technetwork/database/features/jdbc/index-091264.html download page for Oracles JDBC drivers. 为您的数据库选择匹配的一个,以及您的 Java vm 的匹配版本。 并将其放在您的 tomcats lib/ 目录下。

提出任何异常? 不要在 Jsp 中使用 JDBC 连接代码。而是保留在 DAO class 中。

或者可以使用 Jsp 选项卡库。

SQL 标签库

检查此链接以解决问题。

Oracle.jdbc。 driver.OracleDriver 问题

您需要在项目的部署程序集中包含 ojdbc14.jar 文件。 使用 eclipse:

proj --> 属性 --> 部署程序集 --> 添加 --> 添加您的 jar 文件。

我想在我的项目中添加我必须更改的内容:

String driverName = "oracle.jdbc.driver.OracleDriver";

String driverName = "oracle.jdbc.OracleDriver";

我正在使用 Oracle 数据库 11g 第 2 版。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM