MyException - 我的异常网
当前位置:我的异常网» Java Web开发 » jsp显示太慢,请高手帮忙,经理黑上小弟我了;如果l

jsp显示太慢,请高手帮忙,经理黑上小弟我了;如果list有100条数据的话,页面会死了,如何解决!(2)

www.MyException.Cn  网友分享于:2013-01-20  浏览:18次

  <td>
  <input type="text" id="bz" name="beizhu" size="8" value="${yhdmx.BZ}">
  </td>
  <td> <input type="button" class="td_button" name="zengjia" value="增加" 
onclick="insertrow()">
<input type="button" class="td_button" name="shanchu" value="删除"
onclick="deleteRow(getIndex())">
</td>
  </tr> 
  </c:forEach>
  </c:if>

------解决方案--------------------
System.out.println(sql);
dbc=new DBconnection();
List list = new ArrayList(); 
-------------------------------
1,这段代码有问题,dbc 的声明在哪里?严禁把 Connection, PreparedStatement, ResultSet 等数据库连接对象设成成员变量。

2,DBconnection 中的实现也不知道是怎么样的,建议采用 c3p0 连接直接获得 Connection,再一个一个地老老实实地关闭,如下:

Java code
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;

import org.apache.log4j.Logger;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class ConnectionManager {
    
    private final static Logger LOG = Logger.getLogger(ConnectionManager.class);
    
    private static ComboPooledDataSource ds = new ComboPooledDataSource();
    
    private ConnectionManager() {
        
    }
    
    static {
        try {
            if(LOG.isDebugEnabled()) {
                LOG.debug("正在初始化数据连接池");
            }
            Config config = Config.getInstance();
            ds.setDriverClass(config.getJdbcDriver());
            ds.setJdbcUrl(config.getJdbcUrl());
            ds.setUser(config.getDatabaseUsername());
            ds.setPassword(config.getDatabasePassword());
            ds.setMaxPoolSize(config.getDatabasePoolMaxSize());
            ds.setMinPoolSize(config.getDatabasePoolMinSize());
            if(LOG.isDebugEnabled()) {
                LOG.debug("数据连接池初始化完成" +
                        ", 最大可用连接数:" +ds.getMaxPoolSize() + 
                        ", 最小连接数:" + ds.getMinPoolSize());
            }
        } catch (PropertyVetoException e) {
            LOG.error("连接池初始化失败,原因:" + e.getMessage());
            e.printStackTrace();
        }
    }
    
    public static Connection getConnection() throws SQLException {
        return ds.getConnection();
    }
}

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有