我正在尝试让应用程序连接到 Google Plus API,但为此我需要对一些请求参数保密。这就是为什么我不能只发出一个简单的 ajax 请求或创建一个带有隐藏输入的表单。我的解决方案是向 servlet 发出请求,然后使用 HttpClient 向 Google 发出另一个请求。 问题是这样的:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println(TestClass.makeRequest());
}
TestClass.makeRequest()
创建 HttpPost 对象,获取响应并返回一个字符串。
当我在服务器上运行此程序时,出现此错误:
java.lang.ClassNotFoundException: org.apache.http.HttpEntity
我不明白为什么会发生这种情况。您能提供解决方案吗? 在请求中传输隐藏参数的任何其他方法都是有帮助的。
最佳答案
看起来,虽然您的构建路径中拥有所有必要的 jar 文件,但它们并未与您的 servlet 一起部署。这2个运行环境是不同的。
要使 3d 方库可供您的 servlet 类使用,请确保
httpcore-4.0.1.jar
和所有其他依赖 jar 都部署到
WEB-INF/lib
您的网络应用程序的目录。
关于java - 从 servlet 发出请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12902623/