当前位置: 代码迷 >> Java Web开发 >> 在tomcat servlet doPost中 new HttpClient()报错,该怎么处理
  详细解决方案

在tomcat servlet doPost中 new HttpClient()报错,该怎么处理

热度:951   发布时间:2016-04-17 00:48:41.0
在tomcat servlet doPost中 new HttpClient()报错
我在servlet中的doGet doPost中创建一个httpClient()时,tomcat总是报错,tomcat用的6.0。 httpclient用的httpclient-4.0.1.jar。代码和出错信息如下:
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.http.HttpEntity;
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.entity.ByteArrayEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

public class LoginServlet extends HttpServlet{
protected void doPost(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, java.io.IOException {

  HttpClient httpClient = new DefaultHttpClient();
}}

错误信息如下:
2011-10-17 14:31:18 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet RenrenLoginServlet threw exception
java.lang.ClassNotFoundException: org.apache.http.impl.client.DefaultHttpClient
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at com.yourdomain.website.RenrenLoginServlet.doPost(RenrenLoginServlet.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)

想在servlet中做一个post/get操作,难闹tomcat不支持在doPost中做org.apache.http.client.HttpClient方式的post请求吗?



------解决方案--------------------
java.lang.ClassNotFoundException
应该是jar包的问题!
------解决方案--------------------
java.lang.ClassNotFoundException: org.apache.http.impl.client.DefaultHttpClient

找不到类org.apache.http.impl.client.DefaultHttpClient
------解决方案--------------------
就是找不到org.apache.http.impl.client.DefaultHttpClient
查看jar包是否引入项目
  相关解决方案