📄 xianshi.jsp
字号:
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8"import="java.sql.*" %><%@ page import="java.net.*"%><%@ page pageEncoding="UTF-8"%><%! Connection conn=null; %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><jsp:useBean id="db_conn" scope="page" class="user.DB"/><jsp:useBean id="onlySort" scope="page" class="sort.sort"/><jsp:useBean id="lotSort" scope="page" class="sort.sort"/><jsp:useBean id="addTimes" scope="page" class="changeHotSearch.changeHotSearch"/><html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>智能文档检索</title> <style type="text/css" media="screen"> body { font: 11px arial; } .suggest_link { background-color: #FFFFFF; padding: 2px 6px 2px 6px; } .suggest_link_over { background-color: #E8F2FE; padding: 2px 6px 2px 6px; } #search_suggest { position: absolute; background-color: #FFFFFF; text-align: left; border: 1px solid #000000; } </style><script language="JavaScript" type="text/javascript" > function check() { if(form1.txtSearch.value=="") {window.alert("检索信息不能为空!"); form1.txtSearch.focus(); form1.action=""; } } //Gets the browser specific XmlHttpRequest Object function getXmlHttpRequestObject() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } else if(window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP"); } else { alert("Your Browser Sucks!\nIt's about time to upgrade don't you think?"); } } function createAjaxObj(){ var httprequest=false if (window.XMLHttpRequest) { // if Mozilla, Safari etc httprequest=new XMLHttpRequest() if (httprequest.overrideMimeType) httprequest.overrideMimeType('text/xml') } else if (window.ActiveXObject) { // if IE try { httprequest=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e){ try{ httprequest=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){} } } return httprequest } //Our XmlHttpRequest object to get the auto suggest var searchReq = createAjaxObj(); //Called from keyup on the search textbox. //Starts the AJAX request. function searchSuggest() { if (searchReq.readyState == 4 || searchReq.readyState == 0) { var str =document.getElementById('txtSearch').value;//escape(document.getElementById('txtSearch').value); str=encodeURI(str); var url = "auto.jsp?search="+str; searchReq.open("GET", url, true); searchReq.setRequestHeader( "Content-Type", "text/html;charset=UTF-8" ); searchReq.onreadystatechange = handleSearchSuggest; searchReq.send(null); } } //Called when the AJAX response is returned. function handleSearchSuggest() { if (searchReq.readyState == 4) { var ss = document.getElementById('search_suggest'); var str = unescape(searchReq.responseText); ss.innerHTML=""; var str = searchReq.responseText.split(","); for(i=0; i < str.length - 1; i++) { var suggest = '<div onmouseover="javascript:suggestOver(this);" '; suggest += 'onmouseout="javascript:suggestOut(this);" '; suggest += 'onclick="javascript:setSearch(this.innerHTML);" '; suggest += 'class="suggest_link">' + str[i] + '</div>'; ss.innerHTML += suggest; } } } //Mouse over function function suggestOver(div_value) { div_value.className = 'suggest_link_over'; } //Mouse out function function suggestOut(div_value) { div_value.className = 'suggest_link'; } //Click function function setSearch(value) { document.getElementById('txtSearch').value = value; document.getElementById('search_suggest').innerHTML = ''; } </script><style type="text/css"><!--.STYLE2 {color: #FF0000}.STYLE3 {color: #545454;font-size: 18px;font-family: "宋体";}.STYLE4 {font-family: "华文行楷";font-size: 24px;}.STYLE5 {font-size: 12px}.STYLE7 {font-family: "黑体";font-size: 16px;}.STYLE8 {color: #FF0000;}--></style></head><body><% if(conn==null){conn=db_conn.getConnection();}//连接数据库Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);Statement stmt1=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);Statement stmt2=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);int intPageCount555=0;boolean mhflag=false;int l=0;//记录文章数 int n[]=new int[1000];//存入文章号 int intPageSize; //一页显示的记录数//分页int intRowCount; //记录总数int intPageCount=0; //总页数int intPage=1; //待显示页码String strPage;int ppp;intPageSize = 4; //设置一页显示的记录数strPage = request.getParameter("page"); //取得待显示页码if(strPage==null){intPage = 1;}//表明在QueryString中没有page这一个参数,此时显示第一页数据else{intPage = Integer.parseInt(strPage);if(intPage<1) intPage = 0;}//将字符串转换成整型String parameterValue=null;if(intPage==1){ String value=request.getParameter("txtSearch");//取得输入内容 if(value!=null) { byte[] bytesStr=value.getBytes("ISO-8859-1"); parameterValue=new String(bytesStr,"UTF-8"); } if(value==null) { String text2=request.getParameter("text2");//取得点击的内容 if(text2!=null) { value=java.net.URLDecoder.decode(text2,"UTF-8"); parameterValue=value; } } if(parameterValue!=null)//保存取得文本匡的内容 用于分页显示时 { session.setAttribute("tiaoj",parameterValue); } else//提取出保存文本匡的内容 用于分页显示时 { String tiaoj=null; Object ob=session.getAttribute("tiaoj"); tiaoj=ob.toString(); parameterValue=tiaoj; } } if(intPage!=1)//提取出保存文本匡的内容 用于分页显示时 { String tiaoj=null; Object ob=session.getAttribute("tiaoj"); tiaoj=ob.toString(); parameterValue=tiaoj;} String toprs[]=(String[])session.getAttribute("topword");int Maxid;String maxsql="select top 1 ID from hotsearch order by ID desc";ResultSet maxrs=stmt2.executeQuery(maxsql);maxrs.next();Maxid=maxrs.getInt("ID")+1;%><form name="form1" method="post" action="xianshi.jsp"> <table> <font size=5> <tr> <td width=80>热门搜索:</td><%for(int i=0;i<10;i++){ String word=toprs[i]; String ww=java.net.URLEncoder.encode(word,"UTF-8");%><TD><TD width=100><p align="center"><a href="xianshi.jsp?text2=<%=ww%>"><%=word%></a></p></TD></TD><%}%></tr></font></table><table width="100%" border="0" align="left"> <tr> <td bordercolor="8"> <table width="80%" border="0" align="left" id="1"> <tr> <td width="27%" height="93"><div align="right"> <p class="STYLE1"><span class="STYLE2"><span class="STYLE4">智能文档 </span></span><span class="STYLE3">检索</span></p> </div> </td> <td width="47%"> <table width="89%" height="70" border="0" align="center" id="2"> <tr> <td height="62" bordercolor="2"><div align="left" class="STYLE3"> <input type="text" class="STYLE3" id="txtSearch" name="txtSearch" alt="Search Criteria" onkeyup="searchSuggest();" autocomplete="off" size="40" value="<%=parameterValue%>" /><br /> <div id="search_suggest"> </div> </div> </td> </tr> <tr> <td height="2"></label></td> </tr> </table> </td> <td width="26%"> <table width="100%" border="0" id="3"> <tr> <td height="19"><label> </label> <div align="left" class="STYLE5"> <input type="submit" value="提交" onclick="check()"/> </div> </td> </tr> </table> <label></label> </td> </tr></table></td></tr><tr><td bordercolor="8" bgcolor="#e6f2ff"> <A href="http://www.hbu.edu.cn" class="STYLE5" onclick="this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.hbu.edu.cn');return false;">设河北大学为首页</A></td></tr></table><p> </p><p> </p><p> </p><p> </p><font size=5><table width="66%" height="100%" border="0" align="left"> <tr> <td height="400"><% StringTokenizer zuhe_sTokenizer=null;int zuhe_mmm=0; //检查输入内容,寻找同义词 或 多关键子的任意组合int zuhe_mmmm=0;int zuhe_mmmmm=0;String zuhe_nnn[]=new String[3000];//存放输入的内容 和 同义词String zuhe_nnnn[]=new String[3000];//存放输入的内容String zuhe_nnnnn[]=new String[3000];//存放输入的内容 和 同义词 的任意搭配String zuhe_eq1=null;String zuhe[][]=new String[10][10];int n1,n2,n3;zuhe_sTokenizer=new StringTokenizer(parameterValue,"\t\b.,:?#;'@!$%^*&()《》 ");//提取要搜索的内容,去掉没用的空格while(zuhe_sTokenizer.hasMoreTokens()){ String zuhe_lisi=zuhe_sTokenizer.nextToken(); zuhe_nnnn[zuhe_mmmm]=zuhe_lisi;//分解的输入内容放到zuhe_nnnn[mmmm]里 zuhe_nnn[zuhe_mmm]=zuhe_lisi;//存放输入的内容 和 同义词 zuhe_mmmm++; zuhe_mmm++; }if(zuhe_mmmm==1)//输入的内容是一段 找同义词{zuhe_nnnnn[0]=zuhe_nnnn[0];zuhe_mmmmm++;String zuhe_eqsql="select eq from tablex where word='"+zuhe_nnnn[0]+"' and eq<>''";//找同义词ResultSet zuhe_eqrs=stmt2.executeQuery(zuhe_eqsql); if(zuhe_eqrs.next()) { String zu=zuhe_eqrs.getString("eq"); StringTokenizer zu_sTokenizer=new StringTokenizer(zu,"\\"); while(zu_sTokenizer.hasMoreTokens()) { String lisi=zu_sTokenizer.nextToken(); lisi=lisi.trim(); zuhe_nnnnn[zuhe_mmmmm]=lisi;//分解的输入内容放到nnn[mmm]里 zuhe_nnn[zuhe_mmm]=lisi;//存放输入的内容 和 同义词 zuhe_mmmmm++; zuhe_mmm++; } }}if(zuhe_mmmm==2)//输入的内容是2段 找同义词{ n1=0;n2=0; for(int i=0;i<=1;i++) {String zuhe_eqsql="select eq from tablex where word='"+zuhe_nnnn[i]+"' and eq<>''"; ResultSet zuhe_eqrs=stmt2.executeQuery(zuhe_eqsql); if(i==0) { zuhe[0][n1]=zuhe_nnnn[i]; n1++; if(zuhe_eqrs.next())
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -