jsp 里找不到这个类,需要导入这个类。类似:<%@ page import="***.test"%>

解决方案 »

  1.   

    1  看路径对不对。
    2  test 是否是Test.
      

  2.   

    嗯,引用过了,然后我现在不在jsp里直接调用了,我写个超链接,转到servlet里,在servlet里调用test,于是就出现java.lang.ClassNotFoundException:ore.apache.lucene.search.Query
    可是我看了下,这个包我也是倒入了的,非常郁闷。。
      

  3.   

    "org.apache.jasper.JasperException: Unable to compile class for JSP: 
     
    An error occurred at line: 34 in the jsp file: /testAAA.jsp
    test cannot be resolved to a type"
    因无法识别这个类型,导致编译不过。
      

  4.   

    就是说我test的类写的不对是吗?
    这是test代码package lia.meetlucene;import java.io.File;
    import java.io.IOException;
    import java.io.StringReader;import org.apache.lucene.analysis.TokenStream;
    import org.apache.lucene.analysis.core.SimpleAnalyzer;
    import org.apache.lucene.analysis.Analyzer;
    import org.apache.lucene.document.Document;
    import org.apache.lucene.index.DirectoryReader;
    import org.apache.lucene.index.IndexReader;
    import org.apache.lucene.index.Term;
    import org.apache.lucene.queryparser.classic.ParseException;
    import org.apache.lucene.queryparser.classic.QueryParser;
    import org.apache.lucene.search.IndexSearcher;
    import org.apache.lucene.search.Query;
    import org.apache.lucene.search.ScoreDoc;
    import org.apache.lucene.search.TermQuery;
    import org.apache.lucene.search.TopDocs;
    import org.apache.lucene.search.highlight.Highlighter;
    import org.apache.lucene.search.highlight.InvalidTokenOffsetsException;
    import org.apache.lucene.search.highlight.QueryScorer;
    import org.apache.lucene.search.highlight.SimpleHTMLFormatter;
    import org.apache.lucene.search.highlight.SimpleSpanFragmenter;
    import org.apache.lucene.search.highlight.TokenSources;
    import org.apache.lucene.store.Directory;
    import org.apache.lucene.store.SimpleFSDirectory;
    import org.apache.lucene.util.Version;
    import org.wltea.analyzer.lucene.IKAnalyzer;public class test {

    public test(){

    }

    // 高亮處理文本(以下内容纯属虚构)
    private String text = "China has lots of people,most of them are very poor.China is very big.China become strong now,but the poor people is also poor than other controry"; // 原文高亮
    public void highlighter() throws IOException, InvalidTokenOffsetsException { TermQuery termQuery = new TermQuery(new Term("field", "china"));
    TokenStream tokenStream = new SimpleAnalyzer(Version.LUCENE_40)
    .tokenStream("field", new StringReader(text)); QueryScorer queryScorer = new QueryScorer(termQuery);
    Highlighter highlighter = new Highlighter(queryScorer);
    highlighter.setTextFragmenter(new SimpleSpanFragmenter(queryScorer));
    System.out.println(highlighter.getBestFragment(tokenStream, text));
    } // 使用CSS進行高亮顯示處理
    public void highlighter_CSS(String searchText) throws ParseException,
    IOException, InvalidTokenOffsetsException { // 創建查詢
    QueryParser queryParser = new QueryParser(Version.LUCENE_40, "field",
    new SimpleAnalyzer(Version.LUCENE_40));
    Query query = queryParser.parse(searchText); // 自定义标注高亮文本标签
    SimpleHTMLFormatter htmlFormatter = new SimpleHTMLFormatter(
    "<span style=\"backgroud:red\">", "</span>");
    // 语汇单元化
    TokenStream tokenStream = new SimpleAnalyzer(Version.LUCENE_40)
    .tokenStream("field", new StringReader(text)); // 創建QueryScoer
    QueryScorer queryScorer = new QueryScorer(query, "field"); Highlighter highlighter = new Highlighter(htmlFormatter, queryScorer);
    highlighter.setTextFragmenter(new SimpleSpanFragmenter(queryScorer)); System.out.println(highlighter.getBestFragments(tokenStream, text, 4,
    "..."));
    }

    public String highlighter_CSS1(String searchText) throws ParseException,
    IOException, InvalidTokenOffsetsException {

    // 創建查詢
    QueryParser queryParser = new QueryParser(Version.LUCENE_40, "field",
    new SimpleAnalyzer(Version.LUCENE_40));
    Query query = queryParser.parse(searchText);

    // 自定义标注高亮文本标签
    SimpleHTMLFormatter htmlFormatter = new SimpleHTMLFormatter(
    "<span style=\"backgroud:red\">", "</span>");
    // 语汇单元化
    TokenStream tokenStream = new SimpleAnalyzer(Version.LUCENE_40)
    .tokenStream("field", new StringReader(text));

    // 創建QueryScoer
    QueryScorer queryScorer = new QueryScorer(query, "field");

    Highlighter highlighter = new Highlighter(htmlFormatter, queryScorer);
    highlighter.setTextFragmenter(new SimpleSpanFragmenter(queryScorer));

    System.out.println(highlighter.getBestFragments(tokenStream, text, 4,
    "..."));
    return highlighter.getBestFragments(tokenStream, text, 4,
    "...");
    } // 高亮顯示搜索結果
    public void highlighter_SR(String field, String searchText)
    throws IOException, ParseException, InvalidTokenOffsetsException { //本次示例为了简便直接使用之前实验建立的索引
    Directory directory = new SimpleFSDirectory(new File("E://MyIndex"));
    IndexReader reader = DirectoryReader.open(directory);// 读取目录
    IndexSearcher search = new IndexSearcher(reader);// 初始化查询组件
    QueryParser parser = new QueryParser(Version.LUCENE_40, field,
    new IKAnalyzer(true)); Query query = parser.parse(searchText); TopDocs td = search.search(query, 10000);// 获取匹配上元素的一个docid
    ScoreDoc[] sd = td.scoreDocs;// 加载所有的Documnet文档 System.out.println("本次命中数据:" + sd.length);
    QueryScorer scorer = new QueryScorer(query, "content"); Highlighter highlighter = new Highlighter(scorer);
    highlighter.setTextFragmenter(new SimpleSpanFragmenter(scorer)); for (ScoreDoc scoreDoc : sd) {
    Document document = search.doc(scoreDoc.doc);
    String content = document.get("content");
    TokenStream tokenStream = TokenSources.getAnyTokenStream(
    search.getIndexReader(), scoreDoc.doc, "content", document,
    new IKAnalyzer(true));
    System.out.println(highlighter
    .getBestFragment(tokenStream, content));
    }
    }

    public void test() throws IOException, InvalidTokenOffsetsException,
    ParseException {
    // fail("Not yet implemented");
    test highlighterTest = new test();
    //highlighterTest.highlighter();
    //highlighterTest.highlighter_CSS("china");
    highlighterTest.highlighter_CSS("poor");
    //highlighterTest.highlighter_SR("content", "床前明月光");
    }
    }
      

  5.   

    应该是环境问题 ,缺少jar包
      

  6.   

    大概是那个包呢?我的引用都没有出现问题看了下lucene的包也都有
      

  7.   

    类不太规范,但不是主要问题。看看引入的类是这样的吗?
    <%@ page import="lia.meetlucene.test"%>
      

  8.   

    那就是classpath 配置问题 。你在看看环境变量配的对吗
      

  9.   

    是的。,,><应该不是这个问题
      

  10.   

    如果你用servlet ,没有用IDE工具,类应该写到指定的文件夹下。  你写哪了?
      

  11.   

    你看你的类编译后的.class文件在WEB-INF\classes文件夹下吗?
      

  12.   

    不是不是,我使用eclipse+tomcat开发的,WEB-INF\classes不存在。。我也不知道编译的class文件在哪
      

  13.   

    tomcat 下 webapps文件夹下 之后是项目下,看看。
      

  14.   

    没有,里面的文件夹我也都看了,没有class文件
      

  15.   

    E:\apache-tomcat-5.5.23\apache-tomcat-5.5.23\webapps\QH\WEB-INF\classes如果没有class 文件 就说明你的类文件没用被编译,所以找不到。你的eclipse配置jdk了吗 你的tomcat配置jdk了吗  最主要的看看你的eclipse的problems视图里是否有错误 。这里有错误会导致你的eclipse或myeclipse自动编译停止。
      

  16.   

    1.Window --> Preferences -->Java --> compiler中的compiler compliance level对应的下拉菜单中选择JDK版本. 
    2.Window --> Preferences -->MyEclipse --> Servers -->Tomcat --> Tomcat n.x -->JDK中的Tomcat JDK name下的下拉菜单中选择自身电脑上安装的JDK版本(必需与步骤1中的JDK版本一致). 
     
    3.Window --> Preferences -->Java -->Installed JRES,然后在右边选择与步骤1和2版本一致的JDK版本,如果没有,可以自身添加.然后选中就可以了.