i newbie servlet applications, trying learn subject. on way, wrote servlet class called formwebservlet uses org.apache.http.impl.client.defaulthttpclient class. however, exception
java.lang.classnotfoundexception: org.apache.http.impl.client.defaulthttpclient
... shows class not exist, although have added jar file project.
the server returns "http status 500" error message "root cause" missing class:
java.lang.noclassdeffounderror: org/apache/http/impl/client/defaulthttpclient testpackage.formwebservlet.doget(formwebservlet.java:45) javax.servlet.http.httpservlet.service(httpservlet.java:621) javax.servlet.http.httpservlet.service(httpservlet.java:722)
tries 1) searched missing jar file , added project (by going on project in "eclipse java ee ide web developers, 20100917-0705"'s project explorer, select "properties", selected "java build path" , clicked [add external jars...] button.) added jar file apache site , called httpclient-4.1.1.jar. 2) still same error, extracted 7-zip defaulthttpclient.class file , put webcontent/web-inf/lib directory.
question doing wrong? neither of other 2 jar files contain class, nor there class name in web-inf/lib folder.
details inculded jars:
common-httpclient-3.0.1.jar httpclient-4.1.1.jar httpcore-4.1.jar
formwebservlet.jar:
/** * */ package testpackage; import java.io.ioexception; import java.io.printwriter; import javax.servlet.servletexception; import javax.servlet.annotation.webservlet; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import org.apache.http.httpresponse; import org.apache.http.client.httpclient; import org.apache.http.client.methods.httpget; import org.apache.http.impl.client.defaulthttpclient; import coreservlets.servletutilities; /** * */ @webservlet(description = "gets book's barcode form", urlpatterns = { "/formwebservlet" }) public class formwebservlet extends httpservlet { /** */ private static final long serialversionuid = 6008315960327824633l; /** * @see httpservlet#doget(httpservletrequest request, * httpservletresponse response) */ protected void doget(final httpservletrequest request, final httpservletresponse response) throws ioexception, servletexception { final string bar_code = request.getparameter("barcode"); response.setcontenttype("text/html"); final printwriter out = response.getwriter(); if (bar_code != null) { httpclient client = new defaulthttpclient(); final string address = servletutilities.gethttpaddress(bar_code); out.println("address = \"" + address + '\"'); httpget = new httpget(address); httpresponse httpresponse = null; // removed commented code use these objects } } }
just put jar files web-inf/lib, not class file. way included in deployment.
Comments
Post a Comment