PreparedStatement stm=con.createStatement(); 我改 成了这种定义,错误有减少 错误提示如下: /add_message.jsp:39: incompatible types found : java.sql.Statement required: java.sql.PreparedStatement PreparedStatement stm=con.createStatement(); ^ /add_message.jsp:43: cannot resolve symbol symbol : method PreparedStatement (java.lang.String) location: interface java.sql.Connection stm=con.PreparedStatement("insert into message values(?,?,?,?,?)"); ^ /add_message.jsp:54: cannot resolve symbol symbol : method excuteQuery () location: interface java.sql.PreparedStatement stm.excuteQuery(); ^ 3 errors前后矛盾的感觉 不知道哪位大虾 多指点一下~~~~~~~~~~~~~~```
PreparedStatement stm=con.createStatement(); 这个一看就知错了... 应该这样 PreparedStatement stm=con.PreparedStatement("insert into message values(?,?,?,?,?)");
嘿嘿~~~~~~~~~~`` 晓的拉 谢谢拉~~~~~~~~~~~~~~~~~~~~~~~~ 现在没有语法错误了,却反而有了语义错误 请大家帮我看一下错误提示,帮我指出错误所在啊 java.lang.IllegalArgumentException: Request cannot be null at javax.servlet.ServletRequestWrapper.<init>(ServletRequestWrapper.java:95) at javax.servlet.http.HttpServletRequestWrapper.<init>(HttpServletRequestWrapper.java:87) at com.caucho.server.connection.RequestAdapter.<init>(RequestAdapter.java:96) at com.caucho.server.webapp.DispatchRequest.<init>(DispatchRequest.java:97) at com.caucho.server.webapp.DispatchRequest.createDispatch(DispatchRequest.java:107) at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:164) at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:112) at com.caucho.jsp.PageContextImpl.forward(PageContextImpl.java:891) at _jsp._add_0message__jsp._jspService(/add_message.jsp:84) at com.caucho.jsp.JavaPage.service(JavaPage.java:75) at com.caucho.jsp.Page.pageservice(Page.java:571) at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:155) at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:211) at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:177) at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:221) at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:263) at com.caucho.server.port.TcpConnection.run(TcpConnection.java:323) at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:430) at com.caucho.util.ThreadPool.run(ThreadPool.java:377) at java.lang.Thread.run(Thread.java:536)
超人一般了 你那就是低级错误了 PreparedStatement stm=con.PreparedStatement("insert into message values(?,?,?,?,?)"); 该成:PreparedStatement stm=con.prepareStatement("insert into message values(?,?,?,?,?)");
是应该从1开始的楼主问题:
stm一开始定义为Statement(父类)后来用它来接收con.prepareStatement()
con.prepareStatement()是返回PreparedStatement(子类)
所以出错了...
原因是子类可以构造父类,而父类不可构造子类
通俗的说:
子类有的东西父类没有,父类有的东西子类都有
PreparedStatement stm=con.createStatement();
两种方法我都试过了
都是错的
所以才问大家
希望各位大虾能再次看到这个萜子
你们的建议不管好与坏我都会去尝试
拜托了~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我改 成了这种定义,错误有减少
错误提示如下:
/add_message.jsp:39: incompatible types
found : java.sql.Statement
required: java.sql.PreparedStatement
PreparedStatement stm=con.createStatement();
^
/add_message.jsp:43: cannot resolve symbol
symbol : method PreparedStatement (java.lang.String)
location: interface java.sql.Connection
stm=con.PreparedStatement("insert into message values(?,?,?,?,?)");
^
/add_message.jsp:54: cannot resolve symbol
symbol : method excuteQuery ()
location: interface java.sql.PreparedStatement
stm.excuteQuery();
^
3 errors前后矛盾的感觉
不知道哪位大虾 多指点一下~~~~~~~~~~~~~~```
应该这样
PreparedStatement stm=con.PreparedStatement("insert into message values(?,?,?,?,?)");
晓的拉
谢谢拉~~~~~~~~~~~~~~~~~~~~~~~~
现在没有语法错误了,却反而有了语义错误
请大家帮我看一下错误提示,帮我指出错误所在啊
java.lang.IllegalArgumentException: Request cannot be null
at javax.servlet.ServletRequestWrapper.<init>(ServletRequestWrapper.java:95)
at javax.servlet.http.HttpServletRequestWrapper.<init>(HttpServletRequestWrapper.java:87)
at com.caucho.server.connection.RequestAdapter.<init>(RequestAdapter.java:96)
at com.caucho.server.webapp.DispatchRequest.<init>(DispatchRequest.java:97)
at com.caucho.server.webapp.DispatchRequest.createDispatch(DispatchRequest.java:107)
at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:164)
at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:112)
at com.caucho.jsp.PageContextImpl.forward(PageContextImpl.java:891)
at _jsp._add_0message__jsp._jspService(/add_message.jsp:84)
at com.caucho.jsp.JavaPage.service(JavaPage.java:75)
at com.caucho.jsp.Page.pageservice(Page.java:571)
at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:155)
at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:211)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:177)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:221)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:263)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:323)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:430)
at com.caucho.util.ThreadPool.run(ThreadPool.java:377)
at java.lang.Thread.run(Thread.java:536)
你那就是低级错误了
PreparedStatement stm=con.PreparedStatement("insert into message values(?,?,?,?,?)");
该成:PreparedStatement stm=con.prepareStatement("insert into message values(?,?,?,?,?)");