- 博客(64)
- 收藏
- 关注
原创 2022最新自研究51job(java爬虫)(因为黑马教程里的都不太好用了,会被js加密隐藏信息)
这里不是教大家如何解密隐藏信息,那个用java来做,有点困难,对于我这种小白来说,肯定是行不通的。我这个方法属于绕道而行。但是可以完成java对51job 的爬虫先上一下成果。准备阶段我就不多说了,用的是maven+boot,核心包用webmagic0.7.3和mybatis-common,其他的就大家根据自己的添加就好。1.第一步准备好要爬取的数据,这里除了id全是String,类型,因为我们只想获取到数据,不进行输出,所以只需要用String就好,避免需要转换数据类型,dataforma
2022-04-19 16:38:29 1049 2
原创 salt加盐MD5加密代码
普通的md5因为其代表的密码是一致的,这里说的比较抽象,看下面举的例子例如一串密码wer123456,加密后可能会是b6a6c36f9d25aa74(瞎写的)其中w,e,r,1,2,3,4,5,6,在每次加密后,代表的都是相同的加密代码,也就是其他人可用通过试错法,一个一个比对,将我们的加密之后的代码破解。而加盐salt就是为了防止这种情况的出现,因为其他人不知道我们在什么地方加了盐,因此基本不可能把盐给试出来。我是用的是SpringBoot 的test@RunWith(SpringR
2022-03-30 19:39:15 990
原创 SpringBoot整合ElasticSearch测试代码
1.SpringBoot环境和测试类,我就不讲了。2.yml中的配置clustername:是es的集群名称,默认是elasticsearchcluster-nodes:tcp的地址,不要写错。spring: data: elasticsearch: cluster-name: elasticsearch cluster-nodes: 192.168.199.128:93003.注意:org.springframework.boot,...
2022-03-13 21:07:15 3029
原创 Kibana的索引库创建,mapping字段,document的增删改操作
Get /heima1/_mapping为获取映射字段信息GET /heima1/_search内容如下图
2022-03-09 17:39:18 972
原创 Vue的入门笔记
1.VUE出现之前java程序员写前端页面的话大部分都是MVC解构的但是出现了VUE之后就变成了MVVM解构,就是把C-control变成了VM-View&Model这样做的好处就是:模型与视图间的双向操作(无需开发人员干涉)2.在MVVM之前,开发人员从后端获取需要的数据模型,然后要通过DOM操作Model渲染到View中。而后当用户操作视图,我们还需要通过DOM获取View中的数据,然后同步到Model中,也就是我们常见的document.getElementById等dom操作
2022-01-12 16:48:53 290
原创 ES6笔记
1.什么是ES6?就是ECMAScript第6版标准。2.什么是ECMAScript?ECMAScript是浏览器脚本语言的规范,而各种我们熟知的js语言,如JavaScript则是规范的具体实现。3.创建html空页面<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width
2022-01-12 15:27:12 380
原创 Feign-SpringCloud得介绍和应用,结合Hystrix,Ribbon
【1】feign,表面意思,是伪装得意思,在java中,其实大家可以理解为掩护,包装。【2】作用:我们之前远程调用得时候,是利用得Ribbon+RestTemplate.getForObject,然后里面拼接我们得访问地址 return this.restTemplate.getForObject("http://ITHEIMA-SERVER/user/findById/"+ id.toString(),String.class);【3】而如果我们利用了Feign,就可以更加简洁【4】使用
2021-12-25 23:47:49 272
原创 Hystrix熔断器的使用和问题,以及熔断机制
【1】Hystrix是豪猪的意思,因为豪猪的身上全是刺,可以起到保护效果,因此是这个名字,而这个组件在eureka中的作用就是起到保护作用,可以看作咱们自家电路的熔断器,当电压到达一定程度后,保险丝就会断开,保护全家的电路安全。【2】而Hystrix解决的是雪崩问题 雪崩问题:微服务中,服务间调用关系错综复杂,一个请求,可能需要调用多个微服务接口才能实现,会形成非常复杂的调用链路:一次业务请求,需要调用A、P、H、I四个服务,这四个服务又可能调用其它服务。如果此时,某个服务出现异常...
2021-12-25 21:53:03 1199
原创 Eureka中容器,服务端,消费端的细节配置
【1】Eureka容器的细节配置 1.eureka-server-eviction-interval-timer-in-ms:扫描失效服务的间隔时间(默认为60*1000ms)失效剔除Eureka会统计最近15分钟心跳失败的服务实例的比例是否超过了85%。在生产环境下,因为网络延迟等原因,心跳失败实例的比例很有可能超标,但是此时就把服务剔除列表并不妥当,因为服务可能没有宕机。Eureka就会把当前实例的注册信息保护起来,不予剔除。生产环境下这很有效,保证了大多数服务依然...
2021-12-25 21:04:54 845
原创 搭建多个eureka容器,和多个服务提供端
【1】先上效果图分别搭建了1个用户客户端,2个服务客户端,2个eureka容器,1个网关。【2】先介绍怎么搭建2个eureka容器,前提是已经有一个搭建好的eureka(前两个文章有介绍) 1 首先复制一个eureka 2 两个eureka容器相互注册,怎么相互注册呢?这样我们的两个eureka就互相注册完毕,我们登陆的时候,用87端口也行,用86端口也行。如果还想注册多个eureka,就如法炮制,形成一个闭...
2021-12-25 20:34:43 1070
原创 研究了两个小时的SpringCloud的Eureka的服务端和客户端的注入,网上各说纷纭,最后还不如自己慢慢试:Connection refused: connect错误
【1】今天解除了SpringCloud,其实我现在还没学到啥程度,就已经被Eureka的各种报错搞麻了。【2】首先是Connection refused: connect错误,这个是在注入服务端就开始报错 但是这个根本不影响服务端的注入,可以看图2at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:187) at com.sun.jerse...
2021-12-23 22:46:30 608 3
原创 SpringBoot整合web页面-html
【1】首先我们要知道,在我们快速创建好SpringBOOT项目的时候,是不会出现以前maven创建web项目时会出现web这个文件夹的。而且SpringBoot也不支持jsp文件,那么我们应该如何去创建前端页面呢?
2021-12-23 14:26:06 2329
原创 SpringBoot中写一个拦截器-以及写MVC相关组件的规则
【1】在SpringBoot官方文档中有这么一段话> If you want to keep Spring Boot MVC features and you want to add additional [MVC configuration](https://docs.spring.io/spring/docs/5.0.5.RELEASE/spring-framework-reference/web.html#mvc) (interceptors, formatters, view contro
2021-12-23 14:00:30 357
原创 SpringBoot的使用(热部署,yml文件配置)和Spring区别
【1】能接触到SpringBoot,那么Spring和Springmvc肯定都是很熟悉的了,Spring给我们带来了提供了强大的功能,Ioc,aop,事务管理等,让我们免去了很多的麻烦,少创建了很多工厂类,但是为什么还有SpringBoot?【2】 Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向
2021-12-20 22:27:45 1213 2
原创 Jpa中的一对多和多对多查询
【1】多对一和多对多一直多是数据库的必备技能,所以jpa也少不了【2】先复习一下多对一和多对多是怎么回事 1的一方为主表,这里也就是cst_customer1,多的一方为从表cst_linkman 这里cust_id为1,而lkm_cust_id为多。就是在主表里,id不能重复,同一个id只能有一个,而在从表中,lkm_cust_id是可以重复的。 多对多,就是两张表的字段都放到一个第三张表中【3】...
2021-12-18 16:21:18 3387
原创 Jpa,关于JpaSpecificationExecutor<>的动态查询
【1】配置和JAR包和之前的jpa单表查询一样,这里就不导入代码了【2】有时我们在查询某个实体的时候,给定的条件是不固定的,这时就需要动态构建相应的查询语句,在Spring Data JPA中可以通过JpaSpecificationExecutor接口查询。相比JPQL,其优势是类型安全,更加的面向对象。 这里我们要是用到Test单元测试,记得把这两个注解加到类前,不然不能使用Spring的配置@RunWith(SpringJUnit4ClassRunner.class)@C...
2021-12-18 15:40:06 1343
原创 SpringDataJpa的单表查询
【1】之前已经进行了Jpa的作用和利用hibernate进行操作对象来操作数据库,而SpringDataJPA更加的简单,方便,帮助我们进行面向对象的数据库操作。【2】jar包代码<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema...
2021-12-16 16:57:01 1075
原创 Jpa,Orm,Hibernate概述,面向对象的数据操作初学
【1】ORM:就是建立实体类和数据库表之间的关系,从而达到操作实体类就相当于操作数据库表的目的,而不是调用sql语句。【2】为什么要有ORM:当实现一个应用程序时(不使用O/R Mapping),我们可能会写特别多数据访问层的代码,从数据库保存数据、修改数据、删除数据,而这些代码都是重复的。而使用ORM则会大大减少重复性代码。对象关系映射(Object Relational Mapping,简称ORM),主要实现程序对象到关系数据库数据的映射。【3】Jpa:J...
2021-12-16 00:15:22 1373
原创 ElasticSearch用springData的简化写法
【1】jar包配置<properties> <maven.compiler.source>1.9</maven.compiler.source> <maven.compiler.target>1.9</maven.compiler.target> </properties> <dependencies> <dependency>
2021-12-10 23:18:24 1863
原创 ElasticSearch集群搭建(分片)
【1】简介ES集群是一个 P2P类型(使用 gossip 协议)的分布式系统,除了集群状态管理以外,其他所有的请求都可以发送到集群内任意一台节点上,这个节点可以自己找到需要转发给哪些节点,并且直接跟这些节点通信。所以,从网络架构及服务配置上来说,构建集群所需要的配置极其简单。在 Elasticsearch 2.0 之前,无阻碍的网络下,所有配置了相同 cluster.name 的节点都自动归属到一个集群中。2.0 版本之后,基于安全的考虑避免开发环境过于随便造成的麻烦,从 2.0 版本开...
2021-12-10 00:04:38 1227
原创 ElasticSearch和Idea的联合,源方法,不使用springdata框架
【1】创建maven工程,不需要骨架,普通的即可,因为我们是为了学习es在idea上怎么使用,而不是开发项目。【2】导入jar包坐标 这里很多东西中央仓库都没有,而且加载又慢,顺便提一嘴,把maven的config文件夹下的conf-setting.xml中添加阿里的云端记得要把jdk手动设置成1.9,因为idea默认用1.5<properties> <maven.compiler.source>1.9</...
2021-12-08 00:23:22 939
原创 ElasticSearch的使用(elasticsearch-head和PostMan)
【1】es(elasticSearch)的学习应该是建立在lucene的基础上的,因为es的底层就是lucene,lucene之前的文章里有介绍用法,这里就不提及了【2】es的安装比较繁琐,反正就是跟着最新的官网来就对了,看视频的小伙伴如果是比较旧的教程不要根据旧教程安装,去https://www.elastic.co/products/elasticsearch下载最新版的即可,还需要下载https://github.com/mobz/elasticsearch-head ,es-head可视化界面的
2021-12-07 00:18:23 1154
原创 Mysql的索引,mysql利用B树的浅入了解
【1】其实索引的语句一共就三个部分,总共不超过10句,但是我们需要先了解一下其背后的基本原理,首先,mysql的innodb引擎是使用B树算法的。所以我们先要了解一下B树,B+树以及B*树,如果学过二分法或者平衡二叉树的小伙伴,肯定知道B树的概念。 B树就是把我们的数据按照大小先在叶子节点(也就是最底层)进行排序,然后把每个叶子节点的最小值取出,放入枝节点中,依此类推,最后到根节点。这样做的好处就是,我们在查询某个数据的时候,现根据根节点进行查找,然后再根据枝节点查找,最后再叶子节点中找到对应...
2021-12-01 20:59:43 2618
原创 Lucene全文检索,详细介绍
一、什么是全文检索1、数据的分类 1)结构化数据 格式固定、长度固定、数据类型固定。 例如数据库中的数据 2)非结构化数据 word文档、pdf文档、邮件、html、txt 格式不固定、长度不固定、数据类型不固定。2、数据的查询 1)结构化数据的查询 SQL语句,查询结构化数据的方法。简单、速度快。 2)非结构化数据的查询 从文本文件中找出包含spring单词的文件。 ...
2021-11-30 17:12:17 1182
原创 Spring-Security的页面端控制介绍
【1】直接步入使用步骤 1.在pol.xml上引入jar包 2.在需要页面控制的jsp上写入taglib语句 3.authentication:用处是,可以获取我们当前登录的用户 authorize:用处是,控制页面上的标签是否可以使用(显示)【2】jsp页面加入taglib<%@ page language="java" contentType="text/html; charset=U...
2021-11-29 15:21:47 534 1
原创 Sping-Security的服务器端权限控制,JSR250-@RolesAllowed,@Secured,@PreAuthorize
【1】服务器点的权限控制,目的就是管理用户的访问权限,哪些地方不能用,哪些地方可以用,那些是最高权限用户等,在一些app上大家肯定见过,只是不知道,例如VIP,会员的充值,充值成功后,后台系统就自动授予您权限,然后就可以使用vip的服务了。【2】首先我们先来介绍jsr250的@RolesAllow使用步骤 1.在pol.xml配置文件中导入jsr250坐标,因为jsr250是第三方,不是spring-security内置的,所以需要另外导入坐标。 <dependency...
2021-11-27 23:23:35 368
原创 Mybatis的注解方式,一次性注入多个参数需要用@Param
【1】今天在做一个多表添加的时候,发现了一个问题,就是明明我写的都是对的,但是web页面就是给我报一个找不到指定参数的情况可以看到我们的问题是Mybatis出现的,也就是大概率不可能是controller层或者是service层,只能先从dao层寻找答案,但是我通过debug的方式启动服务器,发现service和controller层都可以获得到这个参数,那么问题无疑,就是dao层的sql语句或者参数传错了,就这两行代码,看了半天,都没有找到哪里出错,而且外键关联的表里,也有我需要添加的数据。.
2021-11-27 19:55:29 833
原创 Spring-Security-passwordEncode密码加密02
【1】之前我们的Spring-Security没有进行加密操作,现在我们为了满足需求,添加上这个操作【2】我们把<security:password-encode>配置上,然后写一个bean,配置BCryptPasswordEncoder的类【3】在存入数据的时候,我们就应该把密码加密,这样我们数据库中的密码也是加密过后的 @Override public void saveUser(UserInfo userInfo) { //进...
2021-11-24 22:01:46 2363
原创 Mybatis多表关联查询
【1】直接步入正题,我们先看一下我们的多表结构【2】我们可以看到user_role关联了两个外键。 如果我们想通过users顺便把role查出来怎么办?【3】有经验的小伙伴一定知道,在创建users实体类的时候,还会创建一个role类,并且在users类中把role类当作成员变量写入。【4】那么sql语句怎么写呢,我利用的时mybatis的注解方法写sql语句,首先需要配置user类的成员变量和数据库中的对应名称。 用@Results注解,写入我...
2021-11-23 15:59:51 893
原创 Spring-Security的详细配置及用法01
【1】Spring-Security通俗一点来讲是用来管理我们登陆的一个框架,之前我们的登陆底层代码,都是自己手写的,要从web端获取parameter,然后从数据库中取出,再获取数据库中的账户密码,进行对比,相同的话跳转到登陆成功页面,不成功提示登陆失败。【2】利用Spring-Security框架的目的自然就是节省代码量,而且方便管理,不需要手动获取前端数据。【3】第一步,我们需要在pol中导入spring-security的jar包,一共四个,分别是web,config,core,和jstl需
2021-11-23 15:31:26 1285
原创 Spring的@Resource获取bean对象报错:java.lang.NoSuchMethodError: javax.annotation.Resource.lookup()Ljava/lang
【1】今天写项目的时候突然碰到了一个错,之前本来是通过@Autowired注解获取对象的,然是后来我改成了@Resource注解就开始报错了严重: Caught exception while allowing TestExecutionListener [org.springframework.test.context.support.DependencyInjectionTestExecutionListener@6e0e048a] to prepare test instance [com.kk
2021-11-21 14:11:42 764
原创 Spring和Spring和Mybatis结合成SSM
【1】终于把三大框架学完,剩下来的就是进行整合,形成大家熟悉的ssm框架【2】1首先我们先把环境搭好,然后写好mybatis的环境,进行测试,我们之前单独用mybatis的时候是这么写xml文件的,需要一个和接口同名同包的xml文件写在resourceRoot文件夹下,例如我们的接口叫IUserDao,我们的xml文件就要叫IUserDao.xml,这个文件中专门写我们的sql语句的,还需要一个SqlMapConfig的xml文件。 2IUserDao中写入我们对接的接口,然后sq...
2021-11-18 10:09:02 121
原创 SpringMvcDay02-03异常处理类
【1】大家肯定会问异常有什么好处理的,对于我们程序员来说,异常当然自己能看懂就行,但是对于用户的体验确实很差,如果将来用户访问你的页面,出现了异常,一大串代码出现,肯定也不好,所以这时就需要我们对异常进行处理让用户看到的界面是(服务器正在维护等词语)。【2】其实处理方法很简单,写一个自定义异常,然后写一个异常处理器即可 1先写一个自定义异常,其实就是一个继承Exception的类,里面写需要显示的异常即可。package cn.itcast.exception;//自定义的异常...
2021-11-17 23:47:33 93
原创 springmvcDay02-02文件的上传-跨服务器上传
【1】我们先来学习下传统方式下不利用mvc怎么上传文件 先来前端页面的展示<form action="user/fileOnload1" method="post" enctype="multipart/form-data"> 文件选择:<input type="file" name="onload"><br/> <input type="submit" value="上传"></form>...
2021-11-15 17:34:53 1059
原创 SpringMVCDay02-01Response,返回数据库数据到前端
【1】经过了day01的学习,我们已经学到了怎么获取表单或者单个从页面传过来的数据,今天我们就学习怎么把数据库中的数据传到页面上去。【2】首先我们还是需要在web.xml中引入前端控制器以及中文编码过滤器,然后在前端控制器的xml配置文件中1.开启注解扫描 2.配置视图解析器 3.开启注解MVC支持 4.配置静态资源放行器(这个是新内容,后面会说到)【3】我们第一个案例讲的是怎么把从数据库拿出来的数据返回给前端 这里采用模拟数据库返回的数据,就手动set一下。...
2021-11-15 17:02:44 2269
原创 SpringMvcDay01-02多样数据交互注解,Aliax,Javabean,Request,Session域
【1】经过第一天01的学习,我们已经有了和页面交互的基础,Spring可以帮我们自动获取到很多数据(普通数据,javabean封装,自定义转换器,原生request和response),大家可以发现,我们前端传的数据和后端接收的数据name值都必须相同,不然接收不到。有没有一种方法可以传不同的name值呢,比如,前端一个username="Hpeach",后端接收的时候是name。答案是当然可以,不过要用到@RequsetParam注解,怎么做呢,在后端接收数据的时候,其他都和之前的代码一样,需要在接收的参
2021-11-13 22:54:48 277 1
原创 Day01SpringMVC三重架构--和页面的交互数据基础
【1】首先我们要创建的maven是webapp的工程,别创建成普通java的了【2】pom的导入jar包就不在这里浪费字数了【3】我们需要知道SpringMVC在三重架构中的位置,我们可以来看一张图 可以看到我们的SpringMVC,其实就是表现层的框架,业务层使用Spring,持久层用Mybatis SpringMVC的地位相当于我们在没学习Spring时候的Servlet,用来和页面交互数据的那一层【4】首先我们来学习下,Spring...
2021-11-12 01:37:50 257 1
原创 SpringDay04-Spring的tx事务控制
【1】Spring中是自带事务控制的,事务控制,通俗易懂的来说,就是一个方法如果没有事务控制,运行出错的时候,数据库的数据会改变,但是控制面板报错,不执行接下来的语句了。而我们的目的是让他不报错的时候正常修改数据库,报错的时候,不修改数据库。【2】在没有Spring支持的时候,我们需要自写一个Connection类,来获取当的连接,存入ThreadLocal中,当方法执行完后,在把连接和线程断开。然后利用这个类中的方法,开启事务,关闭事务,回滚事务,提交事务。【3】但是当我们有了Spring之后,我
2021-11-10 14:00:38 1002 1
空空如也
JDK9 JVM调优报错
2022-08-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人