Java 如何将Servlet与apachesolr服务结合使用
我正在为我的web应用程序使用JavaEE技术。我使用ApacheSolr作为我的搜索引擎。好的,在我成功配置Solr之后,Solr将作为Restful服务运行 因此,在我的servlet下,我尝试将此服务作为我以前使用的另一个控制台应用程序调用。下面是用于从url获取json数据的示例代码:Java 如何将Servlet与apachesolr服务结合使用,java,tomcat,servlets,solr,Java,Tomcat,Servlets,Solr,我正在为我的web应用程序使用JavaEE技术。我使用ApacheSolr作为我的搜索引擎。好的,在我成功配置Solr之后,Solr将作为Restful服务运行 因此,在我的servlet下,我尝试将此服务作为我以前使用的另一个控制台应用程序调用。下面是用于从url获取json数据的示例代码: /** Get Data Fom URL Using GET Method */ public static String getResponseFromGetRequest(String ur
/** Get Data Fom URL Using GET Method */
public static String getResponseFromGetRequest(String url) {
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
/** after prepare for data. prepare for sending */
try {
/**
* HttpResponse is an interface just like HttpGet
* therefore we can't initialize them
*/
HttpResponse httpResponse = httpClient.execute(httpGet);
return parseHttpResponse(httpResponse);
} catch (ClientProtocolException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
return null;
}
但是包org.apache.http.impl.client.DefaultHttpClient不可用(至少在tomcat服务器下)。所以,我想这里可能有一些问题。我们不能在servlet中调用另一个服务,对吗?如果我的猜测是真的,那么我如何解决这个问题呢?一段关于使用java中可用的API与solr交互的简短代码(您不需要知道或关心servlet、HttpClient,什么都不需要) 如果您没有maven:
http://mvnrepository.com/artifact/org.apache.solr/solr-solrj/4.10.3
单击“下载(JAR)”。我认为您希望在java中使用Solr的API,在这种情况下,您不需要如此直接地调用Solr。另外,DefaultHttpClient不可用的事实表明,您的部署程序集遗漏了包含DefaultHttpClient类的jar。试着帮点忙。所以,我们只需启动solr服务器。将solr库包含到项目中。我们可以像上面那样运行代码,对吗?谢谢:)那些API在SolrJ库中?谢谢:)
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>4.5.1</version>
</dependency>
http://mvnrepository.com/artifact/org.apache.solr/solr-solrj/4.10.3