![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 55
Shemuel_Deng
这个作者很懒,什么都没留下…
展开
-
redis实现分布式锁
定义锁对象package com.tinet.clink.core.lock;import java.io.Closeable;import java.util.UUID;/** * 通过Redis实现的分布式锁 * * @author Dengsx * @date 2018/05/11 */public class RedisLock implements Closeable { private String key; private final UUID uuid原创 2021-08-02 14:50:17 · 174 阅读 · 0 评论 -
springboot整合websocket两种方式
方式1:html5原生支持方式向spring容器中注入一个ServerEndpointExporterpackage com.tinet.websocket.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.socket.server.standard原创 2021-08-02 14:49:11 · 2561 阅读 · 1 评论 -
多线程下载资源后分片上传至oss
使用多线程下载资源后,分片上传至阿里oss(主流对象存储都支持分片上传)。实现边下载边上传注意:下载的资源url必须支持部分资源返回。http状态码:206下载执行类DownloadTask该类实现callable接口,负责下载资源的某一部分使用CloseableHttpClient进行下载package com.tinet.clink.chat.web.service.rtc;import lombok.extern.slf4j.Slf4j;import org.apache.http原创 2021-08-02 14:45:36 · 613 阅读 · 0 评论 -
knife4接口文档整合springboot
knife4j底层整合了swagger,重写了ui,使得整体风格符合国人习惯原创 2021-03-18 19:50:38 · 1432 阅读 · 0 评论 -
java实现单向链表
java实现的链表,包含常用的方法,例如:add(); 添加add(Object o,int index); 指定位置添加remove(); 删除remvoe(int index);指定删除元素iterator();迭代器reverse(); 链表反转package link;import java.util.Iterator;import java.util.NoSuch...原创 2019-12-23 10:00:38 · 153 阅读 · 0 评论 -
SSO单点登录系统的实现
什么是SSO?维基百科的解释是: 个人理解: 我们刚学javaweb所写的程序都是一些比较小的用来练手学习的程序,所有的系统都在一个tomcat内完成,在一个tomcat内session可以共享,之后在企业项目都会被拆分成分布式的项目,也就是每个系统都是一个单独的项目,这种情况下session不能共享,那么如何保存用户的登录信息,于是我们就要用到SSO单点登录系统。我们平时用...原创 2018-10-04 15:21:18 · 1635 阅读 · 0 评论 -
java语言实现登录验证码功能
先上效果。 生成验证码后端逻辑import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.Random;import javax....原创 2018-10-18 17:15:00 · 720 阅读 · 0 评论 -
使用IDEA快速搭建Springboot项目(Springboot+JPA)(统一异常处理+HTTP请求日志处理)
1.使用IDEA新建一个项目,选择左侧的spring Initializr,选择好jdk版本之后点击下一步2.然后idea会自动创建一个maven项目。之后点击下一步3.选择项目所需要的依赖,如web,jpa,mysql等等 4.最后一步:给项目命名,选择项目地址,就创建完成了。项目的启动入口springboot项目创建完成会自动创建一个项目入口,直接运行就可以...原创 2018-10-19 17:32:35 · 519 阅读 · 0 评论 -
SpringCloud入门(eureka集群和feign负载均衡)
什么是springcloud?这是spring官网对springcloud的介绍,大致意思就是:让分布式系统简单化。springcloud是建立在springboot之上的,也就是说他是需要依赖springboot的,因此学习springcloud首先就要了解springboot。在上一篇文章中有介绍到springboot。这张图说明了Spring Cloud是实施微服务的一系列套...原创 2018-11-11 18:02:20 · 778 阅读 · 0 评论 -
SpringSecurity入门
导语互联网已经成为了我们生活一部分,但是安全问题频发,身份认证变得更为复杂。如何让这一部分更安全?如何让这一部分的身份验证变得更简单?下面将介绍Spring全家桶中的安全框架SpringSecurity快速入门及使用,来解决身份验证问题.springsecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配...原创 2019-01-15 09:29:36 · 396 阅读 · 0 评论 -
CAS实现SSO单点登录案例(整合SpringSecurity)
CAS介绍CAS是一个单点登录框架,由耶鲁大学的一个组织开发。CAS是一个开源项目,代码目前是在github上管理。单点登录:Single Sign On,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。通俗理解为一个应用登录了,其他被授权的应用不用再登录。之前也写过一篇sso单点登录,用redis实现的,有兴趣可以翻翻cas下载地址:https:/...原创 2019-01-15 10:28:30 · 4404 阅读 · 0 评论 -
23种设计模式之——建造者模式
建造者模式前言:一个被转型的后端程序员的自救。。。什么是建造者模式?模式动机:无论是在现实世界中还是在软件系统中,都存在一些复杂的对象,它们拥有多个组成部分,如汽车,它包括车轮、方向盘、发送机等各种部件。而对于大多数用户而言,无须知道这些部件的装配细节,也几乎不会使用单独某个部件,而是使用一辆完整的汽车,可以通过建造者模式对其进行设计与描述,**建造者模式可以将部件和其组装过程分开,一步一...原创 2019-03-18 22:56:42 · 705 阅读 · 0 评论 -
java解决多线程并发安全问题的三种方式
java并发线程带来的安全问题场景模拟创建三个线程模拟三个售票窗口,来同时出售一百张票代码package com.shemuel;/** * @Author: dengshaoxiang * @Date: 2019/6/11 15:46 * @Description: */public class ThreadDemo { public static void m...原创 2019-06-11 16:43:29 · 1958 阅读 · 0 评论 -
Springmvc实现对jsonp的支持
跨域问题提到jsonp首先就要提一下跨域。因为只有遇到跨域问题才会使用jsonp。现在的项目一般都是分布式项目,既然是分布式项目肯定就会涉及到跨域请求资源的问题,那么什么是跨域。我们对资源的访问都是通过url,即域名+各种 参数。当域名,端口号,协议不同时,即为跨域。这种情况下就要使用jsonp来进行跨域请求。jsonp的原理是利用src能跨域请求资源的特性来实现的,细心的...原创 2018-10-01 23:32:28 · 4781 阅读 · 2 评论 -
对Restful的理解
什么是Restful?Restful是Roy Thomas Fielding这位大神在他的博士论文文中提出来。由于其超前的思想,在当时并未引起过多的注意。直到近几年来,大概08年以后开始慢慢流行起来。restful是一种设计思想。是Representational State Transfer的英文缩写:表现层状态转换或者表述型状态转换。这里省略了主语,是资源的表现型状态转换。资源...原创 2018-10-01 20:56:38 · 2658 阅读 · 0 评论 -
使用eclipse搭建SSM框架整合Maven(超详细!)
工作以来,一直在写前端,很久没碰后端了,今天突然发现,后端的东西得慢慢捡起来了,毕竟以后还是得靠后端吃饭的。要写后端,首先得有环境吧,那就从搭框架开始吧,今天先搭一个SSM框架,方便以后需要时直接用。下次有时间再写一个搭建SSH的。文章大部分内容参考传智播客教学视频,本文只列出搭建流程,一些固定代码还是能copy就copy吧^_^1.使用eclipse新建一个Maven工程2.填写...原创 2018-08-21 21:24:46 · 7915 阅读 · 7 评论 -
S2SH框架整合之主配置文件的编写
Web.xml中监听器的作用是监听servletContext对象的创建,web中最大的域,此对象创建则代表项目启动了,项目启动就要加载spring配置文件applicationContext.xml<beans xmlns="http://www.springframework.org/schema/beans"; xmlns:xsi="http://www.w3.org/200原创 2018-01-16 09:46:13 · 207 阅读 · 0 评论 -
JFinal创建简单项目
1.打开java开发工具,创建新项目,我用的是java ee2.填入项目基本信息注意:target runtime一定要选择none3.修改 Default Output Folder,推荐输入 WebRoot\WEB-INF\classes4.修改 Content directory,推荐输入 WebRoot5.放入JFinal的jar包。jfin原创 2018-01-16 09:20:36 · 491 阅读 · 0 评论 -
SSM框架整合之Spring主配置文件的写法
1.添加相关jar包2.搭建环境3.编写applicationContext.xml配置文件(全部采用注解方式开发)<beans xmlns="http://www.springframework.org/schema/beans"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:co原创 2018-01-16 09:43:11 · 530 阅读 · 0 评论 -
Maven整合SSH之pom.xml文件
4.0.0 ruicai Day1123_maven 0.0.1-SNAPSHOT war 4.2.4.RELEASE 5.0.7.Final 2.3.24 org.springframework原创 2018-01-16 09:45:25 · 315 阅读 · 0 评论 -
Socket编程实现简易的聊天功能
网络:指的是将物理上分离的计算机通过连接形成的布局,而网络编程指的是实现网络的通讯操作,而在实际的工作之中网络编程分为两类:· C/S结构(Client / Server):类似于QQ,需要编写两套程序,一套是服务器端程序,另外一套是客户端程序,而在进行维护的时候也需要维护两套程序,C/S使用专署的协议,所以安全性较高;· B/S结构(Browse/Server):利用浏览器实现客户端功能原创 2018-01-16 09:49:12 · 1578 阅读 · 0 评论 -
WebSocket简单入门
WebSocket的介绍和相关协议可以自行百度哈,我这里直接贴代码,实现客户端和服务端的简易通信前端代码 index.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>Insert title here 客户端的消息: 服务器原创 2018-01-17 16:46:05 · 294 阅读 · 0 评论 -
java中常用的数据结构
java中有几种常用的数据结构,主要分为Collection和map两个主要接口(接口只提供方法,并不提供实现),而程序中最终使用的数据结构是继承自这些接口的数据结构类。其主要的关系(继承关系)有: (----详细参见java api文档!)(图片来自百度)1、Collections API----This class consists exclusively of static meth...转载 2018-02-26 21:03:06 · 173 阅读 · 0 评论 -
eclipse搭建SpringBoot项目
首先使用eclipse下载SpringBoot插件,方法:打开eclipse,Help->Install new software在work with 里选择:http://dist.springsource.com/release/TOOLS/update/e4.X/ 其中X为当前eclipse版本号。注意:如果用Help->Eclipse MarketPl...原创 2018-03-03 18:23:16 · 1626 阅读 · 0 评论 -
SpringMVC上传多个文件
form表单要加上enctype="multipart/form-data" 多部件类型在页面form中提交enctype="multipart/form-data"的数据时,需要springmvc对multipart类型的数据进行解析。 先加入上传文件需要的jar包然后再在springmvc.xml中配置multipart类型解析器。<!-- .文件上传的配置 -...原创 2018-02-24 17:30:34 · 2625 阅读 · 1 评论 -
SpringBoot整合Redis集群
1.在pom.xml中加入redis的依赖2.在application.properties加入整合redis的配置。(spring.redis.cluster.nodes=....)3.新建一个RedisConfig.java文件,在此类的上面加入@Configuration注解,则此类相当于applicationContext.xml配置文件。 4.在RedisConfig类...原创 2018-03-03 23:28:26 · 678 阅读 · 0 评论 -
springMVC配置通用跳转页面、Mybaits配置通用Mapper以及配置分页助手
web项目中经常用到页面跳转的功能,如果给每个页面跳转都单独写一个方法,显然太麻烦,因此我们经常用到的是通用页面跳转。@requestMapping("page");@Controllerpublic class PageController{ @requestMapping(value="{pageName}",method=RequestMthod.GET); pub...原创 2018-08-22 22:04:13 · 621 阅读 · 0 评论 -
springMVC实现文件下载功能(解决火狐浏览器文件名乱码问题)
项目中经常遇到文件上传下载的功能,springMVC里也提供了文件上传下载的相关功能,下面直接上代码,使用springmvc的ResponseEntity实现日志文件下载。下载的流程:1.获取文件源(我这里是String类型的文本日志)2.将源文件转化为对应的输入流3.将输入流读取到缓冲区4.设置浏览器请求头信息,请求状态5.把流以ResponseEntity的形式返回给客...原创 2018-08-23 16:32:54 · 3312 阅读 · 0 评论 -
Java中的反射机制
Java中的反射机制JAVA反射机制是在运行状态中,对于任意一个类 (class文件),都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。动态获取类中信息,就是java反射 。可以理解为对类的解剖。要想要对字节码文件进行解剖,必须要有字节码文件对象.那么如何获取字节码文件对象呢?获取字节原创 2017-10-12 16:02:11 · 236 阅读 · 0 评论