自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 docker-compense搭建elasticsearch和kibana

首先将docker-componse.yml文件贴上version: "3.1"volumes: data: config: plugin:networks: es:services: elasticsearch: image: elasticsearch:7.13.4 restart: always container_name: elasticsearch ports: - 9200:9200 - 9300:9300

2022-01-15 16:46:42 1062

原创 根据文件的url去下载文件,然后在将文件进行压缩提供给前端下载

首先准备两个工具类1.根据文件的url去下载文件,其实也不是下载文件,只是得到一个输入流.然后利用输入流输出流得到一个字节数组。public class IOUtils { public static Map<String, byte[]> getByte(List<String> urlPath) { Map<String, byte[]> stringMap = new HashMap<String, byte[]>();

2021-12-19 20:01:12 841 3

原创 分布式处理方案

文章目录一、引言二、分布式锁介绍三、分布式锁解决方案【`重点`】单体架构中的锁双重锁机制3.1 搭建环境3.2 Zookeeper实现分布式锁原理3.3 Zookeeper实现分布式锁3.4 Redis实现分布式锁原理3.5 Redis实现分布式锁lua脚本实现锁释放四、分布式任务介绍五、分布式任务解决方案【`重点`】5.1 Elastic-Job介绍5.2 Elastic-Job实现分布式任务六、分布式事务介绍6.1分布式事务介绍6.2 Base理论七、分布式事务解决方案【`重点`】7.1 2PC两段提交

2021-07-22 20:06:28 361

原创 多线程异步编程

线程的四种初始化方式1、继承Thread类2、实现Runnable接口3、Callable接口4、线程池继承Thread类继承Thread类复写父类中的run()。Thread类也是Runnable接口的一个子类。要想启动线程必须依靠Threan类的start()方法执行,线程启动之后会默认调用run()方法,一个线程只能启动唯一一次,多次启动会抛异常public class ThreadDemo { public static void main(String[] args

2021-07-22 20:01:09 349

原创 自定义线程池工具类

可以按自己的需求来自定义线程池工具类public class ThreadPool { private static ThreadPoolExecutor coreThreadPool = new ThreadPoolExecutor( 5, //核心线程数 10, //线程池中的最大线程数量 20, //空闲时间(核心线程数以外的空闲线程会被计时,当达到空闲时长的时候会被销毁) TimeUnit.

2021-06-19 15:11:45 149

原创 将ElasticSearch的查询结果转为实体类

首先转为一个实体类需要用到一个第三方jar包 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.1.46.sec01</version> </dependency>然后直接上代码,这里局的例

2021-06-08 20:25:20 5381

原创 spring boot 和Ajax请求解决跨域问题

在一次实验Ajax请求后端数据并接受返回值时,并且当请求方式为post时,就碰到了这个问题,百度了一下,有三种方法可以解决我所采用的解决方法就是下面这一种mport org.springframework.core.Ordered;import org.springframework.core.annotation.Order;import org.springframework.stereotype.Component;import javax.servlet.*;import javax.

2021-02-13 14:40:39 99

原创 java(ssm)里整合支付宝沙箱支付功能

1.首先要在支付宝里申请一个沙箱账号具体操作,跳转2.然后就是要下载对应的jar包(我这里用的是maven依赖下载的)<!-- https://mvnrepository.com/artifact/com.alipay.sdk/alipay-sdk-java --> <dependency> <groupId>com.alipay.sdk</groupId> <artifactId&g

2020-11-03 19:40:45 1388 2

原创 快速排序

private static void sort(int [] a ,int start, int end) { //只有一个数或者没有数了,就不要排序了 if (start>=end) return ; //第一次排序,获取排序后的基准值的位置 int i = quickSort(a, start, end); //排序基准值左边的 sort(a,sta...

2020-11-02 18:03:56 45

原创 ssm整合spring security之后登录拦截后跳转到之前登录前的页面

首先要写一个Handler来处理拦截的时候要跳转的urlpublic class LoginSuccessHandler implements AuthenticationSuccessHandler { @Override public void onAuthenticationSuccess(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Authentication aut

2020-10-08 11:34:32 866

原创 基于spring-security的验证码的生成

首先要引入第三方的依赖 <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.4.3</version> </dependency>编写生成验证码的Controller@Controllerpublic cl

2020-10-02 12:17:34 319 3

原创 spring-security的记住我功能和显示当前用户名

方式一导入spring相关的依赖登录页面中的记住我的代码里的name值一定要是remember-me,value值可以是true、on、1都可以<div class="form-group"> <label for="remember-me">是否记住</label> <input type="checkbox" name="remember-me" value="true"/> Remember me </div>

2020-09-27 19:05:25 195

原创 Json

我们正常返回他会走视图解析器,而json需要返回的是一个字符传;所以需要将我们的对象转化为json字符串,这里可以引入第三方jar包(Jackson),引入之后只需要一个注解就够了@ResponseBody,将服务端返回的对象转换为json对象响应回去@RequestMapping(value="/json",produces="application/json;charset=utf-8")@ResponseBodypublic String json1(){ //需要一个Jackson的对象

2020-08-26 17:08:24 112

原创 vue的webpack

创建项目创建一个modules的目录,用于存放JS模块等资源文件在modules目录下创建一个文件,如hello.js,用于编写js代码//暴露一个方法exports.sayhi =function () { document.write("<h1>狂神说ES6</h1>")};在modules目录下创建一个名为main.js的入口文件,用于打包时设置entry属性var hello=require("./hello");hello.sayhi();在项

2020-08-25 18:14:01 93

原创 初始化一个vue项目

vue init webpack myvue创建一个vue项目,期间有选择一些信息安装依赖 npm install在idea中的项目结构以管理员身份运行 npm run dev

2020-08-24 21:44:02 137

原创 Vue(生命周期、组件、路由)

计算属性:在模板中绑定表达式是非常便利的,但是它们实际上只用于简单的操作。模板是为了描述视图的结构。在模板中放入太多的逻辑会让模板过重且难以维护。这就是为什么 Vue.js 将绑定表达式限制为一个表达式。如果需要多于一个表达式的逻辑,应当使用计算属性。举例<script> var vm=new Vue({ el:"#app", methods: {//方法必须定义在Vue的methods对想中,v-on事件

2020-08-23 18:47:55 252

原创 Vue基本语法

1.导入vue.js<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js"></script>2.定义vue对象<script> var vm=new Vue({ el:"#app", data:{ message:"hello,vue!" } })</script>3.view模板&lt

2020-08-22 16:10:50 210

原创 Ajax

编写controller,返回消息或字符串或JSON的数据@Controllerpublic class TestAjaxController { @RequestMapping("/ajax") public @ResponseBody String ajax(String username,String password){ System.out.println(username); if (username.equals("张三")&am.

2020-08-20 19:54:05 112

原创 监听器

监听器接口1.介绍:1)一组来自于Servlet规范下接口,共有8个接口。在Tomcat存在servlet-api.jar包2)监听器接口需要由开发人员亲自实现,Http服务器提供jar包并没有对应的实现类3)监听器接口用于监控【作用域对象生命周期变化时刻】以及【作用域对象共享数据变化时刻】2.作用域对象:1)在Servlet规范中,认为在服务端内存中可以在某些条件下为两个Servlet之间提供数据共享方案的对象,被称为【作用域对象】2)Servlet规范下作用域对象:ServletCon

2020-08-17 11:01:58 716

原创 数据共享

ServletContext接口:1.介绍:1)来自于Servlet规范中一个接口。在Tomcat中存在servlet-api.jar在Tomcat中负责提供这个接口实现类2)如果两个Servlet来自于同一个网站。彼此之间通过网站的ServletContext实例对象实现数据共享3)开发人员习惯于将ServletContext对象称为【全局作用域对象】2.工作原理:每一个网站都存在一个全局作用域对象。这个全局作用域对象【相当于】一个Map.在这个网站中OneServlet可以将一个数据

2020-08-17 10:29:54 1065

原创 线程同步(sychronized)

synchronized分为两种:synchronized方法和synchronized块synchronized方法控制对对象的访问,每个对象对应一把锁,每个synchronized方法都必须获得调用该方法的锁才能执行,否则线程阻塞,方法一旦执行就独占该锁,直到该方法释放锁,后面被阻塞的线程才能获得这个锁缺点:若将一个大的方法声明为synchronized将会影响效率。示例:public class Tinckt { public static void main(String[] ar

2020-08-16 11:18:36 192

原创 通过Url下载数据

public static void main(String[] args) throws Exception { //创建一个网址的工具对象 URL url=new URL("https://zaixianke.com/yq/all"); //链接网址 URLConnection urlConnection = url.openConnection(); //获取读取网页内容的流 InputStream in.

2020-08-15 08:17:47 346

原创 HttpServletRequest接口

1.介绍:1)HttpServletRequest接口来自于Servlet规范中,在Tomcat中存在servlet-api.jar2)HttpServletRequest接口实现类由Http服务器负责提供3)HttpServletRequest接口负责在doGet/doPost方法运行时读取Http请求协议包中信息4)开发人员习惯于将HttpServletRequest接口修饰的对象称为【请求对象】2.作用:1)可以读取Http请求协议包中【请求行】信息protected void doGe

2020-08-13 13:37:42 359

原创 HttpServletResponse接口

1.介绍:1)HttpServletResponse接口来自于Servlet规范中,在Tomcat中存在servlet-api.jar2)HttpServletResponse接口实现类由Http服务器负责提供3)HttpServletResponse接口负责将doGet/doPost方法执行结果写入到【响应体】交给浏览器4)开发人员习惯于将HttpServletResponse接口修饰的对象称为【响应对象】2.主要功能:将执行结果以二进制形式写入到【响应体】设置响应头中[content-t

2020-08-13 13:32:58 346

原创 配置Aop

springmvc.xml配置文件中主要就是要配置好<aop:aspectj-autoproxy proxy-target-class="true"></aop:aspectj-autoproxy><?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springf

2020-08-13 13:02:22 111

原创 IO流

字节流、节点流、输入流从具体的文件中读取内容到控制台中//字节流、节点流、输入流 //从具体的文件中读取内容到控制台中 @Test public void testFileInputStream() { //创建一个file对象 File file=new File("E:\\desktop\\heima_ssm\\heima_ssm_web\\src\\main\\java\\com\\zxl\\controller\\LogAop.java"

2020-08-12 18:54:27 103

原创 echarts展示后台数据

jsp部分代码<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><html><head> <title>Title</title> <script src="${

2020-08-09 00:17:41 560

原创 页面端标签控制权限

导入依赖<dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-taglibs</artifactId> <version>version</version> </dependency>jsp页面导入<%@taglib uri="http://ww

2020-06-14 11:49:12 196

原创 服务器端方法级权限控制 :JSR-250注解、@Secured注解和支持表达式的注解,以及拦截后的异常处理

导入依赖<dependency> <groupId>javax.annotation</groupId> <artifactId>jsr250-api</artifactId> <version>1.0</version></dependency>配置文件<security:global-method-security jsr

2020-06-14 11:02:20 469

原创 MyBatis 中 @Param 注解的四种使用场景

有一些小伙伴觉得 MyBatis 只有方法中存在多个参数的时候,才需要添加 @Param 注解,其实这个理解是不准确的。即使 MyBatis 方法只有一个参数,也可能会用到 @Param 注解。但是,在你总结出规律之前,你可能会觉得莫名其妙,有的时候一个参数明明不用添加 @Param 注解,有的时候,却需要添加,不添加会报错。有的人会觉得这是 MyBatis 各个版本差异的锅,不可否认,MyBatis 发展很快,不同版本之间的差异还挺明显的,不过这个加不加 @Param 注解的问题,却并不是版本的锅!今

2020-06-11 16:21:41 104

原创 Spring-Security(数据库认证)

web.xml配置 <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-security.xml</param-value> </context-param> <listener> <listener-c

2020-06-06 14:55:30 252

原创 订单分页查询

使用PageHelper进行分页,PageHelper是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库,例如mysql、 oracle、mariaDB、DB2、SQLite、Hsqldb等。第一步在 pom.xml 中添加如下依赖: <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</ar

2020-06-04 10:30:17 611

原创 SSM整合二(配置文件)

applicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/conte

2020-05-30 11:12:14 81

原创 SSM整合

导入的依赖<properties> <spring.version>5.0.2.RELEASE</spring.version> <slf4j.version>1.6.6</slf4j.version> <log4j.version>1.2.12</log4j.version> <shiro.version>1.2.3</shiro.version> <my

2020-05-26 11:28:25 97

原创 文件上传

传统方式上传文件导入依赖</dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency&gt

2020-05-24 11:13:52 117

原创 @ResponseBody响应json数据

@ResponseBody响应json数据导入依赖<!--导入Jackson的包--> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.0</vers

2020-05-23 16:59:51 263

原创 2020-04-23

Springboot获取前端参数link.

2020-04-23 10:16:35 63

原创 2020-04-23

Springboot获取前端的参数 https://blog.csdn.net/weixin_36771703/article/details/83345737?utm_source=app

2020-04-23 10:12:46 81

原创 Java中 数据导出excell表

Java中 数据导出excell表导入依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.10-FINAL</version> </dependency>...

2020-03-28 11:59:39 73

原创 浅谈@RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别

浅谈@RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别转载(https://blog.csdn.net/ff906317011/article/details/78552426)

2020-03-28 11:03:17 71

空空如也

空空如也

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

TA关注的人

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