2012-04-09 5 views
0

안녕하세요 저는 JSP로 & 안녕하세요, mysql db에서 일부 데이터를 표시하려고했습니다. JDK1.7, MySQL Server 5.5, mysql-connector-java-5.1.19-bin.jar을 tomcat 7 서버의 커넥터로 설치했습니다. 내가 % CATALINA_HOME %의의 웹 어플리케이션에서 파일을 만든/ROOT/WS/ 폴더, 즉 코드JSP로 tomcat7에서 mysql 데이터베이스에 연결할 수 없습니다

<%@ page import="java.sql.*" %> 
<% 
String connectionURL = "jdbc:mysql://localhost:test?user=root;password=sumant"; 
Connection connection = null; 
Statement statement = null; 
ResultSet rs = null; 
%> 


<html><body> 


<% 
Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
connection = DriverManager.getConnection(connectionURL, "", ""); 
statement = connection.createStatement(); 
rs = statement.executeQuery("SELECT name FROM store"); 

while (rs.next()) { 
out.println(rs.getString("name")+"<br>"); 
} 

rs.close(); 
%> 


</body></html> 

와 호출 URL을 index.jsp를 : 통해 http : // localhost : 8080/WS/색인 내가 지금 여기에 무엇이 잘못되었는지를 받고 있지 않다

HTTP Status 500 - 

type Exception report 

message 

description The server encountered an internal error() that prevented it from fulfilling this request. 

exception 

org.apache.jasper.JasperException: An exception occurred processing JSP page /ws/index.jsp at line 14 

11: 
12: 
13: <% 
14: Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
15: connection = DriverManager.getConnection(connectionURL, "", ""); 
16: statement = connection.createStatement(); 
17: rs = statement.executeQuery("SELECT name FROM store"); 


Stacktrace: 
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:567) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:456) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 

root cause 

javax.servlet.ServletException: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver 
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:911) 
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:840) 
    org.apache.jsp.ws.index_jsp._jspService(index_jsp.java:98) 
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 

root cause 

java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678) 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523) 
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:126) 
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:63) 
    java.lang.Class.forName0(Native Method) 
    java.lang.Class.forName(Unknown Source) 
    org.apache.jsp.ws.index_jsp._jspService(index_jsp.java:78) 
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 

을 얻고있다을 .JSP. 제발 MySQL 데이터베이스에 연결하는 데 도움이됩니다. 감사합니다. .

답변

1

mysql_connector/j 드라이버 jar 파일을 클래스 경로에 넣습니다. 다음 오히려 org.gjt.mm.mysql.Driver보다는 (그래서 JDBC 드라이버라고도 함) com.mysql.jdbc.Driver 클래스를 사용하여 3306

String connectionURL = "jdbc:mysql://localhost:3306/test?user=root;password=sumant"; 
+1

여전히 작동하지 않습니다. http://dev.mysql.com/downloads/connector/j/에서 커넥터를 다운로드했으며 Driver.class는 jar 파일의 org \ gjt \ mm \ mysql 디렉토리 안에 있습니다. – Sumant

+0

왜 그 디렉토리에 넣으려고합니까? lib에 넣으십시오. – mykey

2

연결되는 MySQL의 포트가 있어야

Class.forName("com.mysql.jdbc.Driver"); 

도 연결 URL을 사용하여 연결합니다. 클래스를 사용하려면 타사 API를 클래스 경로에 추가해야합니다. 그래서이 JAR 파일은 Tomcat에서 볼 수 있어야합니다. 따라서 mysql-connector-java-5.1.19-bin.jar/WEB-INF/lib 디렉토리에 두십시오 (ws).

jar가 물리적 위치에 있지 않은 경우 초기에 나는 ClassNotFoundException을 경험했습니다. 그런 다음 Tomcat을 다시 시작해야합니다.

관련 문제