jsp 파일에이 파일이 있습니다. 그러나 이러한 값은 mysql 테이블에서 업데이트되지 않습니다. 그것은 커밋하지 않을 수도 있습니다. 어떻게 해결할 수 있을까요?jsp에서 MySQL 테이블 업데이트
String passc1 = request.getParameter("passc1");
String accid = request.getParameter("accid");
int i = 0;
String sql =
" update customertb "
+ " set passwd = ?"
+ " where acc_no = ?;";
try {
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, passc1);
ps.setString(2, accid);
i = ps.executeUpdate();
} catch (Exception e) {
// do something with Exception here. Maybe just throw it up again
} finally {
con.close();
}
스택 트레이스
2012년 4월 1일 오후 11시 29분 2초 출할 org.apache.catalina.core.StandardWrapperValve 심각 : 서블릿의 Servlet.service() JSP]와 문맥 경로 [] 예외가 발생했습니다 [예외 라인에서 처리 JSP 페이지 /changepwd_done.jsp 발생 81
e.printStackTrace();
} finally {
//con.close();
con.commit();
}
스택 트레이스 :] 원인으로 은 java.sql.SQLException : 때 autocomm 커밋 호출 할 수 없습니다 = true com.mysql.jdbc.SQLError.createSQLException (SQLError.java:936)에서 com.mysql.jdbc.SQLError.createSQLException (SQLError.java:933)에서 at com.mysql.jdbc.ConnectionImpl.commit org.apache.jasper.runtime.HttpJspBase.service에서 org.apache.jsp.changepwd_005fdone_jsp._jspService (changepwd_005fdone_jsp.java:160)에서 (ConnectionImpl.java:1635) (HttpJspBase.java:70)에서 javax.servlet에서 .http.HttpServlet.service (HttpServlet.java:722) at org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:433) at org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java : 389) at org.apache.jasper.servlet.JspServlet.service (JspServlet.java:333) at javax.servlet.h ttp.HttpServlet.service (HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:304) at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java : 210) at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter (MonitorFilter.java:393) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:243) at org. org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:224) at 012.apache.catalina.core.StandardContextValve.invoke StandardContextValve.java:169) at org.apache.catalina.authenticator.A uthenticatorBase.invoke (AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.java:929) at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:118) at org.apache.catalina.connector. CoyoteAdapter.service (CoyoteAdapter.java:405) at org.apache.coyote.http11.AbstractHttp11Processor.process (AbstractHttp11Processor.java:964) at org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process (AbstractProtocol.java:515) at org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run (JIoEndpoint.java:304) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:603) at java.lang.Thread.run (Thread. 자바 : 722)
코드가 ... 올바른 것 같다 오류에 스택 추적을 인쇄 할 수 있습니까?여기에 스택 추적을 붙여 넣으십시오. –
autocommit = true 인 경우 커밋 메소드를 호출 할 수 없습니다. 해당 메소드 호출을 제거하거나 autocommit = false를 먼저 설정하십시오. con.setAutocommit (false) –
JSP 파일에서 해당 메소드를 제거하고 'commit'하면 작동합니다. –