我的sql语句是String sql = "insert into guestbook values(gu_sqe.nextval,?,?,?,?,?,?)";
param 为Object param[]={name,StringUtil.changeNull(request.getParameter("email"),"未填"),StringUtil.changeNull(request.getParameter("phone"),"未填"),title,request.getParameter("content"),request.getParameter(sdf.format(new java.util.Date()))};
第61行是result = qr.update(sql, param);前面还有一个
2010-9-4 7:24:20 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重: A web application registered the JBDC driver [oracle.jdbc.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
这是什么意思该怎么解决??
java.sql.SQLException: Too many parameters: expected 0, was given 6 Query: insert into guestbook values(gu_sqe.nextval,?,?,?,?,?,?) Parameters: [?????÷, [email protected], 15838310767, ????, <p>
????</p>
, null]
at org.apache.commons.dbutils.QueryRunner.rethrow(QueryRunner.java:542)
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:599)
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:655)
at com.v512.AddMessageServlet.doPost(AddMessageServlet.java:61)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
param 为Object param[]={name,StringUtil.changeNull(request.getParameter("email"),"未填"),StringUtil.changeNull(request.getParameter("phone"),"未填"),title,request.getParameter("content"),request.getParameter(sdf.format(new java.util.Date()))};
第61行是result = qr.update(sql, param);前面还有一个
2010-9-4 7:24:20 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重: A web application registered the JBDC driver [oracle.jdbc.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
这是什么意思该怎么解决??
java.sql.SQLException: Too many parameters: expected 0, was given 6 Query: insert into guestbook values(gu_sqe.nextval,?,?,?,?,?,?) Parameters: [?????÷, [email protected], 15838310767, ????, <p>
????</p>
, null]
at org.apache.commons.dbutils.QueryRunner.rethrow(QueryRunner.java:542)
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:599)
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:655)
at com.v512.AddMessageServlet.doPost(AddMessageServlet.java:61)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
解决方案 »
- axis2调用服务器端The service cannot be found for the endpoint reference (EPR) 报错了??
- 不能必现的BUG一般是什么原因?
- jsp连接连接数据库的问题 崩溃了
- [原创分享]AJAX最简单入门
- 请问jsp里面停止输出,类似asp“response.end”这样的语句应该怎么写呢?
- 天呀
- 问一个有关套接字输出编码的问题
- 这个效果是怎么做的?
- 请问如何实现在线安装就想这种的,http://www.szicbc.com.cn/zxbz/webcall/installing.html
- 如何在 JSP 页面中隐藏表单呢?
- Tomcat java struts遇到奇怪的问题。。
- 请问下,我保存网站的背景图片,发现就一张大图,怎么回事呢?
package com.v512;import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.text.SimpleDateFormat;import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;import org.apache.commons.dbutils.QueryRunner;public class AddMessageServlet extends HttpServlet { private static final long serialVersionUID = 966157472934539285L; public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { doPost(request, response);
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { response.setContentType("text/html");
PrintWriter out = response.getWriter();
String name = null;
String title = null;
out
.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
int result = 0;
name = StringUtil.filterHtml(request.getParameter("name"));
title = StringUtil.filterHtml(request.getParameter("title"));
String sql = "insert into guestbook values(gu_sqe.nextval,?,?,?,?,?,?)";
if (StringUtil.validateString(name)) {
out.println("对不起,你输入的名字为空,请重新输入<br>");
out.println("<a href ='/guestbook1/addMessage.htm'>添加留言 </a>");
}
if (StringUtil.validateString(title)) {
out.println("对不起,你输入的主题为空,请重新输入<br>");
out.println("<a href ='/guestbook1/addMessage.htm'>添加留言 </a>");
} try {
Context context = new InitialContext();
DataSource ds = (DataSource) context
.lookup("java:/comp/env/jdbc/oracleds");
QueryRunner qr = new QueryRunner(ds);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Object[] params=new Object[]{name,StringUtil.changeNull(request.getParameter("email"),"未填"),StringUtil.changeNull(request.getParameter("phone"),"未填"),title,request.getParameter("content"),request.getParameter(sdf.format(new java.util.Date()))};
result = qr.update(sql, params);
if(result==0){
out.println("对不起,你输入的内容为空,请重新输入<br>");
out.println("<a href ='/guestbook1/addMessage.htm'>添加留言 </a>");
}else{
out.println("恭喜留言添加成功<br>");
out.println("<a href ='/guestbook1/addMessage.htm'>添加留言 </a><br>");
out.println("<a href = '/guestbook1/servlet/getMessage'>查看留言</a>");
}
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}}
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
String title = request.getParameter("title");
String category_id = request.getParameter("category");
String content = request.getParameter("content");
String params[] = {title, content, category_id};
DataSource ds = null;
int result = 0;
try {
Context cont = new InitialContext();
ds = (DataSource) cont.lookup("java:/comp/env/jdbc/mysqlds");
} catch (Exception e) {
System.out.println("link error");
}
try {
String sql = "insert into blog(title,content,category_id,createdtime) "
+ "values(?,?,?,now())";
QueryRunner qr = new QueryRunner(ds);
result = qr.update(sql,params); } catch (SQLException e) {
e.printStackTrace();
}
String message="";
if(result==1){
message = "添加博文成功!";
}else{
message = "添加博文失败";
}
request.setAttribute("message", message);
RequestDispatcher disp = request.getRequestDispatcher("/success.jsp");
disp.forward(request,response);
就像这里的代码似得,没什么问题的。有可能是jar包的问题