我使用eclipse ide,当我运行我的程序时一切正常,但是当我在服务器上运行相同的程序时,它给了我这个异常,我已经把我所有的远文件以及我的lib文件夹,请帮我做短解决这个问题。
java.lang.ClassNotFoundException: org.apache.http.HttpRequest
在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
在 java.lang.ClassLoader.defineClass1(本机方法)
在 java.lang.ClassLoader.defineClass(ClassLoader.java:791)
在 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
在 org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2836)
在 org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1160)
在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1668)
在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
在 org.controller.KeyRank.doPost(KeyRank.java:41)
在 javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
在 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
在 org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
在 java.lang.Thread.run(Thread.java:722)
这是我的代码:
public String readGoogle(字符串关键字,int page){
HttpClient 客户端 = 新 DefaultHttpClient();
// 创建一个方法实例
关键字 = 关键字.trim();
关键字 = 关键字.replaceAll(" ", "+");
字符串 url = "http://www.google.com/search?q="+keyword+"&start="+page+"&btnG=Google+Search&aq=f&oq=";
字符串响应体 = "";
HttpGet 方法 = 新的 HttpGet(url);
//提供自定义重试处理程序是必要的
//:OC:method.getParams().setParameter(HttpConnectionParams.RETRY_HANDLER, new DefaultHttpRequestRetryHandler(3, false));
尝试{
//执行方法
System.out.println("执行请求" + method.getURI());
// 创建响应处理程序
ResponseHandler responseHandler = new BasicResponseHandler();
responseBody = client.execute(method, responseHandler);
System.out.println("----------------------------------------");
System.out.println(responseBody);
System.out.println("----------------------------------------");
} 捕捉(HTTPException e){
System.err.println("致命的协议违规:" + e.getMessage());
e.printStackTrace();
} 捕捉(IOException e){
System.err.println("致命的传输错误:" + e.getMessage());
e.printStackTrace();
} 最后 {
//释放连接
方法.releaseConnection();
}
返回响应体;
}