java.sql.SQLException: Already closed.
at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:84)
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
at org.apache.commons.dbutils.DbUtils.close(DbUtils.java:60)
at org.apache.commons.dbutils.AbstractQueryRunner.close(AbstractQueryRunner.java:438)
at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:359)
at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:307)
at com.iiover.dao.Dao.showOther(Dao.java:79)
at com.iiover.service.Service.otherShow(Service.java:49)
at com.iiover.web.otherList.doGet(otherList.java:26)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)DBCP类:
import java.sql.Connection;
import java.sql.SQLException;
import java.util.UUID;import javax.sql.DataSource;import org.apache.commons.dbcp.BasicDataSource;public class Untils { private static DataSource dataSource = null;
private static String dirverName = "com.mysql.jdbc.Driver"; private static String url = "jdbc:mysql://localhost:3306/help?useUnicode=true&characterEncoding=utf-8"; private static String username = "root";
private static String password = "000000";
public static String uuid(){
return UUID.randomUUID().toString();
}
private static DataSource getDatasourceImp() {
BasicDataSource basicDataSource = new BasicDataSource();
basicDataSource.setDriverClassName(dirverName);
basicDataSource.setUrl(url);
basicDataSource.setUsername(username);
basicDataSource.setPassword(password);
basicDataSource.setMaxActive(8);
basicDataSource.setMinIdle(2);
basicDataSource.setInitialSize(5);
return basicDataSource; }
public static DataSource getDataSource(){
if(dataSource==null){
return getDatasourceImp();
}else{
return dataSource;
}
}
public static Connection getConnectin() throws SQLException{
if(dataSource==null){
dataSource=getDatasourceImp();
return dataSource.getConnection();
}else{
return dataSource.getConnection();
}
}
}
前端页面访问Web层
<a href="otherList"><span
class="glyphicon glyphicon-paperclip">其他问题类目</span>
</a>
web层
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
List<Other> list = service.otherShow();
request.setAttribute("list", list);
request.getRequestDispatcher("otherList.jsp").forward(request, response);
}
service层
public List<Other> otherShow() {
// TODO Auto-generated method stub
return dao.showOther();
}
dao层
public List<Other> showOther() {
String sql = "select * from other ORDER BY o_id DESC";
try {
return qr.query(sql, new BeanListHandler<Other>(Other.class));
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
这个问题怎么处理呢,请大牛们给小弟看一下,谢谢了
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货