(1)我是一个新手,刚学servlet不久,
在编一个管理用户表的的时候,httpservlet在加载不了连接2000数据库驱动:
Class.forName(com.)就这样com.后调不出microsot,只能调出一个*和一个sun,想不到办法了没法连接数据库啊很郁闷。昨天还可以加载的。。
这后,就重装JDK,TOMCAT,JCREATOR一试还是不行,网上找了好久都没找到相应的贴子望高手不闲我的问题低级,先谢过大家。package lcs.usertest;
import java.util.*;
import java.sql.*;
import javax.servlet.http.*;
public class test extends HttpServlet {    public void doGet(HttpServletRequest request,HttpServletResponse response) {
        
        Class.forName(com.)//COM包点后一直不能调出MICROSOFT,只能调出*,SUN这两个
        
    }
    
    
}(2)
这是我先前可以调,用过的程序不过,出错就是从这个程序开始,只要有pw.println("");页面输出的代码就不能,定义的connection,statement,resultset就全部失效。后来把pw.println全部注释掉,connection,statement,resultset就又可以用。有冲突。我反复试了几次后,就变成问题1了,连加载数据库驱动的都不行了.
 *
 *
 * @author 
 * @version 1.00 2011/6/4
 */
package lcs.userenter;
import java.util.*;
import java.sql.*;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.*;public class main extends HttpServlet {    public void doGet(HttpServletRequest req,HttpServletResponse res) {
    
    Connection cn=null;
    Statement sm=null;
    ResultSet rs=null;
    
            
        try{
            //res.setContentType("text/html;charset=gbk");
            //PrintWriter pw=res.getWriter();
                        pw.println("欢迎您登入servlet后台管理:"+req.getParameter("username"));
            //pw.println("<html>");
            //pw.println("<head><title>这是我的SERVLET的用户表显示程序</title></head>");
            //pw.println("<body>");
            //pw.println("<h1>用户管理表</h1><hr/>");
            Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
            cn=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=myweb","sa","");
            
            sm=cn.createStatement();
            
            int pagesize=5;
            int pagenow=1;
            
            int rowcount=0;
            int pagecount=0;
                                
            rs=sm.executeQuery("select count(*) from my_user");
                if (rs.next())
                {
                    rowcount=rs.getInt(1);
                    if (rowcount%pagesize==0)
                    {
                        pagenow=rowcount/pagesize;
                       System.out.println(pagenow);
                     }
                    else
                    {
                        pagenow=rowcount/pagesize+1;
                        System.out.println(pagenow);
                         
                        
                        }
                 }
              
                             rs=sm.executeQuery("select top "+pagesize+" * from my_user where my_id not in (select top "+pagesize*(pagenow-1)+" my_id from my_user)");
           
            
            
            
            pw.println("<table>");
            
            while(rs.next())
            {
            
            //pw.println("<tr>");
            
            //pw.println("<td>"+rs.getInt(1)+"</td>");
            //pw.println("<td>"+rs.getString(2)+"</td>");
            //pw.println("<td>"+rs.getString(3)+"</td>");
            //pw.println("<td>"+rs.getInt(4)+"</td>");
            //pw.println("<td>"+rs.getString(5)+"</td>");
            //pw.println("<td>"+rs.getDate(6)+"</td>");
            //pw.println("<td>"+rs.getString(7)+"</td>");
       
            
            //pw.println("</tr>");
            }
            //pw.println("</table>");
            //pw.println("</body>");
           // pw.println("</hmtl>");            
            
       
           
        }catch(Exception e){
            e.printStackTrace();
        }
    }
    
    public void doPost(HttpServletRequest req,HttpServletResponse res) {
        this.doGet(req,res);
    }
    
}

解决方案 »

  1.   

    关于问题1:开发工具中,如果希望弹出提示,该类必须在build path中。
    也就是说,JDBC驱动的Jar包没有放项目中来。
      

  2.   

    按高手你的做法。问题(1)好了。可在JCREATOR编辑的的时候还是出现方法调不出来,以下是源文件是中午1点做的。我下午5点用JCREATOR打开,还是会出现,request. response. rs.都调不出方法/**
     * @(#)userlist.java
     *
     *
     * @author 
     * @version 1.00 2011/6/6
     */package lcs.userenter;
    import javax.servlet.http.*;
    import java.io.*;
    import java.sql.*;
    public class userlist extends HttpServlet {    public void doGet(HttpServletRequest request,HttpServletResponse response) {        Connection cn=null;
            //Statement sm=null;
            PreparedStatement ps=null;
            ResultSet rs=null;
            
            
            
            
             try
             {
             
             
               Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
               cn=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=myweb","sa","");
                
                           
                
                
                int pagesize=5;
                int pagenow=Integer.parseInt(request.getParameter("pagenow"));
                
                int rowcount=0;
                int pagecount=0;
                            
               
               ps=cn.prepareStatement("select count(*) from my_user");                                    
               rs=ps.executeQuery();
                
                    if (rs.next())
                    {
                        rowcount=rs.getInt(1);
                        if (rowcount%pagesize==0)
                        {
                            pagecount=rowcount/pagesize;
                         
                         }
                        else
                        {
                            pagecount=rowcount/pagesize+1;
                            
                            }
                     }
                  
                     
                ps=cn.prepareStatement("select top "+pagesize+" * from my_user where my_id not in (select top "+pagesize*(pagenow-1)+" my_id from my_user)");
                rs=ps.executeQuery();
                     
                            
           
                
           response.setContentType("text/html;charset=gb2312");
           
            PrintWriter tt=response.getWriter();
            
                    tt.println("<html>");
                    tt.println("<head><title>用户列表显示</title></head>");
                    tt.println("<body>");
                    tt.println("<h1>用户列表显示</h1>欢迎登入后台:"+(String)request.getAttribute("username") +"<hr/>");
                    tt.println("<table border=1>");
                    while (rs.next())
                    {
                        tt.println("<tr>");
                        tt.println("<td>"+rs.getInt(1)+"</td>");
                        tt.println("<td>"+rs.getString(2)+"</td>");
                        tt.println("<td>"+rs.getString(3)+"</td>");
                        tt.println("<td>"+rs.getInt(4)+"</td>");
                        
                        tt.println("<td>"+rs.getString(5)+"</td>");
                        
                        tt.println("<td>"+rs.getString(6)+"</td>");
                        
                        tt.println("<td>"+rs.getString(7)+"</td>");
                        tt.println("</tr>");
                    }
                                    tt.println("<tr>");
                        if(pagenow!=1)
                        {
                                    
                            tt.println("<td><a href=userlist?pagenow=1>首页</a></td>");
                        }
                        
                        tt.println("<td><a href=userlist?pagenow="+(pagenow-1 >0 ? pagenow-1 : pagenow) +">上一页</a></td>");
                    
                        tt.println("<td colspan=3>");
                        
                        for (int i=pagenow;i<=pagecount;i++)
                        {
                            tt.println("<a href=userlist?pagenow="+i+"> ["+i+"] </a>");
                            }
                        
                        tt.println("</td>");
                        
                        tt.println("<td><a href=userlist?pagenow="+(pagenow+1>pagecount ? pagecount : pagecount+1)+">下一页</a></td>");
                      if(pagenow<pagecount)
                                {
                            tt.println("<td><a href=userlist?pagenow="+pagecount+">尾页</a></td>");
                                        }
                        tt.println("</tr>");
                tt.println("</body>");
                    tt.println("</body>");
                    tt.println("</html>");
             }
          catch(Exception e)
          {
                e.printStackTrace();
            }
        finally{
            
            try
            {
            
                if (rs!=null)
                {
                    rs.close();
                    rs=null;
                    }
                            if (ps!=null)
                {
                    ps.close();
                    ps=null;
                    }
                            if (cn!=null)
                {
                    cn.close();
                    cn=null;
                    }
            }
        catch(Exception e){
            e.printStackTrace();
        }
            }
        }
            public void doPost(HttpServletRequest request,HttpServletResponse response) {
            
             this.doGet(request,response);
            }
        
    }
      

  3.   

    抱歉,不太用JCREATOR。
    不过道理是一样的,要想代码自动完成功能正常,必须要先确保所用的类库在项目中。
    response/request对应的类在serlet-api.jar包中。
      

  4.   

    数据库sql server2000需要在windows XP系统中安装sp3或sp4插件
      

  5.   

    最后问题2,出在JCREATOR操作上有问题