| resultString=Html.TextEncode(resultString);
myFileReader.close();
// 取出查询关键字
Pattern p=null;
Matcher m=null;
p = Pattern.compile("\\+");
String[] a=p.split(keyWord);// 把关键字用 + 分开
// 全文检索
String searchResult="1";// 检索结果
int i;
for(i=0;i<a.length;i++)// 逐个按关键字查找,如果所有的关键字都符合,则记录结果
{
p = Pattern.compile(a[i].toString());
m = p.matcher(resultString);
if (!(m.find())) {
searchResult="0";
}
}
// 记录符合条件的新闻
if(searchResult.equals("1"))
{
News resultNews=new News();// 存放结果的类,和数据库的结构基本一致
resultNews.content=content;
resultNews.release_time=release_time;
resultNews.type=news_type;
resultNews.man_add=man_add;
resultNews.title=title;
news.addElement(resultNews);// 最后的结果集,要返回客户端
}
}
// 关闭数据库
DbaObj.CloseConnection() ;
/SPAN>}catch(Exception e){
System.out.println(e.toString());
}
}
public class News { // 存放结果的类
String content;
String release_time;
String type;
String man_add;
String title;
public String getContent() { return this.content; }
public String getTitle() { return this.title; }
public String getTime() { return this.release_time; }
public String getType() { return this.type; }
public String getMan_add() { return this.man_add; }
}
}
下面的代码是调用的: aftsearch.jsp
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="java.util.*" %>
<%
request.setCharacterEncoding("GB2312");
String keyword=request.getParameter("keyword"); // 接收关键字
String trace=getServletContext().getRealPath("/")+"xwxx\\news\\";// 主体新闻存放路径
NEWS.newsSearch newsSearch=new NEWS.newsSearch();// 初始化检索的 bean
newsSearch.setFilePath(trace);// 设置主体新闻路径
newsSearch.setKeyWord(keyword);// 设置关键字
newsSearch.search();// 检索
Vector news=newsSearch.getResult();// 取到结果
%>
<html>
<head>
<title> 新闻搜索 </title>
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<link rel="stylesheet" href="../css/style3.css">
&l;script LANGUAGE="javascript">
function open_window(id)
{
locat="./news/"+id+".htm";
|