请教各路神仙!确切的说是这样的,请看程序:(100分)

Z

zhanghb

Unregistered / Unconfirmed
GUEST, unregistred user!
一个indexwiter类,在命令行下,测试程序运行正常,对2460条记录的数据库的标题字段
做索引,用时15秒,下面是程序:
import cn.net.cetin.analysis.cn.ChineseAnalyzer;
import cn.net.cetin.index.IndexWriter;
import java.util.Date;
class IndexDB {
public static void main(String[] args) {
try {
Date start = new Date();
short[] fieldNos={(short)4,(short)5};
byte[] indexModes={(byte)0,(byte)0};
IndexWriter writer = new IndexWriter((short)2, fieldNos,indexModes,new ChineseAnalyzer());
writer.index();
writer.close();
Date end = new Date();
System.out.print(end.
getTime() - start.getTime());
System.out.println(" total milliseconds");
} catch (Exception e) {
e.printStackTrace();
System.out.println(" caught a " + e.getClass() +
"/n with message: " + e.getMessage());
}
}
}
写到jsp页面里是这样的:编译能通过,就是页面里只显示出来了背景图片,没结果!
<%@ page language = "java" %>
<%@ page import = "java.sql.*" %>
<%@ page import = "java.io.*" %>
<%@ page import = "java.lang.*" %>
<%@ page import = "java.util.Date" %>
<%@ page import = "cn.net.cetin.index.* "%>
<%@ page import = "cn.net.cetin.dao.* "%>
<%@ page import = "cn.net.cetin.analysis.cn.* "%>
<%@ page import = "cn.net.cetin.analysis.* "%>
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>Indexresult</title>
</head>
<body aLink=#663333 background=images/back3.gif leftMargin=4 link=#663333 topMargin=4 vLink=#663333>
<jsp:include page="header.jsp" flush="true" />
<p>数据管理&amp;gt;&amp;gt;数据索引管理&amp;gt;&amp;gt;索引结果</p>
<%
short[] fieldNos={(short)4,(short)5};
byte[] indexModes={(byte)0,(byte)0};
Date start=null,end=null;
try{
start = new Date();
IndexWriter writer = new IndexWriter((short)2, fieldNos,indexModes,new ChineseAnalyzer());
writer.index();
writer.close();
end = new Date();
}catch(Exception e){
String s=e.toString();
out.println(s);
}
out.println(" 索引成功!共历时:");
out.print(end.
getTime() - start.getTime());
out.println(" 毫秒");
%> </p>
<jsp:include page="footer.html" flush="true" />
</body>
</html>
请教各路神仙!
 
关键还是在这,你是调用第三方的包,具体内部的结构不清楚,看看后台有什么提示?
IndexWriter writer = new IndexWriter((short)2, fieldNos,indexModes,new ChineseAnalyzer());
 
是这样的,第一个在命令行方式下运行的测试程序,运行正常,得出的索引表结构
很完整,说明类indexwriter是完整的,而且是很早以前写好的,一直没动过,为什么
放在jsp里就不行了
 
那你就不要放在JSP中,直接放入后台,你的时间差,由参数返回就可以了
 
而且又发现一个问题,我把库里的索引表结果(由indexwiter测试程序得出的):一个
顺排表,一个倒排表,都drop掉,然后走一遍jsp,发现页面还是只有背景图片,
但库里却有了两个空表(顺排,到排),说明indexwriter工作了(建表了)!
 
不行啊,我得用jsp页面让用户选择对哪个库的哪个字段进行索引啊
 
搞笑,你不能把客户选完的哪个库的哪个字段,传到后台啊?
 
等等,我试试看
 
这种东西,还是作成bean比较好(作成tag最好),然后用参数传递实现。
调试方便,而且页面清晰
 
搞定了,同伴把index程序包中的一个类做了一点修改,但没及时把新编译的class文件
拷贝到tomcat的WEB-INF目录下,命令行方式的测试程序用新编译的class文件包,
所以测试正常,而jsp程序用的是tomcat的WEB-INF目录下的class,所以搞不定;
不好意思,这种低级的失误,让大家费心了:)
不过还是有一点值得注意:怎么找到这个错误的:错误页面没给出具体错误(只出来了
背景图片),无意中我把<jsp:include page="header.jsp" flush="true" />和
<jsp:include page="footer.html" flush="true" />标签去掉后,
异常信息才显示出来,才找到了相应的出错类程序!
不好意思,谢谢大家
 
恩? 分怎么没给出去? 再试一下
 
顶部