HTTP Status 500 -type Exception reportmessagedescription The server encountered an internal error () that prevented it from fulfilling this request.exceptionorg.apache.jasper.JasperException: An exception occurred processing JSP page /results.jsp at line 2724: <%for (int i = 0; i < 100; i++) {%>
25:  <tr>
26:  <%
27:      Document doc = hits.doc(i);
28:      String doctitle = doc.get("title");
29:      String url = doc.get("path");
30:  %>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)root causejava.lang.IndexOutOfBoundsException: Not a valid hit number: 0
org.apache.lucene.search.Hits.hitDoc(Hits.java:150)
org.apache.lucene.search.Hits.doc(Hits.java:103)
org.apache.jsp.results_jsp._jspService(results_jsp.java:89)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.

解决方案 »

  1.   

    在hits.doc(i)方法中i的值不能为0 造成了数组下标越界异常
      

  2.   

    java.lang.IndexOutOfBoundsException: Not a valid hit number: 0 
    数组下标越界了 
      

  3.   

    谢谢了,东西没传进去,里面是空的post 乱码问题。晕死还有分词器有点问题
    Analyzer analyzer = new StandardAnalyzer();
    QueryParser qp = new QueryParser("content", analyzer);改成QueryParser qp = new QueryParser("content", new MMAnalyzer());
      

  4.   


    乱码,就设置下编码格式request.setCharacterEncoding("gbk");
    reponse.setCharacterEncoding("gbk");在有乱码写个过滤器