[英]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 选项卡库。
检查此链接以解决问题。
您需要在项目的部署程序集中包含 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.