- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个登录页面。用户提供用户名和通行证。然后登录 sevlet 检查用户是否存在于 Db 中,如果不存在,则将用户名和密码发送到 ldap 服务器,如果用户存在于 ldap 服务器上,则在本地 mySql 数据库上创建新用户。
Servlet 工作正常 我可以看到 pass 和 usename 已发送到 TOMCAT。问题是当我尝试连接到 mySQL 数据库时。这是代码:
package database;
import java.sql.*;
public class DbConnect {
/**
* Static method for user authentication
* Test method
* @param username - Username already striped from illigal chars (XSS safe)
* @param pass - password
*/
public static void connect(String username,String pass)//Consider changing void to boolean
{
Connection con;
PreparedStatement st;
ResultSet rs;
try {
//Register JDBC driver
Class.forName("oracle.jdbc.OracleDriver");//Loading DB Driver
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//Open a connection
// Database credentials
final String USER = "root";
final String PASS = "";
final String DB_URL = "jdbc:mysql://localhost:3306/imf_jsp";
try {
con = DriverManager.getConnection(DB_URL,USER,PASS);
st = con.prepareStatement("SELECT * FROM user WHERE signum = ? AND pass_hash = ?"); //Find user with given username & pass
st.setString(1, username);//Bind param (Should prevent SQL Injection? Not sure but it is working in PHP with PDO)
st.setString(2, pass);//Bind param (Should prevent SQL Injection? Not sure but it is working in PHP with PDO)
st.execute();//statemant execution
System.out.println("In Database?: " + st);//If not then check in LDAP
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
这是 StackTrace:
java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at database.DbConnect.connect(DbConnect.java:20)
at servlets.loginServlet.doPost(loginServlet.java:43)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
我正在使用 ojdbc5.jar 它是在 WEB-INF/lib 添加到 bildpath可能有什么问题?使用 PHP,我可以毫无问题地连接到 mySQL 数据库
最佳答案
您正在加载错误的 JDBC 驱动程序。 MySQLs JDBC驱动程序是 com.mysql.jdbc.Driver。您的代码应如下所示:
package database;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class DbConnect {
/**
* Static method for user authentication
* Test method
* @param username - Username already striped from illigal chars (XSS safe)
* @param pass - password
*/
public static void connect(String username,String pass)//Consider changing void to boolean
{
Connection con;
PreparedStatement st;
ResultSet rs;
try {
//Register JDBC driver
Class.forName("com.mysql.jdbc.Driver");//Loading DB Driver
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//Open a connection
// Database credentials
final String USER = "root";
final String PASS = "";
final String DB_URL = "jdbc:mysql://localhost:3306/imf_jsp";
try {
con = DriverManager.getConnection(DB_URL,USER,PASS);
st = con.prepareStatement("SELECT * FROM user WHERE signum = ? AND pass_hash = ?"); //Find user with given username & pass
st.setString(1, username);//Bind param (Should prevent SQL Injection? Not sure but it is working in PHP with PDO)
st.setString(2, pass);//Bind param (Should prevent SQL Injection? Not sure but it is working in PHP with PDO)
st.execute();//statemant execution
System.out.println("In Database?: " + st.toString());//If not then check in LDAP
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
关于java - Servlet 错误 JDBC ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24828020/
我的应用在尝试访问外部依赖项时遇到 NoClassDefFoundError,但仅限于作为 jar 运行时。 使用 Intellij,我有一个带有主类的简单应用程序,其中包含一些对外部依赖项(例如 s
我收到以下异常: java.lang.ClassNotFoundException: org.jboss.resteasy.plugins.server.servlet.ResteasyBootstr
我正在尝试使用eclipse和tomcat调试solr4.6源代码。我收到错误消息:HTTP 状态 500 - {msg=SolrCore 'collection1' 由于初始化失败而不可用:[sch
我是新来的,很抱歉我的英语不好;)。 我尝试使用以下代码在 java 中加载插件 jar: package testprogramm; import java.io.File; import java
我重新安装了 ADT Bundle,因为我在更新 eclipse 后遇到了一些问题。 现在,当我想测试我的应用程序时,出现以下异常: 06-05 10:33:35.770: E/AndroidRunt
我浏览过现有的帖子,这些帖子处理在 Eclipse 中的 Tomcat 下运行 Java Web 应用程序的 ClassNotFoundException。 我无法提供源代码和配置 Artifact
我忙于我的应用一个多星期,突然: 11-12 07:59:17.860 1653-1653/nl.test.myapp E/AndroidRuntime﹕ FATAL EXCEPTION: ma
我的应用程序有问题,昨天一切正常,但今天我更新了 sdk,现在当我尝试运行我的应用程序时,出现这样的错误 05-21 00:14:19.285: W/dalvikvm(7061): Unable t
我正在阅读 JPA docs在 Spring ,我正在尝试重组我的代码。 我现在所拥有的: BrewerRepository @Repository public class BrewerReposi
我想像 BalusC's example 一样实现 fileUpload . 不幸的是,我已经在努力声明 servlet。 Extensions Filter javax.faces
在某些机器上运行这个小程序不起作用,但在其他机器上它工作得很好。在所有情况下看起来都安装了 JRE 1.6.0_26。 var attributes = {codebase:'http://kas
我将跟随这个非常简单的教程(http://www.tutorialspoint.com/hadoop/hadoop_mapreduce.htm)一起学习,直到我尝试运行Java文件为止,一切运行良好。
我看到了帖子,并按照流程进行了操作。但这没有用。 ClassNotFoundException, while running example job of Hadoop 请帮助我。 创建的 mapre
我尝试在cloudera quickstart vm上为hadoop运行Mahout Kmeans示例。我在这里读link to clouudera block和这里stack overflow po
我有一个mapreduce程序,其中我使用Hcatalog从Hive表'A'中获取带有HcatInputFormat的详细信息,对其进行处理,然后使用HcatOutput格式将其写回到Hive表'B'
我是激发应用程序编程的新手,因此在这里为这个基本的编程而苦苦挣扎。 我有 scala ide 并附加了来自最新 hadoop 和 spark 发行版的相关 jar 文件。我正在使用的只有一个基本的 s
我正在尝试在本地模式下运行Spark示例,但是正在获取以下堆栈跟踪: Exception in thread "main" java.lang.NoClassDefFoundError: org/ap
我有以下代码: // Test TODO remove try { System.out.println(System.getProperties().getPrope
我有以下文件: src/my_proj/myns.clj: (ns my-proj.myns) (defrecord MyRecord [a b c]) 测试/my_proj/myns_test.c
我试图让应用程序动态加载某些类,然后调用启动方法,但问题是,由于 ClassLoader 不同,一个类无法调用另一个类的方法,但是正如我已经用 google 搜索的那样,我用父类创建了两个类加载器。这
我是一名优秀的程序员,十分优秀!