Exception in apache http client

im using eclipse ide and when i run my program everything works fine but when i run the same program on server then it gives me this exception and i have already put my all far files as well as in my lib folder, Please help me to short out to this problem.

java.lang.ClassNotFoundException: org.apache.http.HttpRequest
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2836)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1160)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1668)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
    at org.controller.KeyRank.doPost(KeyRank.java:41)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:722)

Here is my code :

   public String readGoogle(String keyword, int page) {
        HttpClient client = new DefaultHttpClient();  

        // Create a method instance
        keyword = keyword.trim();
        keyword = keyword.replaceAll(" ", "+");

        String url = "http://www.google.com/search?q="+keyword+"&start="+page+"&btnG=Google+Search&aq=f&oq=";
        String responseBody = "";
        HttpGet method = new HttpGet(url);  

        //Provide custom retry handler is necessary  
        //:OC:method.getParams().setParameter(HttpConnectionParams.RETRY_HANDLER, new DefaultHttpRequestRetryHandler(3, false));  


        try{  
        //execute the method  


            System.out.println("executing request " + method.getURI());  

            // Create a response handler  
            ResponseHandler responseHandler = new BasicResponseHandler();  
            responseBody = client.execute(method, responseHandler);  
            System.out.println("----------------------------------------");  
            System.out.println(responseBody);  
            System.out.println("----------------------------------------");  



            } catch (HTTPException e) {  

                    System.err.println("Fatal protocol violation: " + e.getMessage());  
                    e.printStackTrace();  

                } catch (IOException e) {  

                    System.err.println("Fatal transport error: " + e.getMessage());  
                    e.printStackTrace();  
                } finally {  

                    //release the connection  
              method.releaseConnection();  

        }
        return responseBody;

    }

Add Http core jar to your build path, find the required jar from this url. http://www.java2s.com/Code/Jar/h/Downloadhttpcorejar.htm

deploy the jar and then compile, your error will be resolved.


Without your classpath configuration and knowledge about the web server you are deploying your application to, it is not easy to help but from the look of things, it seems you are missing the HttpCore jar in your deployment environment.

The missing class is found in that jar.

链接地址: http://www.djcxy.com/p/33050.html

上一篇: ActiveMQ一些消费者如果到达生产者后面,他们不会完成任务

下一篇: 在Apache HTTP客户端的例外