HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspTagException: In <driver>, invalid driver class name: "java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver"
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause javax.servlet.ServletException: javax.servlet.jsp.JspTagException: In <driver>, invalid driver class name: "java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver"
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:846)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.vote_jsp._jspService(vote_jsp.java:181)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:247)
org.apache.taglibs.standard.tag.common.sql.DataSourceWrapper.setDriverClassName(Unknown Source)
org.apache.taglibs.standard.tag.common.sql.SetDataSourceTagSupport.doStartTag(Unknown Source)
org.apache.jsp.vote_jsp._jspx_meth_sql_005fsetDataSource_005f0(vote_jsp.java:208)
org.apache.jsp.vote_jsp._jspService(vote_jsp.java:81)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs.
include.inc:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
<%@ page contentType="text/html; charset=gb2312" language="java"%><sql:setDataSource
var="vote"
driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://127..0.0.1:1433;DatabaseName=jspdev"
user="bn"
password="bn"
scope="page"
/>vote.jsp:
<%@ include file="include.inc"%>
<%@ page contentType="text/html; charset=gb2312" language="java"%>
<c:set var="all" value="SELECT 曹操+孙权+刘备+诸葛亮+未确定 as a FROM vote"/>
<c:set var="vote1" value="SELECT 曹操 as c FROM vote"/>
<c:set var="vote2" value="SELECT 孙权 as c FROM vote"/>
<c:set var="vote3" value="SELECT 刘备 as c FROM vote"/>
<c:set var="vote4" value="SELECT 诸葛亮 as c FROM vote"/>
<c:set var="vote5" value="SELECT 未确定 as c FROM vote"/><sql:query sql="${all}" var="queryall" dataSource="${vote}"/>
<c:forEach var="row" items="${queryall.rows}">
<c:set var="allcount" scope="page" value="${row.a}"/>
</c:forEach>
<html>
<head>
<title>表达式语言综合举例</title></head>
<body bgcolor="#FFFFFF">
<center>
三国中,你最喜欢的人物是:
<table width="75%" border="1">
<tr align="center">
<td width="17%" align="center">候选人</td>
<td width="83%" align="center">得票率</td>
<tr>
<sql:query var="query" dataSource="${vote}">SELECT 曹操 as c FROM vote
</sql:query>
<td><a href="vote_do.jsp?id=曹操">曹操</a></td>
<c:forEach var="row" items="${query.rows}">
<td><img src="images/100.gif" height="16" width="${200*row.c/allcount}" align="texttop">
(${row.c}/${allcount})
</c:forEach>
</td></tr>
<tr>
<sql:query var="query" dataSource="${vote}">SELECT 诸葛亮  as c FROM vote
</sql:query>
<td><a herf="vote_do.jsp?=诸葛亮">诸葛亮</a></td>
<c:forEach var="row" items="${query.rows}">
<td><img src="images/100.gif" height="16" width="$200*row/c.allcount}" align="texttop">
(${row.c}/${allcount})
</c:forEach>
</td></tr>
<tr>
<sql:query var="query" dataSource="${vote}">SELECT 刘备  as c FROM vote
</sql:query>
<td><a herf="vote_do.jsp?=刘备">刘备</a></td>
<c:forEach var="row" items="${query.rows}">
<td><img src="images/100.gif" height="16" width="$200*row/c.allcount}" align="texttop">
(${row.c}/${allcount})
</c:forEach>
</td></tr>
<tr>
<sql:query var="query" dataSource="${vote}">SELECT 孙权 as c FROM vote
</sql:query>
<td><a herf="vote_do.jsp?=孙权">孙权</a></td>
<c:forEach var="row" items="${query.rows}">
<td><img src="images/100.gif" height="16" width="$200*row/c.allcount}" align="texttop">
(${row.c}/${allcount})
</c:forEach>
</td></tr>
<tr>
<sql:query var="query" dataSource="${vote}">SELECT 未确定 as c FROM vote
</sql:query>
<td><a herf="vote_do.jsp?=未确定">未确定</a></td>
<c:forEach var="row" items="${query.rows}">
<td><img src="images/100.gif" height="16" width="$200*row/c.allcount}" align="texttop">
(${row.c}/${allcount})
</c:forEach>
</td></tr>
</table>
<a href="vote_rec.jsp">查看投票人信息</a>
</center></body></html>

解决方案 »

  1.   

    java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver没正确引入 SQLServer 的jar包
      

  2.   

    "java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver"
    改成:com.microsoft.sqlserver.jdbc.SQLServerDriver
      

  3.   

    看到2楼突然想起另一个事情:在SQL Server 2000 中加载驱动和URL路径的语句是
    String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sample";而SQL Server 2005 中加载驱动和url的语句则为
    String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
    String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";可以看出版本不同连接方法也是不同的。SQL Server有许多不同版本,看你用的是哪个了。
      

  4.   

    java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver 没有加入数据库驱动包
      

  5.   

    没有sqlserver的驱动包导入到所在工程的classpath里。
      

  6.   

    可能是两个方面的问题:
    1,是你的驱动包没有引入
    2,你引入了驱动包。可能是类写错了。像楼上所说的。com.microsoft.jdbc.sqlserver.SQLServerDriver换成:com.microsoft.sqlserver.jdbc.SQLServerDriver你也可以试一下,直接用类这样:
    new com.microsoft.sqlserver.jdbc.SQLServerDriver();看会不会报错。如果不会,那说明就对了。
      

  7.   

    HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage 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 /vote.jsp at line 107: <c:set var="vote4" value="SELECT 诸葛亮 as c FROM vote"/>
    8: <c:set var="vote5" value="SELECT 未确定 as c FROM vote"/>
    9: 
    10: <sql:query sql="${all}" var="queryall" dataSource="${vote}"/>
    11: <c:forEach var="row" items="${queryall.rows}">
    12: <c:set var="allcount" scope="page" value="${row.a}"/>
    13: </c:forEach>
    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    root cause javax.servlet.ServletException: javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid: "java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev"
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
    org.apache.jsp.vote_jsp._jspService(vote_jsp.java:181)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    root cause javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid: "java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev"
    org.apache.taglibs.standard.tag.common.sql.QueryTagSupport.getConnection(Unknown Source)
    org.apache.taglibs.standard.tag.common.sql.QueryTagSupport.doStartTag(Unknown Source)
    org.apache.jsp.vote_jsp._jspx_meth_sql_005fquery_005f0(vote_jsp.java:359)
    org.apache.jsp.vote_jsp._jspService(vote_jsp.java:111)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs.现在提示这样是不是连接不到数据库呢,请高手指点,谢谢
      

  8.   

    驱动包不兼容,换成和你对应数据库版本的对就JAR包。
      

  9.   

    可能性有2
    1.少数据库连接驱动jar包
    2.少SQL Server的sp3的补丁,此补丁的下载地址是http://www.cnd8.com/soft/3532.htm. sp4的补丁地址是