mysql连接在本地工作正常,但在调用rest函数调用[java]时失败

mysql连接在本地工作正常,但在调用rest函数调用[java]时失败,java,rest,Java,Rest,我正在用REST+Mysql+Java做一个小项目。 其余的电话都很好。但当我在rest函数中进行任何数据库事务时,比如我想在rest调用时从数据库中获取一些值,那么它会给出[java.lang.ClassNotFoundException:com.mysql.jdbc.Driver]。当我通过类的obj调用同一个函数时,它工作正常,但如果通过restapi调用调用,则会失败。当我对函数进行rest调用时,数据也是通过参数和参数来的,我可以在函数体中使用它,但无法执行数据库事务 我在ASP.ne

我正在用REST+Mysql+Java做一个小项目。 其余的电话都很好。但当我在rest函数中进行任何数据库事务时,比如我想在rest调用时从数据库中获取一些值,那么它会给出
[java.lang.ClassNotFoundException:com.mysql.jdbc.Driver]
。当我通过类的obj调用同一个函数时,它工作正常,但如果通过restapi调用调用,则会失败。当我对函数进行rest调用时,数据也是通过参数和参数来的,我可以在函数体中使用它,但无法执行数据库事务

我在ASP.net上找到了一个相同的

我已经将mysql jar添加到类路径以及WEB-INF/lib/folder中

我的连接类:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class conectionclass {

    public static Connection getConnection(){

        Connection conn = null ;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/emps","root", "12345" );
            System.out.println("-------------  Connection Succesful ----------------"); 
        } catch (SQLException | ClassNotFoundException e) {
            // TODO Auto-generated catch block
            System.out.println("-------------  Connection Fail ----------------"); 

            e.printStackTrace();
        }
        return conn;
    }

}
我的休息功能:

@POST
@Path("/postjson")
@Produces("application/json")
public Employee  getJSONfromApp(HashMap p) {

    return ( new empdao()).getEmployee("test", "1234") ; 

}
员工Dao类功能:

    @Override
    public  Employee getEmployee(String employee, String pass) {
        int count = 0 ;
         Connection conn = Connectionclass.getConnection();
//       System.out.println("Employee : "+employee+"  Connection : "+conn);
            if(employee!=null || employee != "" )
            {
                String query =   "select * from emps where username = '"+employee+"' && pass = '"+pass+"'  ";
                try {
                    Statement stmt  = conn.createStatement() ;
                    System.out.println("Statement created.."+ stmt);
                     ResultSet a =  stmt.executeQuery(query);

                     while(a.next()){
                         return (new Employee(a.getString(2) , a.getString(3) ));
                     } 

                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    System.out.println("Error in  connection.....");
//                  e.printStackTrace();
                } finally{
                    try {
                        conn.close();
                    } catch ( Exception e) {
                        System.out.println("Error in closing connection.....");
//                      e.printStackTrace();
                    }

                }

            }

        return null;
    }
通过RestService调用时的输出:

-------------  Connection Fail ----------------
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1157)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:259)
    at com.app.App3.Connectionclass.getConnection(Connectionclass.java:13)
    at com.app.App3.empdao.getEmployee(empdao.java:47)
    at com.mkyong.rest.JSONService.getJSONfromApp(JSONService.java:90)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:140)
    at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:255)
    at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:220)
    at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:209)
    at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:519)
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:496)
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119)
    at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
    at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1517)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1474)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:744)
Error in  connection.....

得到答案,实际上我的tomcat版本和jre版本是不同的。 当我把它们弄成同样的样子时,上面的问题就解决了