ajax+JQuery实现类似百度智能搜索框

最近再学习ajax,上课老师让我们实现一个类似百度首页实现搜索框的功能,刚开始做的时候没有一点头绪,查阅大量网上的资源后,发现之前的与我们现在的有些区别,所以在此写出来,希望能对大家有所帮助.

下面先展示下效果图:(ps:图片中的文字是参考的,不具有任何的攻击意义)

项目的目录结构:

一:首先是login.jsp页面 需要注意的是我是通过js的类库(Jquery)封装的ajax,需要在webcontent下面导入jquery jar包,代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style type="text/css">
#shuru {
	width: 500px;
	height: 35px;
	border: 1px solid #c3c3c3;
}

#button {
	width: 85px;
	height: 37px;
	border: 1px solid #c3c3c3;
}

#box {
	width: 500px;
	border: 1px solid #c3c3c3;
	margin-left: -85px;
	display: none;
	text-align: left
}
</style>
<script type="text/javascript" src="js/jquery-2.1.0.min.js"></script>
<script type="text/javascript">
	$(function() {
		//0键盘抬起事件 通过div中的ID获取input输入框
		$("#shuru").keyup(
				function() {

					$("#box").empty();
					//1 获取输入框的值
					var shuru = $(this).val().trim();
					//alert(shuru);

					//判断用户输入的是否为空,如果为空不发送ajax
					if (shuru != null && shuru != "") {
						//2 发送ajax
						$.post("loginServlet", "shuru=" + shuru, function(
								result) {
							//alert(result);
							if (result == null || result == "") {
								$("#box").css("display", "none");
							} else {
								//遍历结果集
								$.each(result, function(index, data) {

									//alert(index+""+data.message)
									//显示在隐藏div上面
									$("#box").append(
											"<div>" + data.message + "</div>");
									$("#box").css("display", "block");

								});

							}

						}, "json");
					} else {

						$("#box").css("display", "none");
					}

				});
	})
</script>

</head>
<body>
	<center>
		<div>
			<img  src="img/bd_logo1.png" width="310" height="110">
			<div>
				<input type="text" id="shuru" name="shuru"><input
					type="button" id="button" value="百度一下">
				<div id="box"></div>
			</div>

		</div>

	</center>
</body>
</html>

二 为LoginServlrt.servlet 在 servlet包中 代码如下:

 1 package com.wdh.servlet;
 2
 3 import java.io.IOException;
 4 import java.util.List;
 5
 6 import javax.servlet.ServletException;
 7 import javax.servlet.annotation.WebServlet;
 8 import javax.servlet.http.HttpServlet;
 9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11
12 import com.alibaba.fastjson.JSON;
13 import com.wdh.bean.School;
14 import com.wdh.dao.SchoolDao;
15 import com.wdh.dao.SchoolDaoImpl;
16
17 /**
18  * Servlet implementation class LoginServlet
19  */
20 @WebServlet("/loginServlet")
21 public class LoginServlet extends HttpServlet {
22     private static final long serialVersionUID = 1L;
23
24     protected void doGet(HttpServletRequest request, HttpServletResponse response)
25             throws ServletException, IOException {
26         // 1获取请求参数
27         String shuru = request.getParameter("shuru");
28         // 2处理业务
29         SchoolDao schoolDao = new SchoolDaoImpl();
30         List<School> list = schoolDao.queryMore(shuru);
31         System.out.println(list);
32         // 将list集合转成 json字符串
33         String json = JSON.toJSONString(list);
34         // 3 响应
35         response.getWriter().write(json);
36
37     }
38
39     protected void doPost(HttpServletRequest request, HttpServletResponse response)
40             throws ServletException, IOException {
41         // TODO Auto-generated method stub
42         doGet(request, response);
43     }
44
45 }

三,连接数据库使用JDBC连接的数据库

3在BasicDao.java中是封装好的对数据库的增删改查,创建实现类接口,继承basicDao,实现查询语句即可,在数据库操作语言里面,实现模糊查询,代码如图:

这是第一次写博客,写的不好,希望大家包容,我也是希望通过这种方式,来学习,进步,欢迎大家,留言讨论

原文地址:https://www.cnblogs.com/wdh1166/p/11366809.html

时间: 2024-08-17 20:15:37

ajax+JQuery实现类似百度智能搜索框的相关文章

Jquery实现类似百度的搜索框

最近工作中需要做一个搜索框,类似百度的搜索框,需要达到两个功能: 1.输入关键字,展示匹配的下拉列表 2.选择匹配的项后查出相关内容 一般电商网站中也经常用到该搜索条,首先分析功能实现,输入关键字马上显示匹配项列表,实现该功能输入框需要绑定"input"事件,然后向后台发送异步请求,将数据展示在页面上.使用鼠标或上下键选择匹配项,点击搜索或"Enter"键后搜索具体结果.这里要用到两个异步请求,第一个请求匹配项,第二个请求搜索结果.键盘,鼠标以及输入框的事件都要监听

使用javascript ajax C#实现类似百度的搜索框效果

先看一下最终效果  样式不太好看,但是功能是完全可行的,在文本框中输入文字之后,会实现自动搜索的功能. 首先介绍一下原理: 文本框下方是一个div,里面是一个ul标签,初始状态此ul中不包含任何的li标签. 当文本框文字改变的时候,使用ajax把文本框内容取出来,传递到后台,在后台中从数据库查询数据并把结果返回到前台页面. 返回的结果格式设置为:A,B,C,D:以便在前台实现字符串分割. 前台页面把返回的字符串切分成数组,依次遍历并给ul添加li节点. 具体方法: ①前台布局就不多说了 ,重要的

百度智能搜索框模拟(原创)

<input id="testID" type="text"/> <ul id="test1"> </ul> <script src="http://code.jquery.com/jquery-latest.js"></script> <script > var queryURL="http://suggestion.baidu.com/su?

淘宝购物车页面 智能搜索框Ajax异步加载数据

如果有朋友对本篇文章的一些知识点不了解的话,可以先阅读此篇文章.在这篇文章中,我大概介绍了一下构建淘宝购物车页面需要的基础知识. 这篇文章主要探讨的是智能搜索框Ajax异步加载数据.jQuery的社区非常的活跃,许多朋友都在不同地方分享了很多优秀的插件.我在相关的网站上找过想实现类似功能的插件,但是没有找到.于是乎,自己动手丰衣足食.自己来搭建智能搜索框下拉列表.当然,如果有类似功能并且常维护Bug的插件,望留言交流. 源码地址: 淘宝购物车页面--PC端和移动端项目实战 首先需要先给大家打一根

PHP+mysql数据库开发类似百度的搜索功能:中英文分词+全文检索(MySQL全文检索+中文分词(SCWS))

PHP+mysql数据库开发类似百度的搜索功能:中英文分词+全文检索 中文分词: a)   robbe PHP中文分词扩展: http://www.boyunjian.com/v/softd/robbe.html i.  Robbe完整版本下载:Robbe完整版本(PHP测试程序, 开发帮助文档, WinNT下php各版本的dll文件)下载: http://code.google.com/p/robbe(“谷歌”无法使用) b) SCWS(简易中文分词) 基于HTTP/POST的分词 : htt

js 百度云搜索框

// ==UserScript==// @name 百度云插件+APIKey// @namespace // @version 5.0.2.1// @description 在百度云网盘的页面添加一个搜索框,调用搜索API搜索所有公开分享文件// To add a search frame that calls some api for searching some public shared files in BaiduYun cloud netdisk. // @include /https

jQuery+HTML5弹出创意搜索框层

效果体验:http://hovertree.com/texiao/jquery/26/ 本效果适用于移动设备,可以使用手机等浏览效果. 代码下载:http://hovertree.com/h/bjaf/e14uccpw.htm HTML代码如下: 1 <!doctype html> 2 <html lang="zh"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta http-

使用jQuery和CSS3生成的搜索框变形全屏搜索效果

在线演示 本地下载 使用jQuery和CSS3过渡变形效果生成的一个搜索框变形效果实现,可以帮助你更好利用页面格式和内容.实验性质的代码,请大家在产品环境里自己修改使用!

如何制作一个必应(百度)搜索框?

代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 <meta charset="UTF-8"> <title>Document</title> <style type="text/css">     *{         margin:0