如下异常信息[12:59:21.109] javax.servlet.ServletException: java.lang.NullPointerException
[12:59:21.109] at org.apache.struts.action.RequestProcessor.processException(Re
questProcessor.java:535)
[12:59:21.109] at org.apache.struts.action.RequestProcessor.processActionPerfor
m(RequestProcessor.java:433)
[12:59:21.109] at org.apache.struts.action.RequestProcessor.process(RequestProc
essor.java:236)
[12:59:21.109] at org.apache.struts.action.ActionServlet.process(ActionServlet.
java:1196)
[12:59:21.109] at org.apache.struts.action.ActionServlet.doGet(ActionServlet.ja
va:414)
[12:59:21.109] at javax.servlet.http.HttpServlet.service(HttpServlet.java:115)
[12:59:21.109] at javax.servlet.http.HttpServlet.service(HttpServlet.java:92)
[12:59:21.109] at com.caucho.server.dispatch.ServletFilterChain.doFilter(Servle
tFilterChain.java:106)
[12:59:21.109] at org.springframework.orm.hibernate3.support.OpenSessionInViewF
ilter.doFilterInternal(OpenSessionInViewFilter.java:174)
[12:59:21.109] at org.springframework.web.filter.OncePerRequestFilter.doFilter(
OncePerRequestFilter.java:77)
[12:59:21.109] at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterF
ilterChain.java:70)
[12:59:21.109] at org.springframework.web.filter.CharacterEncodingFilter.doFilt
erInternal(CharacterEncodingFilter.java:78)
[12:59:21.109] at org.springframework.web.filter.OncePerRequestFilter.doFilter(代码如下
CallableStatement proc = nultry {
proc = conn.prepareCall("{call "+name+"}");
proc.execute();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} l;
OncePerRequestFilter.java:77)
[12:59:21.109] at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterF
ilterChain.java:70)
[12:59:21.109] at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFil
terChain.java:173)
[12:59:21.109] at com.caucho.server.dispatch.ServletInvocation.service(ServletI
nvocation.java:229)
[12:59:21.109] at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.
java:274)
[12:59:21.109] at com.caucho.server.port.TcpConnection.run(TcpConnection.java:5
11)
[12:59:21.109] at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:516)
[12:59:21.109] at com.caucho.util.ThreadPool.run(ThreadPool.java:442)
[12:59:21.109] at java.lang.Thread.run(Thread.java:595)
一步步测试喽。
String url = "jdbc:mysql://192.168.2.120:3308/tkgame_tank";
String name = "tank224";
String password = "tk123456";
Connection con = null;
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(url, name, password);
CallableStatement stmt = null;
stmt = con.prepareCall("{call gpupdate()}");
stmt.execute();
int i = stmt.getInt(1); 我执行这段代码也会报错 stmt = con.prepareCall("{call gpupdate()}"); 这行会有null指针异常
Connection conn = ConnectDb.getConnection();
CallableStatement cs = null;
try {
cs = conn.prepareCall("{call sp2(?)}");
//第一个参数的类型为Int
cs.registerOutParameter(1, Types.INTEGER);
cs.execute();
//得到第一个值
int i = cs.getInt(1);
System.out.println(i); 如果你一个参数返回的是Int类型,要先注册返回类型吧!还有就是,你调用的存储过程,是否有传递的参数? 然后断点调试下,应该没问题呢!