这是我用来查询 solr 索引的 Servlet 代码
import java.io.*;
import java.net.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
//Solr Imports
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.client.solrj.request.ContentStreamUpdateRequest;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.client.solrj.request.AbstractUpdateRequest;
/*
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
*/
public class HelloWorldExample extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException
{
PrintWriter out = response.getWriter();
String inputStr=request.getParameter("input");
out.println("<html><h1>" + inputStr + "</h1></body></html>");
//try {
SolrServer server = new CommonsHttpSolrServer("http://localhost:8080/solr/");
SolrQuery solrQuery = new SolrQuery();
//solrQuery.setQuery("fileName:"+input);
solrQuery.setQuery("Latitude:"+32.55668);
QueryResponse rsp = server.query(solrQuery);
//SolrDocumentList x = rsp.getResults();
System.out.println(rsp);
}
catch (SolrServerException e) {
e.printStackTrace();
}
}
}
我正在使用
D:\xampp\tomcat\webapps\examples\WEB-INF\classes>javac -classpath .;D:\JAR\servl et-api.jar;D:\JAR\1solr-core-1.3.0.jar;D :\JAR\1solr-solrj-1.3.0.jar;D:\JAR\1solr -common-1.3.0.jar;D:\JAR\apache-solr-solrj-1.4.0.jar HelloWorldExample.java
此代码编译没有问题。但是,当我运行此 servlwt 时,它给了我一个错误:
类型异常报告消息
描述 服务器遇到一个内部错误 () 阻止它完成这个请求。
例外
javax.servlet.ServletException:Servlet 执行引发异常根本原因
java.lang.NoClassDefFoundError: org/apache/solr/client/solrj/impl/CommonsHttpSolrServer HelloWorldExample.doGet(HelloWorldExample.java:35) javax.servlet.http.HttpServlet.service(HttpServlet.java:621) javax.servlet.http .HttpServlet.service(HttpServlet.java:722)