- 博客(45)
- 资源 (1)
- 收藏
- 关注
原创 RocketMq源码环境搭建
一、源码下载可通过github将源码下载到本地,将源码导入到idea中。二、环境配置1.配置文件处理在项目根目录下新建conf目录,将distribution模块中conf目录下的broker.conf、logback_broker.xml及logback_namesrv.xml文件拷贝到新建的conf目录下。2.新建存储及日志文件在项目跟目录下新建/ws/store及/ws/logs目录,用与日志存放及消息存储。3.消息配置修改3.1 修改broker.confbrokerClust
2021-11-19 15:14:53
666
1
原创 使用netty手写RPC框架
一、RPC1.介绍RPC(Remote Procedure Call):远程过程调用,是一种通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议。在 OSI 网络通信模型中,RPC 跨越了传输层(第四层,传输协议 TCP/UDP,即通过 ip+port 进行通信)和应用层(第七层,传输协议有 HTTP、HTTPS、FTP 等)。RPC 使得开发分布式系统应用变得更加容易。RPC 采用 C/S 模式。请求程序就是 Client,而服务提供程序就是 Server。首先,Client 发送一个带有
2021-10-09 09:59:17
423
原创 分布式IM及Netty服务集群解决方案
一、概述使用netty开发分布式Im,提供分布netty集群解决方案。服务端通过负载均衡策略与服务集群建立连接,消息发送通过服务间集群的通信进行消息转发。二、集群架构三、项目地址https://github.com/beardlessCat/im,烦请star1.客户端用户聊天客户端,客户端连接IM服务需要进行用户认证。用户认证成功之后,开始连接上线。2.服务路由服务路由负责将客户端的连接请求按照不同的负载均衡策略路由到不同的IM服务,建立长链接。负载均衡策略分为以下四种:一致性HAS
2021-09-23 17:09:40
9068
4
原创 自研FeignClient轻量级http客户端
自研FeignClient轻量级http客户端一. 为什么会想到编写此项目1. 背景在工作中,经常会遇到与其他业务系统进行通讯交互,无非是通过调用对方的http接口进行数据的交互,少则一个,多则几十个。随着Oauth2.0协议在各个业务系统的应用,调用其他业务系统的方式也是千篇一律:首先通过对方颁发的客户端信息进行客户端认证,认证通过之后获取accessToken,随后所有业务接口携带accessToken调用接口。一些安全性较高的系统,还会增加一些加解密、验签、完整性、证书的验证。当前大部分思路
2021-09-23 16:58:08
511
原创 权限系统--角色管理
角色管理是单表操作的最后一个,其实也不能算是单表操作了,因为在添加角色时,就已经对角色授权了。一:界面展示1:主界面2:添加界面3:修改界面二:难点解析有所不同的是在添加角色是可以进行角色的授权 var t = $('#roleParentId').combotree('tree'); // 得到树对象 var n = t.tree(
2017-09-09 15:50:51
5975
1
原创 权限管理--权限资源管理
一:界面展示1:主界面主界面时用的easyUi的treeGrid进行展示的2:新增界面3:修改界面二:难点解析1:treeGrid 的数据展示treegrid 的疏解格式有两种格式(1)基本的数据类型[{ "id":1, "name":"C", "size":"", "date":"02/1
2017-09-09 15:38:16
994
原创 权限系统--用户管理
下一个的维护时对用户表的维护一:界面展示1:主界面2:新增界面3:修改界面二:难点解析和组织结构管理基本一样,所涉及到的组件基本都是一样的,只要组织机构能够做出,做这部分只是时间问题。
2017-09-09 14:36:15
517
2
原创 权限系统--组织机构管理
为什么要先写组织机构呢,其实没有为什么,先写什么都是可以的一:界面展示(仅仅是组织机构)组织机构管理主界面:添加界面:修改界面:二:主要难点1.easyUi数据格的初始化与分页:可以查看我之前写的一篇,里面包含了数据格在后台的数据的处理以及运用pageHelper进行分页的详细介绍。点击
2017-09-09 14:14:58
3266
原创 权限系统--敢不敢从建工程开始
数据库有了,接下来就老老实实的从建工程开始呗。一:maven工程创建 为什么要用maven?你问我我问谁?maven插件怎么装?maven库怎么设置?怎么eclipse中配置maven?jar包在maven仓库中down不下来怎么办?好吧,www.baidu.com二:工程目录与结构:三:环境搭建工程建好了,开搞呗pom文件:
2017-09-08 16:13:13
440
原创 权限系统--系统数据库设计
当然,程序开始之前必须有整个工程完整的数据模型,权限系统本身就是工程项目的一部分,因此一样不会例外。一:实体列表名称代码注释权限用户表SYS_USER_INFO1) 存放用户的基本信息2) 包括各种不同角色的用户权限角色表SYS_ROL
2017-09-08 15:41:46
993
3
原创 权限系统--引言
说到权限系统,想必大家都不陌生,你所使用的桌面应用也好,web系统也好,智能APP也好,都离不开权限的控制。之前大四在实习时,才真正接触到真正意义上应用的权限系统,有太多的疑问,太多的不了解。从一开始的查资料到自己模仿着开发,不知用了多久。当时拿不到源码,就只能自己慢慢的一点一点查资料。功夫不负有心人,有了初步的模型,恰好毕业设计选的题目需要,就直接拿过来用,在此基础上进行的二次的开发,种种问
2017-09-08 14:54:11
400
1
原创 shiro 动态修改资源权限不需要重启项目或者重新登录用户
用shiro做权限控制的时候,变更用户或者角色的权限后刷新界面不会重新加载权限,需要重启tomcat或者用户重新登录,特别的不人性化,通过下面的方式可以解决这个问题,但仅仅针对于单机,对集群来说就不太清楚,以后有了更好的方法再去使用(菜鸟级别,还需要学习很多):代码使用:工具类中: /** * * @Title: clearAuth * @Description: TODO
2017-09-08 10:40:33
13575
11
原创 生成19纯数字的字符串或者生成32位UUID
public class UtilTools { public static String getNum19(){ String numStr = "" ; String trandStr = String.valueOf((Math.random() * 9 + 1) * 1000000); String dataStr = new Simp
2017-04-11 16:47:52
12367
3
原创 Struts2获取easyUI datagrid 分页参数page和rows
用pageHelper分页时,只要是能够获取前台传来的两个参数page和rows基本就完成了很大一部分。获取方法:定义两个变量page和rows,设置对应的getter,setter方法,在方法中直接获取就能打得。easyUI默认的每次请求时都会传递这两个参数。 private int page; private int rows;public int getPage() {
2017-02-21 13:52:13
3274
原创 SSM+easyUI结合Mybatis-PageHelper实现分页功能
一:简介Mybatis-PageHelper是一个大神在github上得开源项目,作者博客:http://my.csdn.net/isea533。说明及使用文档 https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md。二:整合ssm以及代码使用很详细的说明以及用法,参数的配置,每
2017-02-21 13:33:53
3222
4
原创 easyUi更变分页时事件的获取
var pager = $("#dgzd").datagrid("getPager"); if(pager) { $(pager).pagination({ onBeforeRefresh:function(){ alert('刷新前。。。。'); }, onRefresh:function(
2017-02-18 19:54:46
5098
转载 redis基本结构(6)------HyperLogLog
如果我们要实现记录网站每天访问的独立IP数量这样的一个功能集合实现:使用集合来储存每个访客的 IP ,通过集合性质(集合中的每个元素都各不相同)来得到多个独立 IP ,然后通过调用 SCARD 命令来得出独立 IP 的数量。举个例子,程序可以使用以下代码来记录 2014 年 8 月 15 日,每个网站访客的 IP :ip = get_vistor_ip()SADD
2017-02-17 20:32:44
359
原创 redis基本结构(5)------有序集合(zset)
1.简介2.基本操作zadd key score1 value1:添加元素zrange key start stop [withscore]:把集合排序后,返回名次[start,stop]的元素 默认是升续排列 withscores 是把score也打印出来zrank key member:查询member的排名(升序0名开始)zrangebyscore key m
2017-02-17 20:18:34
658
原创 redis基本结构(4)------集合(set)
1.简介2.基本操作SADD key member : 向SET中添加一个成员SREM key member : 从SET中删除一个成员SDIFF key [key ...] : 集合求差集SINTER key [key ...] :
2017-02-16 22:31:28
484
原创 redis基本结构(3)------列表(list)
1:简介2:基本操作LPOP key : 删除并取得LIST头部一个元素RPOP key : 删除并取得LIST尾部一个元素BLPOP key [key ...] timeout : 删除并取得LIST头部一个元素,如果没有就BLOCKBRPOP key [key ...
2017-02-15 22:24:42
299
原创 redis基本结构(2)------散列(hash)
一:基本操作HDEL key field : 删除一个HASHFIELDHEXISTS key field : 判断一个HASHFIELD是否存在HGET key field : 获得一个HASHFIELD的
2017-02-15 21:42:21
567
原创 redis基本结构(1)------字符串键(string)
一:java基本操作:DEL key [key ...] : 删除一个KEYGET key : 获得一个KEY的值SETEX key seconds value : 设置KEY的VALUE和EXP时间SETNX key value : 设置KEY的VALUE,前提是KEY之前不存
2017-02-15 21:21:56
446
原创 通过redis添加书籍销量榜功能。
web作业是在线书城,之前由于时间匆忙就随便做了一个,后来想慢慢把功能写全。利用redis的zset把排行榜这块做完了。界面大体是这个样子。因为前段的样式css不会太会,就把之前项目的样式拿过来现左侧的排行榜是根据用户提交订单是进行添加的。假如《我和你》在提交两本书籍,截图如下(左图为效果显示,右图为redis数据库里的数据):效果就显而易见了。下面
2017-01-18 16:52:06
1021
原创 添加本地jar包到maven仓库
有时候使用maven搭建工程时,所需要的jar包的依赖在中央仓库中没有,或者说自己写的一个工具类成的jar包。这就需要你添加到本地maven仓库中下面就一ueditor的jar包为例:(这个问题是自己在项目中jsp集成ueditor时出现的)1: file--->input2:选择需要导入的jar包,填写必要信息。 3:本地仓库中出现如下结果:
2017-01-08 16:28:23
489
原创 redis投票系统--学习准备
近来学习redis,主要是看书籍为主,看的是redis实战(redis in action),里面有一个投票的章节,就打算以javaWeb的形式展现出来,显示研究了redis api,书中用的是Python,然后找到了java语言的,并通过测试的方式把所有功能代码实现了一遍,为后续的开发做准备。一下是主要代码: private static final int ONE_WEEK_IN_SECO
2016-12-10 21:54:41
1837
原创 redis整合ssm
一:pom文件: redis.clients jedis 2.9.0 二:配置文件:spring-jedis.xml<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/sch
2016-12-08 22:45:30
4067
原创 linux搭建Redis环境(redis3.0)
一:redis简介:Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库二:安装(1):redis编译依赖gcc环境,gcc环境安装:yum install gcc-c++(2):下载redis至usr/localcd /usr/localwget :http://download.redis.io/releases/redis-3.0.0.
2016-12-08 22:23:39
4377
1
原创 javaWeb中使用Redis缓存
直接进入主题:一:serviceImpl定义:@Service public class JedisClientSingleService implements JedisClient { @Autowired private JedisPool jedisPool; @Override public String get(String key) { Jed
2016-11-21 21:49:48
7938
1
原创 Spring中定义多个propertis,并在Java类中使用
一:定义多个propertis config2.properties config1.properties 二:代码中引用@Value("${config1.msgname}");private String CONTENT ;
2016-11-21 21:34:01
952
原创 maven项目引入js或css(SpringMVC):
开始时引用easyUI时一直无法引用成功报404错误,解决办法如下:web.xml中添加下列代码(SpringMVC之前): default *.js default *.css jsp页面:<% String path = request.
2016-10-08 14:42:25
5811
转载 Servlet 3.0 新特性详解
链接http://www.ibm.com/developerworks/cn/java/j-lo-servlet30/index.html
2016-08-30 11:26:28
363
原创 easyUI之layout、tree、tabs、datagrid的结合
先亮张图吸引一下看官老爷们那么是怎么实现的呢?一:组件入门1.layouteasyUI的布局按东西南北中分考一个官方的例子放在这里 Complex Layout This sample shows how to create a complex layout. content1
2016-08-17 22:09:37
7479
4
原创 ssh + ajax 操作
一:ajax介绍什么是 AJAX ?AJAX = 异步 JavaScript 和 XML。AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。有很多使用 AJAX 的应用程序案
2016-08-13 11:09:26
834
原创 struts 返回json对象
一:引入jar包:struts2-json-plugin-2.3.16.3.jarjson-lib-2.4-jdk15.jar二:struts.xm > 注意:1、,必须继承 json-default2、返回的类型为
2016-08-13 10:12:17
433
原创 struts2+spring+mybatis datagrid 分页,查询,数据回显等详解
这篇位文章主要针对上一篇博客进行具体功能的操作说明。一:分页1.纯前端分页//前段分页 function pagerFilter(data){ if (typeof data.length == 'number' && typeof data.splice == 'function'){ // 判断数据是否是数组 data = {
2016-08-13 10:01:10
2842
原创 struts2+spring+mybatis datagrid增删改查以及分页的实现
经过这几天的努力,终于把所有的功能都实现了。借鉴了大神们的太多,感谢你们。那我就慢慢贴出我的代码。一:easyUi 和struts2+spring+mybatis 环境搭建二:基本配置1.web.xml<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://w
2016-08-11 22:39:37
3763
4
原创 struts2+spring+mybatis结合easyUI_datagrid开发之显示所有数据
由于在公司实用到datagrid,所以就学习了一下,公司要用的ssm框架,本以为springMVC+Spring+Mybitas,但是一看要求是struts2,其实是一样的。之前没有接触过easyUI,所有设计界面的时候感觉有点吃力,只能一边查资料,一边学习,一边做,先学习一下显示所有数据这一个功能,后续慢慢补全比其他功能。一.搭建easyUI环境,这个就不在这里具体说了,很容易就能查到二
2016-08-07 22:09:44
2920
2
原创 CXF与Spring框架的整合
前面我么提到,CXF与Spring、Servlet做了无缝对接,那么如何整合两者呢?1、导入cxf和Spring的jar包2.对应接口和实现类接口:WebService(serviceName="EmployeeService")public interface EmployeeManager { public abstract void add(@WebParam(name
2016-07-29 14:32:23
645
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人