我用jsp调用搜索算法来搜索Solr并得到结果。
我的jsp页面是这样的:
<table class="table table-hover">
<tr>
<td>Your Search Results:</td>
<td>
<%
String queryKey = request.getParameter("jobSearch");
ArrayList<String> resultSet = SearchSolr.queryAll(queryKey);
out.println(resultSet);
%>
</td>
</tr>
</table>
该页面继续在以下行上给我错误:
ArrayList<String> resultSet = SearchSolr.queryAll(queryKey);
说:
java.lang.ClassNotFoundException: org.apache.http.NoHttpResponseException
异常如下所示:
type Exception report
message An exception occurred processing JSP page /Result.jsp at line 40
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /Result.jsp at line 40
37: <td>
38: <%
39: String queryKey = request.getParameter("jobSearch");
40: ArrayList<String> resultSet = SearchSolr.queryAll(queryKey);
41: out.println(resultSet);
42: %>
43: </td>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/http/NoHttpResponseException
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:912)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:841)
org.apache.jsp.Result_jsp._jspService(Result_jsp.java:129)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.NoClassDefFoundError: org/apache/http/NoHttpResponseException
com.demoApp.solrJ.SearchSolr.queryAll(SearchSolr.java:16)
org.apache.jsp.Result_jsp._jspService(Result_jsp.java:103)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.ClassNotFoundException: org.apache.http.NoHttpResponseException
java.net.URLClassLoader$1.run(URLClassLoader.java:366)
java.net.URLClassLoader$1.run(URLClassLoader.java:355)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(URLClassLoader.java:354)
java.lang.ClassLoader.loadClass(ClassLoader.java:423)
java.lang.ClassLoader.loadClass(ClassLoader.java:356)
com.demoApp.solrJ.SearchSolr.queryAll(SearchSolr.java:16)
org.apache.jsp.Result_jsp._jspService(Result_jsp.java:103)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
我已经导入了所有必要的jar,包括httpclient,httpcore,httpmime,httpclient-cache等。
我导入的罐子如下:http://imageshack.com/a/img401/329/3we1.jpg
它必须将项目中的所有jar导入tomcat的lib文件夹。解决!