小姑娘第一次发布jsp程序,速度为什么那么慢呀,连接数据库是的主要语句是
String sDBDriver = "net.sourceforge.jtds.jdbc.Driver";
String url ="jdbc:jtds:sqlserver://61.152.169.52:1433/DB_tianxiaj";public sql_data() {
        try {
           Class.forName(sDBDriver);
        } catch (java.lang.ClassNotFoundException e) {
            System.err.println("sql_data(): " + e.getMessage());
        }
    }  public ResultSet executeQuery(String sql){
            rs=null;
            try
              {
                      conn=DriverManager.getConnection(url,user,password);
                      stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
                      rs=stmt.executeQuery(sql);
               }
            catch(SQLException ex)
               {
                       System.out.println("sql_data.executeQuery:"+ex.getMessage());
               }
             return rs;
    }如果把ip地址61.152.169.52改为localhost就快了,可这样好像是web服务器和数据库服务器在同一台电脑上才可以呀,如果用61.152.169.52连接速度太慢了,究竟是什么原因呀?

解决方案 »

  1.   

    java,Struts,Hibernate,Spring技术论坛群一号群:9967568,如人满请加二号群:4705749。真诚欢迎各位朋友来学习探讨
      

  2.   

    把conn=DriverManager.getConnection(url,user,password);
    这句话不要写在  executeQuery 方法里就行了,因为每次要执行executeQuery
    方法都有去链接数据库,这样就很耗资源了。
      

  3.   

    用61.152.169.52连接速度太慢了是因为你这样访问需要连internet,解析了路由后才又连回自己电脑 ,就像你坐飞机去美国然后又飞回家一样,当然没有直接到家快web服务器和数据库服务器,在应用时通常是在同一台服务器或者局域网的几个服务器上分布,在通讯上时间很短的要模拟远程调用的话,可以用0.0.0.1,127.0.0.1,192.168.0.1,169.254.x.x这样的局域网ip地址windows平台下可在cmd命令行模式下运行ipconfig得到自己的ip地址
    或者从连接的tcp/ip中查看
      

  4.   

    public sql_data() {
            try {
               Class.forName(sDBDriver);
            } catch (java.lang.ClassNotFoundException e) {
                System.err.println("sql_data(): " + e.getMessage());
            }
        }
            try{
            conn=DriverManager.getConnection(url,user,password);
              }
             catch(Exception e)
             {
                  e.printStackTrace();
             }       public ResultSet executeQuery(String sql){
                rs=null;
                try
                  {
                          //conn=DriverManager.getConnection(url,user,password);
                          stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
                          rs=stmt.executeQuery(sql);
                   }
                catch(SQLException ex)
                   {
                           System.out.println("sql_data.executeQuery:"+ex.getMessage());
                   }
                 return rs;
        }
      

  5.   

    刚才看漏了一个括号public sql_data() {
            try {
               Class.forName(sDBDriver);
            } catch (java.lang.ClassNotFoundException e) {
                System.err.println("sql_data(): " + e.getMessage());
            }
        
            try{
            conn=DriverManager.getConnection(url,user,password);
              }
             catch(Exception e)
             {
                  e.printStackTrace();
             }     
              }  public ResultSet executeQuery(String sql){
                rs=null;
                try
                  {
                          //conn=DriverManager.getConnection(url,user,password);
                          stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
                          rs=stmt.executeQuery(sql);
                   }
                catch(SQLException ex)
                   {
                           System.out.println("sql_data.executeQuery:"+ex.getMessage());
                   }
                 return rs;
        }
      

  6.   

    todiannaomingong(电脑民工) 
    我不用61.152.169.52连接数据库那么应该怎么连接数据库呀,人家告诉我数据库的ip地址是61.152.169.52呀,谢谢了!!!你们怎么做的呀???难道是localhost吗???
      

  7.   

    如果WEB和DBA是同一台机子,最好直接用localhost或者127.0.0.1,不同的话就只能用IP了
      

  8.   

    个人作品,欢迎下载Hibernate固强,然用之稍烦.近常思于此而略有心得,故作此小东东以简化之.限予之技而难逃龌龊之举,望各大虾批评指正此套件虽然小,但是可以帮助你在实际项目中提高Hibernate的使用速度
    下载地址为<a href="http://www.cd-accp.net/web/hbdao.rar">http://www.cd-accp.net/web/hbdao.rar</a>此套件主要用于帮助开发人员在Hibernate环境下开发数据访问层
    为了使用此套件,你必须具备JDK1.5(或更高),并且设置你的编译器以支持5.0代码语法
    此套件提供以下功能 1.多Hibernate配置文件的支持
    2.可嵌套虚拟事务模型的支持
    3.事务边界拓展功能的支持
    4.事务隔离级别拓展功能的支持
    5.数据访问类事务处理自动注入的支持愿我的工作能减轻你的负担, 有问题可以反馈至[email protected], 祝使用愉快!
    (接下来的时间里,我将仔细研究.NET的System.Reflect.Emit名字空间以推出NHibernate版本)CSP提示
    自本年2月开始,本人开始利用非常宝贵的下班后的休息时间, 开发一套Java Web框架(CSP);目前取得阶段性成果, 不久的将来便可和大家碰面这套Java Web架构提供如下功能 1.服务端的非常像ASP.NET,提供基于视图控件的属性/事件编程模型
    2.服务端效防ASP.NET的__VIEWSTATE技术,实现页面的有状态化
    3.服务端效防ASP.NET1.1中的模板和数据绑顶功能,以及ASP.NET2.0中的母板功能
    4.服务端前台代码使用严格遵循Schema验证的XML书写,Schema验证结构可扩展.支持解析结果的缓冲和热加载功能
    5.客户端完全使用Ajax技术实现,所有的UI元素由Javascript动态生成
    6.客户端支持__VIEWSTATE隐藏字段信息的拆分和合并,在局部提交的情况下仍然配合全程的服务端工作
    7.客户端支持JavaScript文件的按需延迟下载,以达到下载的最小化如果不出意外.不久后此框架会发行面世,届时望四方朋友捧场如果有问题可以反馈到我的信箱[email protected], 谢谢你对本文挡的阅读
    陈涛,2006-10-17日于北大青鸟(成都名流)
      

  9.   

    我看是因为网络问题,如果是本机就用localhost或者127.0.0.1,如果是同在一个局域网就用局域网内的地址,你使用的是外网地址,数据包要经过好几次转发,当然慢了。