类似于百度的搜索引擎模糊查询功能,不过百度的模糊查询功能更强大,这里简单实现下.

要实现模糊查询,首先要做的就是把SQL写好。话不多少,直接贴代码了!

JSP页面:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>My JSP 'search.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page">  <script type="text/javascript" src="prototype.js"></script><style type="text/css">body{font:11px arial;}#suggest{position:absolute;background-color:#FFFFFF;text-align: :left;border: 1px solid #000000;display: none;}</style><script type="text/javascript">function searchSuggest(){var url="Search";var txtSearch=$F("txtSearch");var pars='txtSearch='+txtSearch;var searchAjax=new Ajax.Request(url,{method:'get',  //get方式提交parameters:pars, //提交参数onComplete:processRequest});}function processRequest(req){var sobj=$("suggest");sobj.innerHTML="";var str=req.responseText.split("-");var suggest="";if(str.length>0&&str[0].length>0){for(i=0;i<str.length;i++){suggest+="<div>"+str[i]+"</div>";}sobj.innerHTML=suggest;$("suggest").style.display="block";}else{$("suggest").style.display="none";}}</script></head><body><h3>Ajax自动搜索提示</h3><div style="width:500px"><form action="" id="formSearch"><input type="text" id="txtSearch" name="txtSearch"  οnkeyup="searchSuggest()"autocomplete="off"/><input type="submit" id="cmdSerach" name="cmdSearch" value="搜索"/><br/><div id="suggest" style="width:200px"></div></form></div></body>
</html>

Sevlet类:

package servlet.ajax;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class Search extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");String req=request.getParameter("txtSearch");PrintWriter out = response.getWriter();SearchDao sd=new SearchDao();sd.getText(req);StringBuffer sb=sd.getText(req);out.print(sb.toString());out.flush();}
}

进行连接数据库,模糊查询的JAVA类:

package servlet.ajax;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;public class SearchDao {public StringBuffer  getText(String req){//首先定义下连接数据的URL、用户名、密码String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";String user="scott";String password="yulei123";String sql="select ename from emp a where a.ename like ?";if(req.trim().length()==0){sql=sql+" and 1<>1";}List strList=new ArrayList();try {Class.forName("oracle.jdbc.driver.OracleDriver");Connection con=DriverManager.getConnection(url,user,password);PreparedStatement pre=con.prepareStatement(sql);pre.setString(1,"%"+req.toUpperCase().trim()+"%");ResultSet rs=pre.executeQuery();while(rs.next()){String ename=rs.getString("ename");strList.add(ename);}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}StringBuffer sb=new StringBuffer();int size=strList.size();for(int i=0;i<size;i++){sb.append((String)strList.get(i)+"-");}return sb;}
}

代码写好后,就可以在文本框输入字母后就可以模糊查询出数据了!

转载于:https://www.cnblogs.com/wuyida/p/6300391.html

Ajax 模糊查询的简单实现相关推荐

  1. ajax jsp模糊查询源码,ajax模糊查询api

    ajax模糊查询api 内容精选 换一换 使用标签过滤实例POST /v2/{project_id}/{resource_type}/resource_instances/action请求样例acti ...

  2. ajax 模糊查询,ajax模糊查询api

    ajax模糊查询api 内容精选 换一换 企业管理员通过该接口分页查询终端信息.SLA请求成功率:>99.99%TP99请求时延:64ms您可以在API Explorer中调试该接口.当您使用华 ...

  3. clob和blob是不是可以进行模糊查询_SQL简单查询语、运算符学习和练习

    本次主要学习了SQL语言的书写和运算,多为实操,一定要多写多思考,综合运用起来. 基本查询语句(select *全部 as替换 distinct删除重复) 指定查询条件(where 从哪里查询) 注释 ...

  4. php 模糊查询数据库,php模糊查询_php 简单内容查询代码 利用sql like模糊查询

    摘要 腾兴网为您分享:php 简单内容查询代码 利用sql like模糊查询,中英翻译,云闪付,远离手机,易订货等软件知识,以及多多,345游戏中心,nodejs,湖北教育云app,吨吨吨表情包,dn ...

  5. php 数据库 like,php模糊查询_php 简单内容查询代码 利用sql like模糊查询

    摘要 腾兴网为您分享:php 简单内容查询代码 利用sql like模糊查询,招联金融,先锋影音,西餐菜谱,融汇财经等软件知识,以及迷你忍者,电e宝app,摄像头检查,旗鱼os,京东掌柜宝app,激光 ...

  6. MySQL多重条件模糊查询_简单实现mysql多字段模糊查询

    在后台的项目中,会经常遇到,就是信息的查找,这里就举个简单的例子,如搜索某一个产品的信息,在一个表里面有多个字段,而搜索的内容可能是其中的某个字段,这样只有多字段查询才能实现. MySQL多字段模糊查 ...

  7. mongodb模糊查询 php7_详解php7如何实现MongoDB模糊查询

    php7如何实现MongoDB模糊查询?MongoDB模糊查询语句相信对大家来说都不陌生,本文主要给大家介绍了在php 7中MongoDB实现模糊查询的方法,文中给出了详细的介绍和示例代码,对大家具有 ...

  8. ElasticSearch fuzzy模糊查询(英文检索)

    fuzzy实现模糊查询 value:查询的关键字 boost:查询的权值,默认值是1.0 min_similarity:设置匹配的最小相似度,默认值为0.5, 对于字符串,取值为0-1(包括0和1); ...

  9. Springboot 整合ElasticSearch 常用的插入查询,模糊查询,范围查询

    前言 本来该篇教程就应该写到 Springboot 整合 ElasticSearch 入门教学必看 https://blog.csdn.net/qq_35387940/article/details/ ...

最新文章

  1. asp.net 2.0 权限树的控制
  2. 从一个前端项目实践 Git flow 的流程与参考
  3. c# 添加中文描述 给enum_理解C# 核心概念 – C# 程序集本地化
  4. 字符串移位:如“abcdefghi”右移2位后变成“cdefghiab”
  5. Java黑皮书课后题第6章:*6.15(金融应用:打印税表)程序清单3-5给出了计算税款的程序。使用下面的方法体编写一个计算税款的方法。使用这个方法编写程序,打印可征税人从50000到60000间隔
  6. 5.8 正则化和数据标准化
  7. 软工作业PSP与单元测试训练
  8. 数据结构与算法之-----栈的应用(三)
  9. php原创程序,[原创]我写的最短的微博程序(PHP)
  10. dblink 同步数据_使用DBLINK同步TC数据库
  11. 全国行政区划json数据包
  12. android电视不能root权限,智能电视如何刷机获取root权限,当贝市场推荐四种方法!...
  13. 极速office如何插入超链接
  14. java http 传输二进制流_文件以二进制流POST的HTTP请求
  15. chromium代码结构
  16. 【线程 锁】ExecutorService的submit方法使用
  17. Caffe windows下安装攻略
  18. python-Django【初级】10天到精通学不会全额退-张子夜-专题视频课程
  19. C++11 多线程之 packaged_task
  20. 班导师见面会会议记录

热门文章

  1. springboot---request 中Parameter,Attribute区别
  2. React-Native 指定模拟器RUN-IOS
  3. ORA-30649: 缺少DIRECTORY关键字的问题解决方法
  4. 为Tiny4412设备驱动在proc目录下添加一个可读版本信息的文件
  5. python 时间日期处理
  6. windows下使用cpanm进行模块安装
  7. 基于智能的网络空间安全防御
  8. 五款常用邮件管理系统评测
  9. 汉邦高科范俊峰:关于透雾摄像机那点事
  10. struct x264_t 维护着CODEC的诸多重要信息