Работаю в Eclipse с динамическим веб-проектом на Tomcat. Написал класс для работы с mysql базой Код | package pmysql; import java.sql.*;
public class CMySQLConnect { private static String driver = "com.mysql.jdbc.Driver"; private String url; private String dbname; private String login; private String pass; private Connection connect; private Statement state; public CMySQLConnect(String url,String dbname,String login,String pass) { this.url = url; this.dbname = dbname; this.login = login; this.pass = pass; connect = null; } public String GetURL() { return url; } public String GetDBName() { return dbname; } public String GetLogin() { return login; } public String GetPassword() { return pass; } public void SetURL(String url) { if(!IsConnect()) this.url = url; } public void SetDBName(String dbname) { if(!IsConnect()) this.dbname = dbname; } public void SetLogin(String login) { if(!IsConnect()) this.login = login; } public void SetPassword(String pass) { if(!IsConnect()) this.pass = pass; } public Statement GetStatement() { if(!IsConnect()) return null; return state; } public boolean IsConnect() { return (connect != null); } public boolean ConnectDB() { if(IsConnect()) return false; try { Class.forName(driver).newInstance(); connect = DriverManager.getConnection("jdbc:mysql://"+url+"/"+dbname, login, pass); state = connect.createStatement(); return true; } catch(Exception e) { e.printStackTrace(); connect = null; return false; } } public boolean DisconnectDB() { if(!IsConnect()) return false; try { connect.close(); connect = null; return true; } catch(Exception e) { e.printStackTrace(); return false; } }
protected void finalize() { if(IsConnect()) DisconnectDB(); } public static void main(String[] args) { CMySQLConnect mysql = new CMySQLConnect("localhost","mesdb","root",""); if(mysql.ConnectDB()) System.out.println("GOOD connection"); else System.out.println("BAD connection"); mysql.DisconnectDB(); } }
|
Запускаю его все работает нормально , на консоль пишет Good connection . Создаю страницу JSP, подключаю к ней этот класс : Код | <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ page language="java" import="pmysql.CMySQLConnect" %> <!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> Outlook Web project </title> </head> <body>
<% CMySQLConnect mysqlcon = new CMySQLConnect("localhost","mesdb","root",""); mysqlcon.ConnectDB(); %>
<table border="1" cellpadding="5" cellspacing="0"> <tr> <td><b>Connection</b></td> <td><%= mysqlcon.IsConnect() %></td> </tr> <tr> <td><b>URL</b></td> <td><%= mysqlcon.GetURL() %></td> </tr> <tr> <td><b>DB Name</b></td> <td><%= mysqlcon.GetDBName() %></td> </tr> <tr> <td><b>Login</b></td> <td><%= mysqlcon.GetLogin() %></td> </tr> <tr> <td><b>Password</b></td> <td><%= mysqlcon.GetPassword() %></td> </tr> </table>
</body> </html>
|
Запускаю и тут мне в консоль выдает такое чудо : Код | java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at pmysql.CMySQLConnect.ConnectDB(CMySQLConnect.java:77) at org.apache.jsp.index_jsp._jspService(index_jsp.java:79) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:851) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:278) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
|
|