程序代码如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.lang.*,java.io.*,java.sql.*,java.util.*"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
 String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=infosite";
 String user="sa";
 string password="sa";
 Connection conn=null;
 conn=DriverManager.getConnection(url,user,passwod);
 Statement stmt=conn.createStatement();
 String sql="Select * from news";
 ResultSet rs=stmt.executQuery(sql);
 while(rs.next()) {%>
 您的第一个字段内容为:<%=rs.getString(1)%>
 您的第二个字段内容为:<%=rs.getString(2)%>
 <%}%>
 <%out.print("数据库操作成功,恭喜你");%>
 <%rs.close();
 stmt.close();
 conn.close();%>
 </body></html>
错误提示如下: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: Unable to compile class for JSPAn error occurred at line: 5 in the jsp file: /conn1.jsp
Generated servlet error:
string cannot be resolved to a typeAn error occurred at line: 5 in the jsp file: /conn1.jsp
Generated servlet error:
passwod cannot be resolvedAn error occurred at line: 5 in the jsp file: /conn1.jsp
Generated servlet error:
The method executQuery(String) is undefined for the type Statement
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:409)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.12 logs.

解决方案 »

  1.   

    你好像没处理异常啊,再说是这种业务逻辑最好不要放到jsp处理。
      

  2.   

    stmt.executQuery(sql)改为:stmt.executeQuery(sql)
      

  3.   

    是不是你没有把安装驱动呀
    就是JDBC
    你得在你的JB里导进来
      

  4.   

    string password="sa";
     Connection conn=null;
     conn=DriverManager.getConnection(url,user,passwod);
    ------------------------------
    你前后2次password写错了,改对就好了
      

  5.   

    ResultSet rs=stmt.executQuery(sql);
    ------------
    这个也写错了
      

  6.   

    首先,正如前面大哥说的
    对后台的操作一般不放在前台页面进行处理,代码看起来太乱了。
    其次,就是没有对异常的处理!ResultSet rs=stmt.executQuery(sql);
    好像对着呢吧粗无应该就是  password != passwod  吧
    楼主仔细检查
    conn=DriverManager.getConnection(url,user,passwod);
    这句话
      

  7.   

    ResultSet rs=stmt.executQuery(sql);
    写错了,应该是ResultSet rs=stmt.executeQuery(sql);少写了一个e
      

  8.   

    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.sql.*"%>
    <html>
    <body>
    <%
        String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=infosite";
        String user="sa";
        String password="wsfljm11";
        Connection conn=null;
        Statement stmt=null;
        ResultSet rs=null;
        String sql=null;
        try{
            Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
            conn=DriverManager.getConnection(url,user,password);
            stmt=conn.createStatement();
            sql="Select * from news";
            rs=stmt.executeQuery(sql);
            while(rs.next()) 
               {
    %>
                 您的第一个字段内容为:<%=rs.getString(1)%>
                 您的第二个字段内容为:<%=rs.getString(2)%>
    <%
                }
                 out.print("数据库操作成功,恭喜你");
            }
        catch(Exception e)
            {
             out.println("Exception:"+e);
            }
             rs.close();
             stmt.close();
             conn.close();
     %>
     </body>
    </html>
      

  9.   

    先确定你用的是什么操作系统,如果是xp的话就无法实现用com.microsoft.jdbc.sqlserver.SQLServerDriver这个驱动连接数据库,这是为什么我也不知道,2000的系统可以,如果你是2000的系统话,确定加载了Msbase.jar ,Msutil.jar ,Mssqlserver.jar这三个库文件,不懂的话网上去搜,这里我不多讲。
    String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=infosite";
    infosite是你数据库的名字,要核对清楚String user="sa";
     string password="sa";数据库的帐号和密码,这些都没问题了应该就ok了
    2000系统下,可以将Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
     String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=infosite";
    这两句换成
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
    String url = "jdbc:odbc:infosite";并且要设置数据源
    不知道这样讲你明白了没有,要是不清楚可以加我(qq:81357848)我帮你解答
      

  10.   


      谢谢各位老大尤其是:wsk_228(qing_feng)和小猪,谢谢你们的细心教导!