`
wytkings
  • 浏览: 6473 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

类似Google搜索引擎

阅读更多
//action 代码。。。。

public ActionForward suggest(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Throwable { 
    response.setContentType("application/xml;charset=UTF-8");
    response.setHeader("Charset","UTF-8");
    response.setCharacterEncoding("UTF-8");
        String output = "";
        //处理接受的参数
        String key = getString(request.getParameter("fname"));
        if(!"".equals(key)){
        ArrayList matchList = getMatchString(key);
            if(!matchList.isEmpty()){
                output += "<response>";
                for(int i=0;i<matchList.size();i++){
                    String match = matchList.get(i).toString();
                    output  += "<item>"+match+"</item>";
                }
                output +="</response>";
            }
        }
        response.setContentType("text/xml");
        response.getWriter().print(output);
        return null;
    }
   
    public ArrayList getMatchString(String key){
    ArrayList prod = new ArrayList();
    List<Product> productList = (List<Product>)productService.loadProduct();
    if(productList.size() != 0){
    for (Product product : productList) {
prod.add(product.getFname());
}
    }
        ArrayList result = new ArrayList();
        if(!prod.isEmpty()){
        int k = 0;
            for(int i=0;i<prod.size();i++){
                String str = prod.get(i).toString();
                if(str.startsWith(key)){
                k++;
                    result.add(str);
                    if(k == 4){
                    break;
                    }
                }
            }
        }
        return result;
    }

//客服端代码。。。。。。。。。。。 脚本

//================ 搜索提示方法
function createXMLHttpRequest(){
  
   if (window.ActiveXObject){
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}else if (window.XMLHttpRequest){
XMLHttpReq = new XMLHttpRequest();

   }
   //出来服务器响应效果
   function handleResponse(){
if(XMLHttpReq.readyState == 4){
if(XMLHttpReq.status == 200){
clearTable();
var out = "";
var res = XMLHttpReq.responseXML;   
var items = res.getElementsByTagName("item"); 
for(var i=0;i<items.length;i++){   
addRow(items(i).firstChild.nodeValue);
}
setDivStyle();
}
}  
   }
  
   // 清除表格中的结果
   function clearTable(){
   var content = document.getElementById("content");
   while(content.childNodes.length>0){
   content.removeChild(content.childNodes[0]);
   }
   }
  
   //向输入提示的表格中添加一条记录
   function addRow(item){ 
   var content = document.getElementById("content");
   var row = document.createElement("tr");
   var cell = document.createElement("td");
   cell.appendChild(document.createTextNode(item));  
   cell.onmouseover = function(){this.style.background="#00CCCC"};
   cell.onmouseout = function(){this.style.background="#f5f5f1"};
   cell.onclick = function(){
   document.getElementById("fname").value = this.innerHTML;
   document.getElementById("suggest").style.visibility="hidden"}; //hidden
   row.appendChild(cell);
   content.appendChild(row); 
   }
   //发送客户端请求
   function sendRequest(url){
   createXMLHttpRequest();
   XMLHttpReq.open("GET",url,true);
   //指定响应函数
   XMLHttpReq.onreadystatechange = handleResponse;
   XMLHttpReq.send(null);
   }
  
   //调用AJAX自动提示功能
   function suggest(){
   var fname = document.getElementById("fname").value; 
   fname = fname.replace(/(^\s*)|(\s*$)/g,"");
   sendRequest("ProductAction.do?postMethod=suggest&fname="+fname)
   }
   // 设置输入提示框的位置和风格
   function setDivStyle(){
   var suggest = document.getElementById("suggest"); 
   suggest.style.border = "black 1px solid";
   suggest.style.left = 475;
   suggest.style.top = 147;
   suggest.style.width = 262; 
   suggest.style.backgroundColor ="";
   document.getElementById("suggest").style.visibility = "block";
   }

//客服端页面。。。。。。。。


<table width="80%" border="0" align="center" cellpadding="0"
cellspacing="0">
<tr>
<td width="29%" align="right"><span
style="color: white;font-size:20px;font-weight: bold">商品搜索</span></td>
<td width="36%"><html:text property="fname" size="25"
style="font-size:20px;height:20px" maxlength="25"
onkeyup="suggest()" onkeydown="enterEvent();"/>
<div id="suggest" style="position:absolute;top:0;left:0;">
<table align="left" style="font-size: 20px;height: 20px"
bordercolor="#FFFFFF">
<tbody id="content" style="font-size: 20px;height: 16px"></tbody>
</table>
</div>

</td>
<td width="9%" align="left"><img src="images/eshop/search.gif"
width="40" height="30" style="cursor: hand"
onClick="javascript:pageControl('First');todo('to_search')"></td>
<td width="26%"
style="color: white;font-size:20px;font-weight: bold"><html:link
href="#" onclick="advanced_search();">进入高级搜索</html:link></td>
</tr>
</table>
0
1
分享到:
评论

相关推荐

    动态查找类似谷歌搜索引擎

    【标题】"动态查找类似谷歌搜索引擎"涉及到的核心技术是HTML和JavaScript,这两种技术在Web开发中扮演着重要的角色。HTML(HyperText Markup Language)用于构建网页的结构,而JavaScript则负责网页的交互性和动态...

    (jsp+ajax)实现了类似google的搜索引擎(源代码)

    【标题】:“(jsp+ajax)实现了类似google的搜索引擎(源代码)”是一个基于JSP、AJAX和JavaScript技术构建的Web应用项目,旨在提供一种类似于谷歌搜索引擎的用户体验。这个项目的核心在于利用AJAX实现动态数据交互,...

    利用AJAX实现google搜索引擎

    本主题将详细讲解如何利用AJAX来实现一个类似Google搜索引擎的功能,使得用户在输入关键词时能够实时获取搜索结果,无需每次点击“搜索”按钮来刷新整个页面。 一、AJAX基础概念 AJAX并非一种单一的技术,而是一种...

    模拟百度google搜索引擎

    "模拟百度google搜索引擎"是一个项目,旨在实现类似百度和Google的搜索功能,提供模糊查找的能力,让用户可以方便地检索信息。这个项目可能涉及到多个技术层面,包括数据结构、算法、网络爬虫、自然语言处理等。 ...

    搜索引擎 谷歌 百度 实例

    谷歌搜索引擎是全球最大的搜索引擎,其核心技术包括PageRank算法和Panda、Penguin、Hummingbird等一系列更新。PageRank是评估网页重要性的基础,它考虑了网页之间的链接结构。Panda更新则关注内容质量,旨在提升高...

    搜猫搜索引擎源码|仿百度搜索引擎源码

    【标题】"搜猫搜索引擎源码|仿百度搜索引擎源码"揭示了这是一份与搜索引擎相关的源代码,特别提到了“搜猫”品牌,并模仿了知名的百度搜索引擎的某些功能或设计。这个源码可能是用于学习、研究或者开发自己的搜索...

    google9搜索引擎源码

    谷歌搜索引擎是全球知名的互联网搜索引擎,其背后的技术与算法在行业内具有极高的研究价值。"google9搜索引擎源码"虽然可能并非官方的Google搜索系统,但作为一个类似的开源项目,它为学习和理解搜索引擎工作原理...

    类似google搜索功能实现

    在IT行业中,实现类似Google搜索功能是一项复杂而高级的任务,涉及到搜索引擎优化(SEO)、信息检索、数据处理和算法等多个领域的知识。以下将详细介绍这个过程的关键技术点。 首先,我们需要理解Google搜索的核心...

    提取 sitemap 中的链接,利用百度、必应、谷歌 API 自动 推送至搜索引擎,提升网站收录速度

    本文将详细介绍如何通过提取 sitemap 中的链接并利用百度、必应和谷歌的 API 自动推送至这些搜索引擎,从而加速网站收录。 首先,我们需要了解什么是 sitemap。sitemap 是一种 XML 文件,它列出了网站的所有重要...

    Google搜索引擎的核心——PageRank算法综述

    ### PageRank算法:Google搜索引擎的核心 #### 引言:搜索引擎技术的发展与PageRank的诞生 随着信息技术的迅猛发展,特别是互联网的普及,信息数字化和数据网络化已成为现代社会经济发展的基石。互联网作为全球...

    ajax+jsp仿谷歌搜索引擎

    结合JavaServer Pages (JSP) 和JSON(JavaScript Object Notation)数据格式,可以构建高效、用户友好的搜索功能,就像谷歌搜索引擎中的文本框自动补全功能一样。下面我们将深入探讨如何利用这些技术来实现这一目标...

    搜索引擎网址登录(推荐)

    ### 搜索引擎网址登录知识点详解 #### 一、搜索引擎网址登录概述 搜索引擎网址登录是指网站所有者或SEO人员主动向搜索引擎提交网站URL的过程,目的是加快搜索引擎对网站的收录速度,提高网站在搜索结果中的可见性...

    仿网易搜索引擎

    "仿网易搜索引擎"是一个项目,旨在模仿网易搜索引擎的功能和界面,提供给用户一个类似的搜索体验。这个项目可能涉及到了多个IT领域的知识点,包括但不限于前端开发、后端开发、数据库设计、网页交互以及搜索引擎优化...

    深蓝搜索引擎dbse.rar

    人们已经习惯于通过google、百度、Yahoo等知名搜索引擎在国际互联网...这几部分有机结合,从而为您建立一个类似Google风格的Internet全文搜索引擎!  最佳适用范围:校园网、园区网、其它局域网,也可应用于Internet。

    搜索引擎完全手册.

    《搜索引擎完全手册》是一本详尽介绍Google搜索技巧和功能的指南,旨在帮助用户从基础到高级全面掌握Google搜索引擎的使用。Google作为当前最强大的搜索引擎之一,它的高效搜索能力和多样化功能使得用户能够快速准确...

    .net元搜索引擎详解

    南京信息工程大学的这项研究工作,不仅为气象领域的专业人员提供了一款高效、准确的搜索工具,也为其他领域开发类似的主题搜索引擎提供了参考和技术支持。未来,随着技术的进步和应用场景的扩展,这类专门化的搜索...

Global site tag (gtag.js) - Google Analytics