Servlet:
package com.web;import java.io.IOException;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.dao.DJ_FPDAO;
import com.model.DJ_FP;public class DJ_FPServlet extends HttpServlet {
/**
 * 
 */
private static final long serialVersionUID = -5450133331101478105L; @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String FPHM = request.getParameter("fpNumB");
String LRR_DM= request.getParameter("lrr");
String LRRQ = request.getParameter("datey");
String LQR_DM = request.getParameter("lry");
String LQRQ = request.getParameter("datey1");
DJ_FP FP = new DJ_FP();
FP.setFPHM(FPHM);
FP.setLQR_DM(LQR_DM);
FP.setLQRQ(LQRQ);
FP.setLRR_DM(LRR_DM);
FP.setLRRQ(LRRQ);
DJ_FPDAO FPDAO = new DJ_FPDAO();
FPDAO.saveDJ_FP(FP);
request.getRequestDispatcher("fplrxx.jsp").forward(request, response);
return;
}
}
DAO :
package com.dao;import java.sql.SQLException;import org.apache.commons.dbutils.QueryRunner;
import com.model.DJ_FP;public class DJ_FPDAO {
/**
 * 添加
 * @param FP
 */
public void saveDJ_FP(DJ_FP FP){
String sql="INSERT INTO DJ_FP(FPHM,LRR_DM,LRRQ,LQR_DM,LQRQ) VALUES(?,?,?,?,?)";
QueryRunner queryRunner = new QueryRunner();
Object[] objectArray = new Object[5];
objectArray[0]= FP.getFPHM();
objectArray[1]= FP.getLQR_DM();
objectArray[2]= FP.getLQRQ();
objectArray[3]= FP.getLRR_DM();
objectArray[4]= FP.getLRRQ();
try {
queryRunner.update(DBConnection.getConnection(), sql, objectArray);
} catch (SQLException e) {
e.printStackTrace();
}
}

}
错误信息:类实例化成功!
创建连接对像成功!
创建Statement成功!
操作数据表成功!
----------------!
1java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Object has been closed. Query: INSERT INTO DJ_FP(FPHM,LRR_DM,LRRQ,LQR_DM,LQRQ) VALUES(?,?,?,?,?) Parameters: [11, 11, 11, 11, 11]
at org.apache.commons.dbutils.QueryRunner.rethrow(QueryRunner.java:330)
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:399)
at com.dao.DJ_FPDAO.saveDJ_FP(DJ_FPDAO.java:25)
at com.web.DJ_FPServlet.doPost(DJ_FPServlet.java:34)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)
at com.web.DJ_FPServlet.doPost(DJ_FPServlet.java:34)是 FPDAO.saveDJ_FP(FP);
at com.dao.DJ_FPDAO.saveDJ_FP(DJ_FPDAO.java:25)是queryRunner.update(DBConnection.getConnection(), sql, objectArray);

解决方案 »

  1.   

    打开了!不然会出现
    类实例化成功! 
    创建连接对像成功! 
    创建Statement成功! 
    操作数据表成功?
      

  2.   

    org.apache.commons.dbutils.QueryRunner; 
    这个包是干什么的呀?
      

  3.   

    Object has been closed
    在使用某个数据库连接之前关闭了数据库连接!
      

  4.   

    你仔细检查一下代码,看看执行流程。
    看看在insert之前是否执行了conn.close()等。
      

  5.   

    检查你之前的查询等数据库操作最后是否数据库没有关闭或者Result没有关闭!