<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=STUDENT";

解决方案 »

  1.   

    去掉   microsoft:    试试
      

  2.   

    还是一样,我在另一个jsp文件中是可以运行的
      

  3.   

    楼主为什么要把连接写在页面里了呢,写一个 datasource的类,给页面一个连接,在页面里写的话!
      

  4.   

    没办法,我是一个菜鸟,楼上说的数据源问题不知是我的tomcat有问题还是设置有问题,弄了很久都还没解决
      

  5.   

    有啊,在一个.jsp中能运行,在另一个却不能
      

  6.   

    fd.jsp:
    <%@ page contentType="text/html; charset=GBK" language="java" import="java.sql.*" errorPage=""%>
    <html>
    <head>
      <meta http-equiv="Content-Type" content="text/html;charset=gb2312">
    <title>
      数据查询
    </title>
    <style type="text/css">
    <!--
    body{
    background-color:#CCCCFF;
    }
    .style1{font-size:24px}
    .style2{color:#CCCCFF}
    -->
    </style>
    </head>
    <body>
    <div align="center" class="style1">
    <p>请输入要查询的课程号</p>
    <form  name="form1" method="POST" action="show.jsp" >
      <input type="text" name="id">
        &nbsp;
        <input type="submit" name="Submit" value="查询">
    </form>
    <p><span class="style2"></span></p>
    </div>
    </body>
    </html>
    show.jsp:
    <%@ page contentType="text/html; charset=GBK" language="java" import="java.sql.*" errorPage=""%>
    <html>
    <head>
    <title>
    show
    </title>
    </head>
    <body >
    <div align="center"><span class="style2">以下是课程的详细信息</span>
    <%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
    String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=STUDENT";
    String user="sa";
    String password="";
    Connection conn=DriverManager.getConnection(url,user,password);
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
    ResultSet.CONCUR_READ_ONLY);
    String id=request.getParameter("Cno");
    String sql="select * from Course where Cno="+id;
    ResultSet rs=stmt.executeQuery(sql);
    %>
    <center class="style1">
    </div>
    <hr>
      <%
     while(rs.next())
     {
     session.setAttribute("Cno",rs.getString("Cno"));
     %>
     <p align="center">课程号:<%=rs.getString("Cno")%></p>
     <p align="center">课程名:<%=rs.getString("Cname")%></p>
     <p align="center">先行课:<%=rs.getString("Cpno")%></p>
     <p align="center">学分:<%=rs.getString("Ccredit")%></p>
     <%
    }
    rs.close();
    stmt.close();
    conn.close();
    %>
    <p align="center"><input type="button" id="back" name="back" value="返回"
      onClick="javascript:history.go(-1)"></p>
    </body>
    </html>
      

  7.   

    搂主  把try catch 加上  看看你那到底是什么错,有点像没有找到包<%@ page contentType="text/html; charset=GBK" language="java" import="java.sql.*" errorPage=""%> 
    <html> 
    <head> 
    <title> 
    show 
    </title> 
    </head> 
    <body > 
    <div align="center"> <span class="style2">以下是课程的详细信息 </span> 
    <%
    try {
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 
    String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=STUDENT"; 
    String user="sa"; 
    String password=""; 
    Connection conn=DriverManager.getConnection(url,user,password); 
    System.out.println("conn:"+conn);
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, 
    ResultSet.CONCUR_READ_ONLY); 
    String id=request.getParameter("Cno"); 
    String sql="select * from Course where Cno="+id;  
    ResultSet rs=stmt.executeQuery(sql);
    System.out.println("rs:"+rs);
    %> 
    <center class="style1"> 
    </div> 
    <hr> 
       <% 
     while(rs.next()) 
     { 
     session.setAttribute("Cno",rs.getString("Cno")); 
     %> 
      <p align="center">课程号: <%=rs.getString("Cno")%> </p> 
      <p align="center">课程名: <%=rs.getString("Cname")%> </p> 
      <p align="center">先行课: <%=rs.getString("Cpno")%> </p> 
      <p align="center">学分: <%=rs.getString("Ccredit")%> </p>   <% 

    rs.close(); 
    stmt.close(); 
    conn.close();
    } catch (Exception e) {
    System.out.println("e:"+e.getMessage());
    }
    %> 
    <p align="center"> <input type="button" id="back" name="back" value="返回" 
      onClick="javascript:history.go(-1)"> </p> 
    </body> 
    </html> 
      

  8.   

    exception :
    javax.servlet.ServletException: com.microsoft.jdbc.sqlserver.SQLServerDriver
     org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
     org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
     org.apache.jsp.show_jsp._jspService(show_jsp.java:121)
     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
     javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
     javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    jdbc配置应该没有问题,我做数据遍历时能连接上,连接的代码都是一样的
      

  9.   

    这是驱动加载错误,如果连接数据库这段代码在类文件里测试成功的话,那么很有可能是你的JSP里没导入SQL驱动,而且还有一个关键的是,工程目录不能放在含中文名的目录下,因为在加载驱动时,JSP识别不了,也会报这个异常```
      

  10.   

    终于解决了,原来是我的tomcat有问题,换了一个就行了,感谢各位