当前位置: 代码迷 >> Java Web开发 >> 透过JDBC访问Sql Server 2008总提示Class.forName出错,请各位大侠解教
  详细解决方案

透过JDBC访问Sql Server 2008总提示Class.forName出错,请各位大侠解教

热度:55   发布时间:2016-04-16 22:05:44.0
通过JDBC访问Sql Server 2008总提示Class.forName出错,请各位大侠解教。
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="gbk"%>
<%@ page import="java.sql.*" %>
<!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=UTF-8">
<title>通过JDBC驱动访问SQL Server 2008</title>
</head>
<body>
<center>
<h2>使用JDBC驱动访问SQL Server 2008数据库</h2>
<hr>
<table border="2" bgcolor="ccceee" align="center">
<tr>
<th>学生ID</th>
<th>学生姓名</th>
<th>成绩</th>
<th>班级</th>
</tr>
<%
//注册SQL Server 2008驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//SQL Server 2008的URL
String url="jdbc:sqlserver://localhost:1433;databasename=Student";
String user="sa";
String password="";
Connection conn=DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement();
String sql="select * from score  where Sscore>100";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
%>
<tr>
<td><%=rs.getString("Sid") %></td>
<td><%=rs.getString("Sname") %></td>
<td><%=rs.getString("Sscore") %></td>
<td><%=rs.getString("Sclass") %></td>
</tr>
<%
}
conn.close();
stmt.close();
rs.close();
%>
</table>
</center>
</body>
</html>


tomcat错误提示是:
HTTP Status 500 - An exception occurred processing JSP page /6-6.jsp at line 23


type Exception report

message An exception occurred processing JSP page /6-6.jsp at line 23

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 /6-6.jsp at line 23

20:  </tr>
21:  <%
22:  //注册SQL Server 2008驱动
23:  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
24:  //SQL Server 2008的URL
25:  String url="jdbc:sqlserver://localhost:1433;databasename=student";
26:  String user="sa";


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:405)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:349)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

 root cause
javax.servlet.ServletExceptionjava.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:905)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:834)
org.apache.jsp._6_002d6_jsp._jspService(_6_002d6_jsp.java:134)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:405)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:349)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

 root cause
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1324)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1177)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:125)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:62)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:190)
org.apache.jsp._6_002d6_jsp._jspService(_6_002d6_jsp.java:85)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:405)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:349)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

 note The full stack trace of the root cause is available in the Apache Tomcat/8.0.9 logs.

--------------------------------------------------------------------------------
  相关解决方案