站内搜索 简单粗暴放代码

站内搜索 简单粗暴放代码第一步:创建表单,放搜索框第二步:写JS第三步:在Web层创建Servlet,使用的gson转换的json格式,需要导包第四步:创建Service第五步:创建Dao,使用的C3P0和

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

第一步:

  创建表单,放搜索

    <form >
        输入用户名:<input type="text" id="username" >    
        <span id="usernameInfo"></span><br>
        <br>
        <div style="position:relative">
            <input id="search" type="text" placeholder="Search" onkeyup="searchWord(this)">         <button type="submit">Submit</button>
            <div id="showDiv" style="display:none;position:absolute;z-index:1000;background:#fff; width:141px;border:1px solid #ccc;"></div>
        </div>
    </form>

第二步:

  写JS

<script type="text/javascript">    
  function overFn(obj){
    $(obj).css("background","#DBEAF9");
  }
  function outFn(obj){
    $(obj).css("background","#fff");
  }                    
  function clickFn(obj){
    $("#search").val($(obj).html());
    $("#showDiv").css("display","none");
  }                    
   function searchWord(obj){
     //1、获得输入框的输入的内容
     var word = $(obj).val();
     //2、根据输入框的内容去数据库中模糊查询---List<Product>
     var content = "";
     $.post(
     "${pageContext.request.contextPath}/searchWord",
     {"word":word},
     function(data){
       //3、将返回的商品的名称 现在showDiv中
        if(data.length>0){
          for(var i=0;i<data.length;i++){
             content+="<div style='padding:5px;cursor:pointer' onclick='clickFn(this)' onmouseover='overFn(this)' onmouseout='outFn(this)'>"+data[i]+"</div>";
           }
        $("#showDiv").html(content);
        $("#showDiv").css("display","block");
        }
      },
      "json"
      );
  }
</script>

第三步:

  在Web层创建Servlet,使用的gson转换的json格式,需要导包

public class SearchWordServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
            throws ServletException, IOException {

        //获得关键字
        String word = request.getParameter("word");
        //查询改关键字的所有商品
        UserService service = new UserService();
        List<Object> userList = null;
        try {
            userList = service.findUserByWord(word);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        //[{"username":"admin","phone":"17805054371","role":"超级管理员"...},{},{}...]
        //使用json的转换工具
        /*1、JSonlib
        JSONArray fromObject = JSONArray.fromObject(userList);
        String string = fromObject.toString();
        System.out.println(string);
    */    
        Gson gson = new Gson();
        String json = gson.toJson(userList);
        response.setContentType("texy/html;charset=UTF-8");
        response.getWriter().write(json);
    
    }


    protected void doPost(HttpServletRequest request, HttpServletResponse response) 
            throws ServletException, IOException {
        doGet(request,response);
    }
}

第四步:

  创建Service

public class UserService {

    public List<Object> findUserByWord(String word) throws SQLException {
        UserDao dao = new UserDao();
        return  dao.findUserByWord(word);        
    }

}

第五步:

  创建Dao,使用的C3P0和DBUtils

public class UserDao {
    public List<Object> findUserByWord(String word) throws SQLException {
        QueryRunner runner = new QueryRunner(C3P0Utils.getDataSource());
        String sql = "select * from user where username like ? limit 0,8";
        List<Object> query = runner.query(sql,new ColumnListHandler("username"),"%"+word+"%");
        return query;
    }

}

第六步:

  完成并测试

站内搜索 简单粗暴放代码

  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/168292.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • git修改提交者用户名和邮箱_163邮箱用户名可以改吗

    git修改提交者用户名和邮箱_163邮箱用户名可以改吗当在GitHub中更改用户名时,git中并没有随之修改,需要自己进行修改,下面给出查看和修改用户名以及邮箱1、查看用户名以及邮箱,使用gitconfig命令gitconfiguser.namegitconfiguser.email2、修改用户名以及邮箱,使用gitconfig命令的–global参数gitconfig–globaluser.name"yourn…

  • 【Java面试系列】SpringBoot面试题

    【Java面试系列】SpringBoot面试题目录1.SpringBoot面试题2.题目解析1、什么是SpringBoot?2、SpringBoot有哪些优点?3、什么是JavaConfig?4、如何重新加载SpringBoot上的更改,而无需重新启动服务器?5、SpringBoot中的监视器是什么?6、如何在SpringBoot中禁用Actuator端点安全性?7、如何在…

  • Lisp语言简介_c++是什么语言

    Lisp语言简介_c++是什么语言摘自维基百科,原链接为:http://zh.wikipedia.org/zh/LISP因为Clojure是Lisp的一种的方言,所以我们可以先来了解一下Lisp这个比较小众的编程到底是什么~—–

  • Ubuntu更改镜像源两种方式

    Ubuntu更改镜像源两种方式所谓的镜像源:可以理解为提供下载软件的地方因为使用apt-get命令默认是从国外的服务器下载安装软件的,会导致下载安装速度很慢,所以需要更改成国内的镜像源服务器。一、可视化方式更改镜像源1.打开“软件和更新”设备Ubuntu将“软件和更新”从“设置”中独立出来了2.选择“Ubuntu软件/其它站点/选择最佳服务器”,自动选择最佳服务器,3.重新载入可用软件列表,完成更新二、手动修改镜像源如:将镜像源改成清华大学TUNA镜像源:https.

  • 无线基础知识

    无线基础知识一、WIFI发展历程:二、调制:所谓调制,就是将电信号转换为无线电波的过程,反之则称为解调,其核心技术是调制方式,调制方式越高阶,转换过程中数据密度就越高。调制方式决定每个子载波能传输多少数据,

  • 基于ssm的个人博客系统的设计与实现(含源文件)

    基于ssm的个人博客系统的设计与实现(含源文件)欢迎添加微信互相交流学习哦!项目源码:https://gitee.com/oklongmm/biye进入二十一世纪,以Internet为核心的现代网络积水和通信技术已经得到了飞速的发展和广泛的应用,各种网络交流互动工具也应运而生。其中以论坛、博客、社区、空间最为受广大网民朋友的欢迎,也是目前为止发展的比较成熟的信息交流工具。在网络技术逐渐渗入社会生活各个层面的今天,传统的交流方式也面临着变革,而网络博客则是一个很重要的方向。基于Web技术的网络考试系统可以借助于遍布全球的Internet进行,因

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号