为什么我在 Class.forName("com.mysql.jdbc.Driver"); 的异常中找不到类 [英] Why I am getting class not found exception for Class.forName("com.mysql.jdbc.Driver");

查看:40
本文介绍了为什么我在 Class.forName("com.mysql.jdbc.Driver"); 的异常中找不到类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个 Web 应用程序,使用:eclipse IDE(Marse)、Java 8、Apache tomcat 8、MySQL.我的用户注册代码如下:

I am developing an web app Using : eclipse IDE(Marse), Java 8, Apache tomcat 8, MySQL. My code for user registration is as follows:

System.out.println("Connecting....");
            Class.forName("com.mysql.jdbc.Driver");
            System.out.println("Class found....");
            String url="jdbc:mysql://localhost:3306/db";
            String user="root";
            String password="root";
            System.out.println("success");
            Connection conn = DriverManager.getConnection(url,user,password);
            String query = "insert into login (username,password,emailid,country,city) values (?,?,?,?,?)";
            PreparedStatement ps = conn.prepareStatement(query);
            ps.setString(1,b.getUsername());
            ps.setString(2,b.getPassword());
            ps.setString(3,b.getEmailid());
            ps.setString(4,b.getCountry());
            ps.setString(5,b.getCity());
            int count=ps.executeUpdate();
            ps.close();
            conn.close();

我的代码也是正确的,而且我在 Eclipse 中使用 Build path>add_external_jar 选项添加了 mysql-connector-java-5.1.36.但是为什么它给了我这样的例外?

My code is also correct and also I added mysql-connector-java-5.1.36 by using Build path>add_external_jar option in eclipse. But still why it gives me such a exception ?

正在连接....java.lang.ClassNotFoundException: com.mysql.jdbc.Driver在 org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1332)在 org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1166)在 java.lang.Class.forName0(Native Method)在 java.lang.Class.forName(Unknown Source)在model.InfoModel.SaveInfo(InfoModel.java:14)在 controller.Register_user.doGet(Register_user.java:35)在 javax.servlet.http.HttpServlet.service(HttpServlet.java:622)在 javax.servlet.http.HttpServlet.service(HttpServlet.java:729)在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)在 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)在 org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)在 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1526)在 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1482)在 java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源)在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源)在 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)在 java.lang.Thread.run(Unknown Source)

Connecting.... java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1332) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1166) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at model.InfoModel.SaveInfo(InfoModel.java:14) at controller.Register_user.doGet(Register_user.java:35) at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1526) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1482) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source)

推荐答案

右键单击项目,转到 Properties.从左侧窗格中选择 Deployment Assembly(如果未找到,请阅读更新部分).检查是否提供了 Java Build Path Entries.如果没有,请单击 Add 并包含它.如果它已经存在,请单击 Add 以将您的连接器 jar 包含为 Archive.做一个Project>Clean,重启你的服务器.

Right click on the Project, go to Properties. Choose Deployment Assembly (if not found, read the update part) from the left pane. Check if Java Build Path Entries are provided. If not, click on Add and include it. If it is already present, click Add to include your connector jar as Archive. Do a Project>Clean, restart your Server.

如果项目没有被分面,你将找不到这个选项.您可以点击Project Facets,转换为分面结构并添加Dynamic Web Module和相关依赖项.

If the Project is not being Faceted, you will not find this option. You can click on Project Facets, convert to faceted structure and add Dynamic Web Module and related dependencies.

Web 部署程序集问题.这个答案在大多数情况下都有帮助.

Web Deployment Assembly Problem. This answer is helpful in most cases.

这篇关于为什么我在 Class.forName("com.mysql.jdbc.Driver"); 的异常中找不到类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆