我成功地能够连接一个简单的java应用程序,通过声明它适当并将MySQL连接器jar文件导入到项目中打印出所有数据。但是,问题是我想通过Web应用程序(glassfish)连接到MySQL。我已经导入了MySQL连接器jar文件并且正确地声明了它,但我不明白为什么找不到驱动程序。MySQL驱动程序未知的未知问题
下面是我收到的错误:
2016 - 01 - 29T16: 22: 25.873 + 0000 | Info: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java: 1783)
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java: 1633)
at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java: 187)
at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java: 125)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java: 264)
at org.apache.jsp.validate_jsp._jspService(validate_jsp.java: 56)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java: 111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 790)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java: 411)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java: 473)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java: 377)
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 790)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java: 1682)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 318)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 160)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java: 734)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: 673)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java: 99)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 174)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java: 416)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 283)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java: 459)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java: 167)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java: 206)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java: 180)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java: 235)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java: 119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java: 283)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java: 200)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java: 132)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java: 111)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java: 77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java: 536)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java: 112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java: 117)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java: 56)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java: 137)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java: 591)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java: 571)
at java.lang.Thread.run(Thread.java: 745)
Validate.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" >
<% @page import = "java.sql.*" %>
<%
try {
String username = request.getParameter("username");
String password = request.getParameter("password");
String driver = ("com.mysql.jdbc.Driver");
Class.forName(driver); // MySQL database connection
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/ebooking" + "user=user&password=user");
PreparedStatement pst = conn.prepareStatement("Select * from student where stu_username=? and stu_password=?");
pst.setString(1, username);
pst.setString(2, password);
ResultSet rs = pst.executeQuery();
if (rs.next())
out.println("Valid login credentials");
else
out.println("Invalid login credentials");
} catch (Exception e) {
System.out.println(e);
out.println("Something went wrong !! Please try again");
} %>
将你的'mysql-jdbc-connector.jar'放在tomcat的lib文件夹下。 – STaefi
@STaefi我不是usinfg tomcat。我正在使用glassfish。 – user4591082
好的玻璃鱼也有一个lib文件夹。所有类和jar文件都在服务器启动时加载。 'GLASSFISH_HOME_DIR/glassfish/lib' – STaefi