Ошибка времени выполнения в сервлете Java - PullRequest
1 голос
/ 16 марта 2010

Сборка проекта прошла успешно, но при переходе по URL я получаю следующее сообщение об ошибке:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Error instantiating servlet class example.servlet.ScrapingServlet
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
 java.lang.Thread.run(Thread.java:619)

root cause

java.lang.NoClassDefFoundError: org/apache/http/impl/client/DefaultHttpClient
 java.lang.Class.getDeclaredConstructors0(Native Method)
 java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
 java.lang.Class.getConstructor0(Class.java:2699)
 java.lang.Class.newInstance0(Class.java:326)
 java.lang.Class.newInstance(Class.java:308)
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
 java.lang.Thread.run(Thread.java:619)

root cause

java.lang.ClassNotFoundException: org.apache.http.impl.client.DefaultHttpClient
 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
 java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
 java.lang.Class.getDeclaredConstructors0(Native Method)
 java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
 java.lang.Class.getConstructor0(Class.java:2699)
 java.lang.Class.newInstance0(Class.java:326)
 java.lang.Class.newInstance(Class.java:308)
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
 java.lang.Thread.run(Thread.java:619)

>note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.
Apache Tomcat/6.0.14

И это потому, что я добавил эту простую строку в код: DefaultHttpClient httpclient = new DefaultHttpClient ();

Что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 16 марта 2010

В трассировке стека следует обратить внимание на java.lang.ClassNotFoundException: org.apache.http.impl.client.DefaultHttpClient

Он сообщает, что не может найти org.apache.http.impl.client.DefaultHttpClient в пути к классам. Решите эту проблему, и жизнь станет лучше.

1 голос
/ 16 марта 2010

Вам нужно поместить библиотеки HttpClient в /WEB-INF/lib, который является частью пути к классу выполнения по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...