自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 SpringBoot2.x+Redis+token实现鉴权功能

springboot2.x+redis+token实现鉴权流程分析:1.客户端登录,输入用户名和密码,后台进行验证,如果验证失败则返回登录失败的提示。如果验证成功,则生成token然后将username和token双向绑定(可以根据username取出token也可以根据token取出username)存入redis,同时使用token+username作为key把当前时间戳也存入redis。并且给它们都设置过期时间。2.每次请求都会走拦截器,如果该接口标注了@AuthToken注解,则要检查htt

2020-06-01 23:02:24 1536

原创 springboot引入MarkDown技术

springboot引入MarkDown技术一、引用MarkDownMarkDown是一种文本编辑工具,实现博客等内容就需要markdown的插件1、下载MarkDown的插件包https://github.com/pandao/editor.md2、将这几个放进项目即可目录结构3、前端页面使用导入css和js<!--引入markdown博客编辑--><link rel="stylesheet" href="../static/lib/editormd/css/edi

2020-05-11 23:52:35 2374 1

原创 SpringBoot项目如何部署到服务器上

SpringBoot项目如何部署到服务器上一、打成war包部署这个不多BB,我有一篇博客专门讲war包部署到tomcat的,注意pom文件要写war即可<packaging>war</packaging>详情看这篇博客https://blog.csdn.net/SuchASilly/article/details/105244155二、官方推荐jar包1.使用maven工具,可以使用idea的终端terminal或者直接右边点开maven使用clean清理,然后再p

2020-05-11 23:39:58 3506 1

原创 IDEA快速构建一个SpringBoot项目

IDEA快速构建一个SpringBoot项目1.new一个Spring Initialiar 项目2.设置项目名字等3.选择依赖,随便选几个就行,后面再到POM加依赖就行4.POM文件加依赖,要用什么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/XML

2020-05-11 23:14:12 241

原创 springboot+thymeleaf+kaptcha实现验证码(配置)

springboot+thymeleaf+kaptcha实现验证码(配置)一、引入依赖 <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2</version> </dependency> 二、结构图三、配置类KaptchaCo

2020-05-11 23:07:25 553

原创 Linux服务器部署WEB项目

Linux服务器部署WEB项目步骤如下:1.设置服务器安全组2.下载Xshell和Xftps63.在服务器上安装jdk,mysql,tomcat4.项目打包成war文件放到服务器的tomcat的webapps里

2020-04-01 16:58:02 668

原创 如何提交本地代码到码云上

这几天刚学了ssm框架,下面是部署web项目到linux服务器的过程:Linux服务器部署WEB项目1.服务器安全组设置:(我的是阿里云的Linux云服务器) 因为我的数据库也是放在阿里云的为了平常测试方便所以也设成所有人访问2.本机安装Xshell和Xftp63.服务器安装mysql:先创建属于mysql的目录cd /usr/local/mysql下载mysql: wget ht...

2020-03-12 17:31:49 371

原创 消息队列(六)——RabbitMQ高级

RabbitMQ高级一、过期时间TTL(Time-To-Live)过期时间TTL表示可以对消息设置预期的时间,在这个时间段内都可以被消费者获取,过期则自动删除(过期的称为dead message被投递到死信队列)1、通过队列属性设置,队列中所有消息都有相同的过期时间2、对消息进行单独设置,每条消息TTL可以不同如果两种方法一起使用就看谁的TTL比较短,以短的为准1、设置队列属性通过队列属性设置消息TTL的方法是在queue.declare方法中加入x-message-ttl参数,单位 为ms.

2020-06-19 11:01:34 449

原创 消息队列(五)——springboot整合rabbitMQ

springboot整合rabbitMQ一、依赖<!--rabbitMQ--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency>二、相关配置application.ymlspring:# rabbitMQ配

2020-06-19 10:52:34 298

原创 消息队列(四)——rabbitMQ四种工作模式

RabbitMQ工作模式模式总结:1、简单模式helloworld一个生产者,一个消费者,不需要交换机(使用默认交换机)2、工作队列模式Work Queue一个生产者,多个消费者(竞争关系),不需要设置交换机(默认交换机)3、发布订阅模式Publish/subscribe需要设置类型为fanout的交换机,并且交换机和队列绑定,当发送消息到交换机后,交换机会将消息发送到绑定的队列4、路由模式Routing需要设置类型为direct的交换机,交换机和队列绑定,并且指定routingkey,当

2020-06-19 10:49:30 2071

原创 消息队列(三)——RabbitMQ入门案例

入门案例一、生产者依赖:<dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>5.6.0</version></dependency>Producer/** * @Author: jinv * @CreateTime: 2020-06-10 1

2020-06-19 10:34:52 269

原创 消息队列(二)——rabbitMQ安装与使用

一、docker安装rabbitMQ去Docker镜像源库:https://hub.docker.com/u/library搜索rabbitmq,进入官方镜像,搜索management找到一个有management的版本,例如然后就可以拉取了docker pull rabbitmq:3.8.4-management关于启动,前面那个网站也有官方提供的文档说明启动容器docker run -d --name myrabbit -p 5672:5672 -p 15672:15672 -v p

2020-06-19 10:31:52 199

原创 消息队列(一)——消息队列产品

消息队列产品一、常见消息队列ActiveMQ:基于JMSZeroMQ:基于C语言RabbitMQ:基于AMQP协议,erlang语言开发,稳定性好RocketMQ:基于JMS,阿里巴巴产品Kafka:类似MQ产品,分布式消息系统,高吞吐量二、RabbitMQ6种模式:简单模式、工作模式、Publish/Subscribe发布与订阅模式,Routing路由模式,Topics主题模式,RPC远程调用模式三、消息队列协议(JMS / AMQP)在使用消息队列前,我们需要知道两个协议JMS:

2020-06-19 10:28:34 615

原创 SpringBoot整合redis(二)

SpringBoot+redis+@Cache准备工作:1、理解springboot缓存机制链接:https://blog.csdn.net/SuchASilly/article/details/1061028932、springboot整合redis的配置参考链接:https://blog.csdn.net/SuchASilly/article/details/106103069一、@EanblCache这个注解要到Application启动类标明(开启缓存注解)package com.j

2020-05-13 17:55:13 266

原创 SpringBoot整合redis(一)

SpringBoot+redis准备工作:1、服务器配置redis链接:https://blog.csdn.net/SuchASilly/article/details/1060642242、快速架一个springboot项目链接:https://blog.csdn.net/SuchASilly/article/details/106065102一、导入依赖(我的springboot版本是2.2.5.RELEASE)<!--redis缓存--><dependency>

2020-05-13 17:44:31 271

原创 SpringBoot缓存机制

springboot缓存——@Cache一、JSR107规范JSR107规范定义了很多接口(这里不多讲,可以去百度了解jsr107规范)二、spring缓存抽象(cache的注解底层调用aop)三、快速体验springboot的缓存(1)开启与注解的缓存(application启动类上加入)@EnableCaching(2)详细说明(念经):将方法的运行结果进行缓存:以后再要相同的数据,直接从缓存中获取,不再调用方法走dao层接口:CacheManager管理多个cache组件,对缓

2020-05-13 17:36:15 826

原创 前后端传参JSON

前后端传参JSON当前端用ajax.post方法返回一个对象的时候,contorller要用@requestBody处理,他会自动将参数注入你的java实体类对象里面详细看这个https://www.cnblogs.com/zhuhui-site/p/10088238.html完整前后端传参例子看例子:前端页面前端获取数据JS注意:前后端传的参数是json对象或者json对象的字符串格式,上面的ajax穿的是JSON.Stringify(data),就是将javascript对象da

2020-05-12 00:22:14 2411

原创 快速构建jqgrid

今天突然发现一个前后端也可以直接传Json形式的字符串利用ObjectMapper的writeValueAsString方法将JAVA对象或者List或者Map<String,Object>等对象转换成json样式的字符串例子:结合jqgridController@GetMapping("/list")@ResponseBodypublic String list() throws JsonProcessingException { Person p1 = new Per

2020-05-12 00:18:09 260

原创 Eclipse安装web插件

Eclipse安装web插件1.查看eclipse版本2.安装适当插件耐性等待很久很久。。。(我等了一个下午。。。)

2020-05-12 00:15:27 392

原创 Eclipse的web项目放到服务器上跑

Eclipse的web项目放到服务器上跑1.导成war包(本例子是一个非Maven工程的SSM项目)右击项目export2.放到服务器上的tomcat(怎么配置服务器要看博客)先关闭tomcat服务器到tomcat的bin目录下sh ./shutdown.sh将war包丢进tomcat的webapps下开启tomcatsh ./startup.sh打开网站测试...

2020-05-12 00:12:39 461

原创 基于JDK的MD5加密

基于JDK的MD5加密因为是jdk的security的方法所以不需要导入依赖package com.jinv.blog.utils;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;/** * MD5加密工具类 * 32位加密(和16位加密) */public class MD5Utils { public static String code(String str)

2020-05-12 00:09:09 447

原创 时间的Date格式和String格式互转

时间的Date格式和String格式互转package mms.utils;/** * 时间工具类 */import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class DateUtils { /** * Date转String * 将数据库中Date格式的时间数据转成字符串形式 * @param date * @param patter

2020-05-12 00:07:59 211

原创 日志类LogAop

基于SSM的日志类数据库domainpackage com.itheima.ssm.domain;import com.itheima.ssm.utils.DateUtils;import java.util.Date;/** * 日之类 */public class SysLog { private int id; //主键 private Date visitTime; //访问时间 private String visitTimeS

2020-05-12 00:07:27 611

原创 left joiin

多表查询sqlleft joiin用于连接表格式:selecta.id,b.name,c.title from b left join b on a.id=b.aid left join c on c.id=b.cidwhere xxxxorder by x desc(asc)order by 后面的属性要用别名的那个,因为order by是根据查出来后的表排序的例子注意:不用设计n个表就要查n个表的属性,where用上就可以了例如...

2020-05-12 00:03:17 185

原创 前后端传参(三)

Java对象序列化成json字符串不可以懒加载前面说了可以用ObjectMapper.valueAsString(Object obj)这个方法现在说一下结合实际使用这个对象的坑Controllerhtml 使用了jqgrid框架<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html xml:lang="en" la

2020-05-12 00:01:23 239

原创 前后端传参(五)

零散笔记一、value标签二、action提交表单是根据name标签来对应后端实体类属性名的注意name标签要跟后端对应的实体类属性名相同,否则传给后端的实体类对象参数,对应的属性将为空三、用id传参时,不能xxx.xx这样子传例如:id不能写成这样子的格式,否则会出现undifined想用id标签传参需要去掉。改成这样子应该:...

2020-05-11 23:56:57 188

原创 Lombok之@Data

@Data实体类上的注解,加入大量简化代码,自动有getset,equals(),hashCode(),toString()方法等方法需要依赖<!--引入@Data所用的依赖--><dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.6</versio

2020-05-11 23:54:52 195

原创 前后端传参(四)

GetMapping之@PathVariableGetMapping带一个参数Controller注意:uri后面加上/{id}用来接收参数html注意在uri后面加上(id=${blog.id})用来表示传参GetMapping带两个或者多个参数Controllerhtml

2020-05-11 23:45:43 600

原创 Srping MVC中Controller的void方法声明误区

Srping MVC中Controller的void方法声明误区Controller中定义void方法,这种场景一般是通过HttpServletResponse对象来输出页面内容。注意:Controller的void方法中一定要声明HttpServletResponse类型的方法入参!void方法不定义HttpServletResponse类型的入参,HttpServletResponse对象通过RequestContextHolder上下文获取,这种方式是不可行的,void方法不定义HttpServ

2020-05-11 23:42:55 331

原创 Mysql的utf8与utf8mb4区别,utf8mb4_bin、utf8mb4_general_ci、utf8mb4_unicode_ci区别

Mysql的utf8与utf8mb4区别,utf8mb4_bin、utf8mb4_general_ci、utf8mb4_unicode_ci区别UTF-8是使用1~4个字节,一种变长的编码格式,字符编码。mb4即 most bytes 4,使用4个字节来表示完整的UTF-8。mysql的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xffff,也就是 Unicode 中的基本多文种平面(BMP)。也就是

2020-05-11 23:28:42 326

原创 ajax接受的后台数据中文乱码

ajax接受的后台数据中文乱码中文变成乱码或者???在controller那里改@GetMapping(value = "/test/{id}",produces = "application/json;charset=UTF-8")@RequestMapping里加入produces设置传出去的数据为utf-8编译的

2020-05-11 23:26:17 442

原创 Idea创建ssm的MAVEN项目

Idea创建ssm的MAVEN项目步骤:1.构建web工程的maven项目2.创建项目名3.选择自己的maven仓库(如果是第一次接触,可以自行先下载一个maven3,或者用idea自带的maven)4.设置项目路径,然行耐心等待,刚开始项目连src等文件夹都没有要慢慢加载,并且选择右下角的enable-configuration5.设置pom文件依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="htt

2020-05-11 23:24:39 555

原创 @Resource和@Autowired的区别

@Autowired 与@Resource的区别详情:https://blog.csdn.net/weixin_40423597/article/details/80643990总结:1、@Autowired默认根据type类型注入(属于spring的注入方式)优点:对应的@Component、@Service@Repositry等不用写名字缺点:但是时间上来说会慢一点2、@Resource默认根据name名字注入(属于J2EE的注入方式)优点:注入时间会很快,因为对应名字的搜索比对应类型的快

2020-05-11 23:06:19 447

原创 PageHelper

PageHelper——分页工具成员属性//当前页private int pageNum;//每页的数量private int pageSize;//当前页的数量private int size;//排序private String orderBy; //由于startRow和endRow不常用,这里说个具体的用法//可以在页面中"显示startRow到endRow 共size条数据" //当前页面第一个元素在数据库中的行号private int startRow;//当前页

2020-05-11 22:52:37 156

原创 docker下载镜像卡死或太慢

docker下载镜像多数为国外资源,很慢,这里百度找到可以使用阿里云加速1、找到个人阿里云的镜像加速器(要1.10.0以上版本的docker)docker -v 查看docker版本2、到阿里云官网找属于自己的加速器地址(不建议照抄我的,每个人都有,免费的)https://cr.console.aliyun.com/cn-beijing/instances/mirrors3、编辑daemon.json文件添加个人阿里云加速器地址进去(如果没有daemon.json文件就用vim编辑创建)su

2020-05-11 22:48:32 7475

原创 docker使用阿里云镜像加速

docker下载镜像多数为国外资源,很慢,这里百度找到可以使用阿里云加速1、找到个人阿里云的镜像加速器(要1.10.0以上版本的docker)docker -v 查看docker版本2、到阿里云官网找属于自己的加速器地址(不建议照抄我的,每个人都有,免费的)https://cr.console.aliyun.com/cn-beijing/instances/mirrors3、编辑daemon.json文件添加个人阿里云加速器地址进去(如果没有daemon.json文件就用vim编辑创建)su

2020-05-11 22:45:11 360

原创 Redis Desktop Manager

redis的可视化工具Redis Desktop Manager一、Redis Desktop Manager的下载及安装https://pan.baidu.com/s/1Jvr9MbgFn4UJh4M1AMo3gA 提取码:3i9b二、安装Redis Desktop Manager傻瓜式安装三、使用1.和navicat操作mysql一样需要创建连接2.使用远程连接连接你的服务器上的redis数据库3.正常使用(redis命令请自行百度)...

2020-05-11 22:37:31 255

原创 Redis(二)——linux[docker]版

linux部署安装redis1.docker下载安装redisdocker pull redis 安装新版redis下载镜像太慢的话可以使用阿里云镜像加速器,具体看另外一篇博客http://note.youdao.com/noteshare?id=af4c4e8a797e9ef375f054f1eca3ff582.查看redis的镜像信息docker images3.新建挂载配置文件(位置随意我的是/root/docker/redis/conf和/data)因为 redis 默认配置

2020-05-11 22:31:30 175

原创 Redis(一)——windows版

Redis(一)——windows版Redis——Nosql数据库(非关系型数据库)key——value形式存储数据一般用于配合关系型数据库做缓存1、下载安装(windows版本)官网:https://redis.io中文网:https://www.redis.net.cn/绿色版无须安装,解压直接使用下面用windows版的redis为例:redis.windows.conf:配置文件redis-cli.exe:redis的客户端redis-server.exe:redis的服务器

2020-05-11 22:18:56 766

原创 Mybatis的Mapper.xml文件解释

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!-- namespace:填写映射当前的Mapper接口,所有的增删改...

2020-04-04 13:11:52 482

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除