综合案例(需求分析和准备工作) | 学习笔记

简介: 快速学习综合案例(需求分析和准备工作)。

开发者学堂课程【Lucene知识精讲与实战(下)综合案例(需求分析和准备工作)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/701/detail/12346


综合案例(需求分析和准备工作)

 

1利用综合案例把关于 lucene 所有的知识进行整体的回顾并且在实际场景中使用

2、在页面头部部分有输入框,输入关键字,有搜索按钮,当输入需要查询的关键字之后,点击搜索按钮被搜寻出来,中间有价格,价格是区间范围,通过关键字查询的同时还要根据价格进行查询,右边有分页,上一页,下一页,展示总页数,当前页,一共查询到多少条数。

6.1.png

3lucenedemo 小项目中完成,打开 pom.xml 配置文件,导入需要的 ja包,不用复制粘贴文档中的依赖,因为 pom.xml 中都有,

commons-iolucene 核心包,lucene 分支器包,产品包,lucene 查询包,测试包,数据库驱动包,ik中文分词器包,有关于 springboot web 启动器,有thymeleaf 做页面的技术,json转换。

4、resources 中创建背景文件。

6.2.png

application.yml

6.3.png

5、创建完可以看到绿色小叶子图标。文件名必须是 application.yml因为是springboot 项目。

 

6.4.png

6关闭 thymeleaf 缓存。

spring:

thymeleaf:

cache:false

如果不关闭缓存,在查询时,查询一遍没问题,再查询一遍就会有问题,因为数据可能被缓存上。

7、java中有项目启动类,创建 class

6.5.png

application

6.6.png

8、Application.java中加spingboot注解,

@SpringBootApplication

public class Application {

public static void main(String[] args){

SpringApplication.run(Application.class, args);

}

}

通过这个类可以启动项目。

9、有 pojodao再创建两个包,controller

6.7.png

再创建一个包 service

6.8.png

10pojo 中创建一个实体类 ResultModel ,做分页用,用自己封装的ResultModelskulist代表查询到的列表结果集,recordcount 代表查询到的商品总数,pagecount 总页数,curpage 当前页。

6.9.png

//商品列表

private List skuList;

//商品总数

private Long recordCount;

//总页数

private Long pageCount;

//当前页

private long curPage;

Out generate 设置键,生成 Generate Getters and Setters 方法。

6.10.png

自定义分页实体类,分页用的。

11、Controller 下创建 classSearchController

6.11.png

@controller加注解,返回页面

@RequestMapping("/list" )表明类上访问yl路径

12、service 中写具体查询业务,创建接口 SearchService

6.13.png

13、在 service 中创建实现类 SearchServiceimpl实现 SearchService

6.12.png

表明它是 service 实现类。

@Service

public class SearchServiceimpl implements SearchService {

}

14、在 lucene 资源里面有页面。

6.14.png

点击页面和静态资源。6.15.png

把两个包复制到项目 resources 下。

6.16.png

15、里面是它需要的 css.js,图片和页面。页面是 search.html

6.17.png

16、打开 search.html 可以看到搜索框,from 表单中 post 请求的提交,提交的路径是list,输入关键字的输入框,name属性名是 querystring${querystring} 表达式是做查询之后回显。当鼠标单机搜索按钮时触 发query 方法,在 query 方法中获取价格,获取当前页,清空。

//执行关键词查询时清空过滤条件

document . getEiementById("price").value="";

document . getEiementById( "page") . value="";

原因搜索关键字手机,出现结果,比如换关键字台灯,再搜索,搜索出的跟上一个搜索没有关系,所以要把价格和当前页都清空。

querlis tactionform 表单进行提交,


< input type= "button" value= "搜索" class= "button"

onclick="query()">


value 做上一个条件数据的条件回显。

查询价格根据范围进行查询,没点击某一个价格,它会触发filter方法,传进去两个参数,一个参数叫 price ,第二个是价格范围值

  • 0-50e
  • 500-1000
  • 5000' )">1000-5000/li>

  • 5000- 10000
  • 10000- 50000
  • 50000- 100000
  • filtervalue 是价格范围,找到 keykey 传进来是 price,给隐藏域赋值 value参数,value 参数传进来。给 price 赋值0-500

    //keyprice, value: 0-500

    function filter(key, value) {

    document . gwtEiementById(key) . value=value;

    queryList();  actionform方法,表单重新提交重新发送

    }

    17${price} 参与条件回显,赋值的原因是在页面刚进来时,第一次输入关键字,点击搜索时,价格值是空的,再选择某一价格时,价格才会被选中,选中之后触发js方法给下面的域赋值,提交表单,价格值才会传到 controller 方法中,介绍到值并且查询结果返回到列表页面进行展示,对于查询条件在翻页时也要有,如果价格在500-1000,翻下一页,下一页查询出的数据也在500-1000内,所以查询条件要一直带着,所以通过${querystring}表达式进行回显,之后写 controller service

    相关文章
    |
    7月前
    |
    安全 测试技术
    面试题2:测试人员何时参与需求分析,并且要分析需求的哪些方面?
    面试题2:测试人员何时参与需求分析,并且要分析需求的哪些方面?
    面试题2:测试人员何时参与需求分析,并且要分析需求的哪些方面?
    |
    网络协议 网络虚拟化 网络架构
    综合实战项目
    综合实战项目
    78 0
    |
    开发者
    综合案例(测试) | 学习笔记
    快速学习综合案例(测试)。
    综合案例(测试) | 学习笔记
    |
    负载均衡 前端开发 Java
    案例开发-需求分析| 学习笔记
    快速学习案例开发-需求分析。
    案例开发-需求分析| 学习笔记
    |
    机器学习/深度学习 算法 开发者
    案例:最出色的数据运营者如何工作|学习笔记
    快速学习案例:最出色的数据运营者如何工作
    134 0
    案例:最出色的数据运营者如何工作|学习笔记
    如何做需求分析
    什么是需求? 通俗些来讲需求就是现实和想象的差距,差距越大,需求越大。 来源网络,侵权删 如上图理想中的男朋友和现实中的男朋友,因为有差距,所以就有了类似于“如何让男人宠爱一生”之类的书、情感专栏等产品产生。
    1390 0
    《系统分析与设计方法及实践》一1.1 什么是软件
    本节书摘来华章计算机《系统分析与设计方法及实践》一书中的第1章 ,第1.1节,窦万峰 主编 宋效东 史玉梅 李东振 赵菁 等参编更多章节内容可以访问云栖社区“华章计算机”公众号查看。
    2034 0
    |
    监控
    《系统分析与设计方法及实践》一3.6 案例5:胰岛素输送系统
    本节书摘来华章计算机《系统分析与设计方法及实践》一书中的第3章 ,第3.6节,窦万峰 主编 宋效东 史玉梅 李东振 赵菁 等参编更多章节内容可以访问云栖社区“华章计算机”公众号查看。
    1461 0
    《系统分析与设计方法及实践》一3.5 案例4:电子商务系统
    本节书摘来华章计算机《系统分析与设计方法及实践》一书中的第3章 ,第3.5节,窦万峰 主编 宋效东 史玉梅 李东振 赵菁 等参编更多章节内容可以访问云栖社区“华章计算机”公众号查看。
    1136 0