站内搜索 简单粗暴放代码

站内搜索 简单粗暴放代码第一步:创建表单,放搜索框第二步:写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;
    }

}

第六步:

  完成并测试

站内搜索 简单粗暴放代码

  

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

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

(0)
上一篇 2022年8月3日 上午11:00
下一篇 2022年8月3日 上午11:00


相关推荐

  • JSONObject、JSONArray

    JSONObject、JSONArray最近两个星期接触最多的就是json和map了。  之前用到的json,就是一个键对应一个值,超级简单的一对一关系。现在用到的json那可以层层嵌套啊,刚开始接触的时候,确实有种崩溃的赶脚,不想去理,取个数据还那么麻烦。其实,就跟ifelse语句一样,如果if中套if,if中再套if,写的规范了还行,要是代码格式不规范,那我们肯定也看着麻烦。所以啊,对于json嵌套,只要记住符号“:”前是键

    2022年5月4日
    50
  • 菲尼克斯PSR-SCP- 24DC/FSP2/2X1/1X2耦合继电器

    菲尼克斯PSR-SCP- 24DC/FSP2/2X1/1X2耦合继电器菲尼克斯PSR-SCP-24DC/FSP2/2X1/1X2耦合继电器耦合继电器-PSR-SCP-24DC/FSP2/2X1/1X22986575适用于SIL2高需求和低需求应用的安全耦合继电器,将数字输出信号耦合至I/O端,2个启动电流通路,1个报警触点,用于安全状态关闭应用的模块,内置测试脉冲滤波器,插拔式螺钉连接端子,宽度:17.5mm产品类型 耦合继电器应用 安全关闭高要求低要求机械寿命 10×106开关次数继电器型号 带机械联锁触点的机电式继电器,符合IEC/EN6

    2022年6月22日
    29
  • JSP+Servlet+Mysql仿猫眼订票系统

    JSP+Servlet+Mysql仿猫眼订票系统Javaweb 仿猫眼订票系统软件配置需求分析示例图软件配置项目基于 servlet jsp mysql 配置 MyEclipse10 jdk1 6 tomcat7 0 需求分析管理员操作 对电影 影院 管理员进行增删改查功能 其中包含级联查询 会员操作 可以进行查看电影详情 评论 选择影院 自定义选座 查看订单 个人信息管理等功能 采用 MVC 设计模式和 DAO 工厂模式 示例图资源链接 含数据库 https download csdn net download shangshan11

    2026年3月17日
    1
  • 详解C语言中的stdin,stdout,stderr

    详解C语言中的stdin,stdout,stderr我们在写 C 程序时经常遇到 printf fprintf perror 这些东西到底有什么作用 说到这不得不提及 stdin stdout stderr 想想 我们在用 C 去写文件时的操作 File fp fopen 这个 fp 就是我们向系统申请的 相当于一通往文件的通道 nbsp 其实 stdin stdout stderr 就是这个 fp 不过他是随着计算机系统的开启默认打

    2026年3月17日
    2
  • WinDriver驱动程序开发入门教程

    WinDriver驱动程序开发入门教程WinDriver 驱动程序开发入门教程 Windriver 是 jungo 公司的一款高效易用的驱动开发软件 方便用户基于此开发自己的驱动程序 而不需要对 windowsDDK 作深入的研究 Windriver 相比 driverstudio 使用起来更为方便 同时 它支持 windows Linux Vxworks winCE Solaris 等 OS 对于当前流行的硬件设备 如 端口 ISA PCI X E PCMCIA USB 等都有很好的支持 作为驱动开发的入门工具 windriver 是很好的选择 Incl

    2026年3月26日
    1
  • 实用指南:Trae CN IDE 使用教程

    实用指南:Trae CN IDE 使用教程

    2026年3月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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