java ajax搜索框提示,ajax+JQuery实现类似百度智能搜索框

本文介绍了如何使用Ajax和jQuery实现一个类似百度首页的搜索框功能。通过在keyup事件中发送Ajax请求到登录Servlet,根据用户输入进行模糊查询。Servlet接收到请求后,调用DAO层方法从数据库获取数据,并将结果转换成JSON字符串返回。在前端,接收到响应后将数据展示在隐藏的div中。这是一个初学者的学习记录,旨在分享和交流。
摘要由CSDN通过智能技术生成

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

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

ae92dfcd60d81b0eb705d96e8c8f17e6.png

项目的目录结构:

3e5ccd48f3efd40a69639771cb6452d6.png

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

pageEncoding="UTF-8"%>

Insert title here

#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

}

$(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(

"

" + data.message + "
");

$("#box").css("display", "block");

});

}

}, "json");

} else {

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

}

});

})

type="button" id="button" value="百度一下">

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

1 packagecom.wdh.servlet;2

3 importjava.io.IOException;4 importjava.util.List;5

6 importjavax.servlet.ServletException;7 importjavax.servlet.annotation.WebServlet;8 importjavax.servlet.http.HttpServlet;9 importjavax.servlet.http.HttpServletRequest;10 importjavax.servlet.http.HttpServletResponse;11

12 importcom.alibaba.fastjson.JSON;13 importcom.wdh.bean.School;14 importcom.wdh.dao.SchoolDao;15 importcom.wdh.dao.SchoolDaoImpl;16

17 /**

18 * Servlet implementation class LoginServlet19 */

20 @WebServlet("/loginServlet")21 public class LoginServlet extendsHttpServlet {22 private static final long serialVersionUID = 1L;23

24 protected voiddoGet(HttpServletRequest request, HttpServletResponse response)25 throwsServletException, IOException {26 //1获取请求参数

27 String shuru = request.getParameter("shuru");28 //2处理业务

29 SchoolDao schoolDao = newSchoolDaoImpl();30 List 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 voiddoPost(HttpServletRequest request, HttpServletResponse response)40 throwsServletException, IOException {41 //TODO Auto-generated method stub

42 doGet(request, response);43 }44

45 }

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

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

997e1ea5615b287fc5dcd338bfd15a68.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值