Java 当我尝试连接数据库时,Axis2 web服务停止
我使用Axis2创建了一个Web服务器。我的客户端是Android应用程序。Web服务连接到数据库。但是Web服务会自动停止 连接到数据库“public class connect”的代码{ 公共连接(){ }` 从webservice调用的代码是Java 当我尝试连接数据库时,Axis2 web服务停止,java,android,webserver,Java,Android,Webserver,我使用Axis2创建了一个Web服务器。我的客户端是Android应用程序。Web服务连接到数据库。但是Web服务会自动停止 连接到数据库“public class connect”的代码{ 公共连接(){ }` 从webservice调用的代码是 public class Calculate { 我得到的例外是 java.lang.ClassNotFoundException:com.mysql.jdbc.Driver 位于org.apache.catalina.loader.Webapp
public class Calculate
{
我得到的例外是
java.lang.ClassNotFoundException:com.mysql.jdbc.Driver
位于org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
位于org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
位于java.lang.Class.forName0(本机方法)
位于java.lang.Class.forName(未知源)
位于org.web.backend.calculate.Connect.Connection(Connect.java:17)
在org.web.backend.calculate.calculate.populatelagues(calculate.java:17)上
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke处(未知源)
位于java.lang.reflect.Method.invoke(未知源)
位于org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:194)
位于org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:102)
位于org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
位于org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100)
在org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176)上
在org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)上
位于org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
位于org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
位于org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
位于org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
位于java.lang.Thread.run(未知源)
无法连接到数据库服务器我希望这是在服务器上执行的代码,而不是在Android客户端上执行的代码…对吗?是的,它是在服务器上执行的。从您的日志中可以看到,您的服务器上缺少
com.mysql.jdbc.Driver
。我在服务器的java构建路径中添加了这些代码…这是正确的吗补充的方法?有人能帮我吗..我有点不顾一切地想让它工作。。
public class Calculate
public boolean populateLeagues(String username, String password){
try {
/*Create object of the Connect class*/
Connect connect = new Connect();
/* calling the Connection method of Connect class to establish a database connection*/
Connection conn = connect.Connection();
java.sql.PreparedStatement preparedStatement = null;
/* Creating a query to be executed with prepared statement*/
String query = "select name from users where name=?";
preparedStatement = conn.prepareStatement(query);
/*substitutes the value for ? in the prepared Statement */
preparedStatement.setString(1, username);
/* Result set to capture the results of the query*/
ResultSet rs = preparedStatement.executeQuery();
boolean empty = true;
while (rs.next()) {
empty=false;
System.err.println("\n User Name exists \n");
return true;
}
if(empty)
{
System.out.println("\n the userame does not exists");
return false;
}
rs.close();
conn.close();
} catch (Exception e) {
//e.printStackTrace();
System.err.println ("Cannot connect to database server");
System.exit(0);
}
return true;
}