SpringSecurity使用SpringBoot简单使用(一)
SpringSecurity使用SpringBoot简单使用(一)先来回顾下最开始我们不用框架时是怎么做认证授权的,
1.不用框架认证流程
1.客户端发送请求,controller层将请求对象封装成认证对象User
2.controller层调用service层,传入参数User对象
3.service层传入User对象调用Dao层,执行认证逻辑,把Dao层返回的对象封装成一个UserContext(用户详情信息),并且存到session中.利用session.setAttribute(“一个常量”,userContext对象);
问题:不同用户的session会被覆盖吗?
答:这个取决于sessionId,服务器中会有多个session,通过sessoinId找到相对应的session。如果同一个浏览器发送请求,那么sessionId是相同的,那么session就会被覆盖。如果是不同浏览器就不会覆盖
当用户再次请求时,通过自定义拦截器(自己写个类实现HandlerInterceptor),拦截session中是否存在对象,如果没有就返回登录页面,如果有就拿出session对象,并且 ...
ElasticSearch-Springboot-Data使用
ElasticSearch-Springboot-Data使用之前说过ElasticSearch一共支持4种Api,本篇文章主要讲解Springboot数据层集成ElasticSearch的Api简单使用。先看看下面这个Spring集成数据层框架图
可以看到Spring Data系列集成了非常多数据层框架,JDBC,Redis,ElasticSearch,Hadoop,Solr,MongoDB等,非常多啊,感觉spring是要一统天下啊,多的不说了,看看我们这个es怎么做
注意:我这里es的版本是5.6.2,由于es官方更新较快(现在已经7.15),相关api的使用,内部方法也在变,所以别的版本可能会有些变化
1.创建springboot项目,导入相关依赖首先parent父工程,我这里是2.0.5版本,对应里面的es版本刚好是5.x版本,如果不一样,需改变版本
12345<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-s ...
ik分词器的安装
ik分词器的安装注意ik分词器版本必须与你的elasticsearch版本相同
1.下载ik分词器(github上面有开源项目)https://github.com/medcl/elasticsearch-analysis-ik
2.下载好之后解压
3.把所有解压出来的文件复制到elasticsearch中的plugin文件夹中,可以在里面再新建一个ik的文件夹
4.重启es就可以了
ik分词器解析
ElasticSearch中iK分词器的两种分词算法以及自定义分词配置分词:就是把我们要查询的数据拆分成一个个关键字,我们在搜索时,ElasticSearch会把数据进行分词,然后做匹配。默认的中文分词器会把每一个中文拆分,比如“番茄呦呦”,会拆分成“番”,“茄”,“哟”,“哟”,显然,这并不符合我们的要求,所以ik分词器(中文分词器)能解决这个问题。
ik分词器存在两种分词算法:ik_smart,ik_max_word。其中ik_smart称为智能分词,网上还有别的称呼:最少切分,最粗粒度划分。ik_max_word称为最细粒度划分。
当然我们也可以自定义分词配置安装好ik分词器后,启动ElasticSearch以及kibana。使用kibana测试
ik_smart测试12345GET _analyze{ "analyzer": "ik_smart", "text": "番茄呦呦 Nerver give up"}
我们发现ik_smart将数据拆分成了5份
ik_max_ ...
SpringBoot集成ElasticSearch
SpringBoot集成ElasticSearch的四种方式(主要讲解ES官方推荐方式)
TransportClient:这种方式即将弃用、官方将在8.0版本彻底去掉这个api
Data-Es:Spring提供的封装的方式(Springboot-data),由于是Spring提供的,所以每个SpringBoot版本对应的ElasticSearch,具体这么个对应的版本,自己去官网看
ElasticSearch SQL:将Elasticsearch的Query DSL用SQL转换查询,早期有一个第三方的插件Elasticsearch-SQL,后来随着官方也开始做这方面,这个插件好像就没怎么更新了,有兴趣的可以查看https://www.cnblogs.com/jajian/p/10053504.html
Rest Client:官方推荐使用,所以我们采用这个方式,这个分为两个Low Level REST Client和High Level REST Client,Low Level REST Client是早期出的API比较简陋了,还需要自己去拼写Query DSL,High Leve ...
使用SpringBoot+Jsoup做java简单'爬虫'
使用SpringBoot+Jsoup做java简单’爬虫’
Jsoup简介Jsoup是一款java的Html解析器,可以直接解析Html。针对网页提供了相关Api,可以通过Dom、Css、Jquery等属性来操作和解析网页。
主要类介绍:
Jsoup 类提供了连接,清理和解析HTML文档的方法
Document 获取HTML文档
Element 获取、操作HTML节点
实战(爬京东网页数据)1.创建Maven项目2.导入pom依赖 根据自己需求减少或增加依赖
12345678910111213141516171819<dependencies> <!--jsoup相关依赖--> <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.10.2</version> </dependency> ...
ElasticSearch的初级安装使用
ElasticSearch简单安装使用
基本概念ElasticSearch官网
Elasticsearch 是一个分布式的开源搜索和分析引擎,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据
Elasticsearch 在 Apache Lucene 的基础上开发而成,支持Restful风格和多种语言调用
着重功能就是用来做数据的检索和分析
应用程序搜索
网站搜索
企业搜索
日志处理和分析
基础设施指标和容器监测
应用程序性能监测
地理空间数据分析和可视化
安全分析
业务分析
为什么要用ElasticSearch可能会有人问,我们mysql也能做数据的检索和分析,为什么还要用ElasticSearch?
对,mysql也能做数据的检索和分析,但是我们说术业有专攻。而mysql主要用于做数据的持久化存储与管理,也就是crud。如果我们真的使用mysql做海量数据的检索与分析,ElasticSearch更在行。
为什么说mysql做海量数据的检索与分析没有ElasticSearch在行mysql做数据的检索与分析时,需要将全部数据都遍历一遍,所以速 ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment