Servlet+ajax实现模糊搜索

来源:互联网 发布:mac怎么安装hbuilder 编辑:程序博客网 时间:2024/05/09 09:55
 一.实现ajax方式可以是javascript或者jquery,初学者建议使用javascript。

二.首先新建一个jsp文件或者html文件,做一个简单的输入框<input/>,查看百度的模糊搜索(智能搜索);然后再添加一个table作为展示查询数据

三,我们在<input/>标签里面绑定三个事件,分别是onkeyup,onblur,onfous.对应的是当释放键盘时,当输入框离开时,当输入框聚焦时。我们仔细观餐百度搜索时,这三种情况下输入的情况,这里自己去试一试。我对onkeyup绑定了getMoreCondtents方法,当键盘释放时,就会自动执行这个方法,后面俩个事件一样。然后跳转我们的jgetMoreContents方法中去。这个我给大家提供后思路,自己去写JS。

四.通过ajax访问servlet,自己在web.xml里面配置自己新增的servlet
public class SearchServlet extends HttpServlet {
static List<String>datas = new ArrayList<String>();
static{
datas.add("ajax");
datas.add("as");
datas.add("adsfs");
datas.add("asdfdsffds");

}

protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String keyword=request.getParameter("keyword");
List<String>listData= getData(keyword);
//返回json格式数据

response.getWriter().write(JSONArray.fromObject(listData).toString());

}

//获得关联数据的方法

public List<String> getData(String keyword){

 List<String>list = new ArrayList<String>();

 for(String data:datas){if(data.contains(keyword)){

 list.add(data);

}

return list;

}

然后我自己构造了一个List数据当作测验,当然你可以在连接数据库进行操作,这里我就不多说。然后将获得的数据返回前台

然后对数据动态的生成就Ok了,第三步我已写了源代码,跟着函数的调用步奏就好了。


1 0