我正在尝试使用ojdbc6.jar对jsp / Oracle进行虚拟测试,代码如下(Test.jsp):
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page import="java.sql.*"%>
<%@page import="oracle.sql.*" %>
<%@page import="oracle.jdbc.OracleDriver" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html>
<head>
<title>Test</title>
</head>
<body>
<%
Connection con = null;
Class.forName("oracle.jdbc.OracleDriver");
con = DriverManager.getConnection("jdbc:oracle:thin:@host:1521:oracledb",
"user", "password");
con.close();
%>
</body>
</html>
当我在Apache Tomcat服务器上执行它时,我收到此错误:
Jan 08, 2017 12:31:05 PM org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: El Servlet.service() para el servlet [jsp] en el contexto con ruta [/Gest1] lanzó la excepción [No se puede compilar la clase para JSP:
Ha tenido lugar un error en la línea: [16] en el fichero java generado: [C:\Proyecto\tomcat\apache-tomcat-9.0.0.M15-windows-x64\apache-tomcat-9.0.0.M15\work\Catalina\localhost\Gest1\org\apache\jsp\Test_jsp.java]
Only a type can be imported. oracle.jdbc.OracleDriver resolves to a package
Stacktrace:] con causa raíz
org.apache.jasper.JasperException: No se puede compilar la clase para JSP:
Ha tenido lugar un error en la línea: [16] en el fichero java generado: [C:\Proyecto\tomcat\apache-tomcat-9.0.0.M15-windows-x64\apache-tomcat-9.0.0.M15\work\Catalina\localhost\Gest1\org\apache\jsp\Test_jsp.java]
Only a type can be imported. oracle.jdbc.OracleDriver resolves to a package
Stacktrace:
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:212)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:457)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:377)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:349)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:333)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:600)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368)
我不确定我的类路径是否配置正确,我认为这是因为它似乎是另一个导致Oracle.sql工作的片段。
答案 0 :(得分:1)
Class.forName("oracle.jdbc.OracleDriver");
------&gt;不正确
Class.forName("oracle.jdbc.driver.OracleDriver");
使用第二个。 我希望它可以帮助你
答案 1 :(得分:1)
Class.forName("oracle.jdbc.driver.OracleDriver");
你错过了司机
答案 2 :(得分:0)
我不明白你导入oracle.jdbc.OracleDriver.*
的原因
您已经导入了java.sql。*。
还提供了class.forName('oracle.jdbc.OracleDriver').
所以删除行
<%@page import="oracle.sql.*" %>
<%@page import="oracle.jdbc.OracleDriver" %>
并确保在tomat lib文件夹中添加了ojdbc6.jar。
答案 3 :(得分:0)
我想我明白了。
项目属性 - &gt;部署组件 - &gt;添加 - &gt; Java构建路径条目 - &gt; ojdbc6.jar
然后申请。谢谢大家!