shiro源码篇 - shiro的session共享,你值得拥有
摘要:shiro的session创建与session的查询、更新、过期、删除中,shiro对session的操作基本都讲到了,但还缺一个session共享没有讲解;session共享的原理其实在自定义session管理一文已经讲过了,本文不讲原理,只看看shiro的session共享的实现。
为何需要session共享
如果是单机应用,那么谈不上session共享,session放哪都无所谓,不在乎放到默认的servlet容器中,还是抽出来放到单独的地方;
也就是说session共享是针对集群(或分布式、或分布式集群)的;如果不做session共享,仍然采用默认的方式(session存放到默认的servlet容器),当我们的应用是以集群的方式发布的时候,同个用户的请求会被分发到不同的集群节点(分发依赖具体的负载均衡规则),那么每个处理同个用户请求的节点都会重新生成该用户的session,这些session之间是毫无关联的。那么同个用户的请求会被当成多个不同用户的请求,这肯定是不行的。
阅读全文
posted @
2020-08-26 20:43
上校
阅读(428)
推荐(0) 编辑
Shiro结合Redis实现分布式或集群环境下的Session共享
摘要:其实关于Shiro的一些学习笔记很早就该写了,因为懒癌和拖延症晚期一直没有落实,直到今天公司的一个项目碰到了在集群环境的单点登录频繁掉线的问题,为了解决这个问题,Shiro相关的文档和教程没少翻。最后问题解决了,但我觉得我也是时候来做一波Shiro学习笔记了。
阅读全文
posted @
2020-08-22 14:12
上校
阅读(693)
推荐(1) 编辑
spring boot2整合shiro安全框架实现前后端分离的JWT token登录验证
摘要:https://blog.csdn.net/wozniakzhang/article/details/95855296?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
阅读全文
posted @
2020-06-14 18:35
上校
阅读(900)
推荐(0) 编辑
http post
摘要:public static boolean sendPostRequest(String path, String data) throws Exception{
// StringBuilder sb = new StringBuilder();
// if (params != null && !params.isEmpty()) {
// for (Map.Entry
阅读全文
posted @
2020-04-08 17:08
上校
阅读(430)
推荐(0) 编辑
JAVA8新特性--集合流操作Stream
摘要:Stream类全路径为:java.util.stream.Stream
对Stream的描述,引用其他文章中觉得比较好的介绍:
Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk data operation)。Stream API 借助于同样新出现的 Lambda 表达式,极大的提高编程效率和程序可读性。
即Stream的原理:
阅读全文
posted @
2019-09-24 20:21
上校
阅读(1052)
推荐(0) 编辑
java调用sap的webservice(需要登录验证)
摘要:// 访问SAP服务
public static String callSAP(passparameter pp, String httpUrl, String getdata) {
String resultData = "";
URL geturl = null;
try {
// 构造一个URL对象
geturl = new URL(httpUrl);
} catch (MalformedURLException e) {
// Log.e(DEBUG_TAG, "MalformedURLException");
}
阅读全文
posted @
2017-05-12 10:47
上校
阅读(4040)
推荐(0) 编辑
麻将胡牌算法研究
摘要:麻将通常有13张牌,在打的时候随着吃,碰越来越少。总数应该维持在3*n + 1,n=0~4,比如1张,4张,7张或10张。胡牌时,加一张(可能是自摸或吃碰来的一张)组成n个顺子或暗刻,外加一个麻将对。
这里要研究的要点是:
1. 给出3n + 2张牌如何判断是否已经胡牌,所有的胡牌可能组合;
2. 如果给出3n+1张牌如何判断是否已经挺牌,挺哪些牌。
这两个问题其实主要是第一个问题,也就是如何判断3n +2 张牌是否胡牌的问题。后者可以简单地通过实验加34种麻将牌之一看是否胡牌来判断是否挺牌,以及挺哪些牌。
阅读全文
posted @
2017-03-26 23:37
上校
阅读(2587)
推荐(0) 编辑
JDBC 数据库连接池 小结
摘要:当对数据库的访问不是很频繁时,可以在每次访问数据库时建立一个连接,用完之后关闭。但是,对于一个复杂的数据库应用,频繁的建立、关闭连接,会极大的减低系统性能,造成瓶颈。所以可以使用数据库连接池来达到连接资源的共享,使得对于数据库的连接可以使高效、安全的复用。
1.通过一个小测试来了解数据库连接池的原理
阅读全文
posted @
2016-06-10 19:34
上校
阅读(2105)
推荐(0) 编辑
centos6.3(64位) 安装apr
摘要:安装apr来提高tomcat 的可伸缩性和性能
?
1
cd /usr/local/
1 下载apr 和 apr-util最新版
阅读全文
posted @
2016-02-24 18:33
上校
阅读(622)
推荐(0) 编辑
Tomcat Connector三种运行模式(BIO, NIO, APR)的比较和优化
摘要:Tomcat Connector的三种不同的运行模式性能相差很大,有人测试过的结果如下:
这三种模式的不同之处如下:
阅读全文
posted @
2016-02-24 17:37
上校
阅读(20060)
推荐(1) 编辑
闲谈Tomcat性能优化
摘要:Tomcat在各位JavaWeb从业者常常就是默认的开发环境,但是Tomcat的默认配置作为生产环境,尤其是内存和线程的配置,默认都很低,容易成为性能瓶颈.
幸好Tomcat还有很多的提升空间.下文介绍一下Tomcat优化,可以分为内存,线程,IO.
一:Tomcat内存优化,启动时告诉JVM我要一块大内存(调优内存是最直接的方式)
Windows 下的catalina.bat
Linux 下的catalina.sh 如:
阅读全文
posted @
2016-02-24 15:33
上校
阅读(73658)
推荐(7) 编辑
Java 开发必会的 Linux 命令
摘要:作为一个Java开发人员,有些常用的Linux命令必须掌握。即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令。因为很多服务器上都是Linux系统。所以,要和服务器机器交互,就要通过shell命令。
本文并不会对所有命令进行详细讲解,只给出常见用法和解释。具体用法可以使用--help查看帮助或者直接通过google搜索学习。
阅读全文
posted @
2016-02-24 14:19
上校
阅读(2459)
推荐(0) 编辑
Tomcat 配置 HTTPS双向认证
摘要:Tomcat Tomcat Tomcat Tomcat 配置 HTTPS HTTPS HTTPS HTTPS 双向认证
指引说明: � 本文档仅提供 Linux 操作系统下的指引 � 在阅读本指引前请您在 Linux 部署 JDK 和 Tomcatserver
为了 Tomcat 支持使用腾讯提供的证书搭建 HTTPS 双向认证,大体上需要完成以 下几项安装、配置: 1、 编译安装 openssl 2、 编译安装 apacheapr 3、 编译 tomcatnative 库 4、 配置 tomcatserver.xml 文件
部署安装目录说明 /data/java JAVA_HOME /data/tomcat Tomcat 的目录 /data/tomcat/crt 证书存放目录 /data/tomcat/linux_libs openssl/apache apr/tomcat native 的安 装目录,本文档下面的内容将指引大家 如何编译安装这些软件到该目录下
(一)编译 openssl
阅读全文
posted @
2016-01-14 19:57
上校
阅读(1597)
推荐(0) 编辑
HTTPS_SSL配置的步骤以及原理说明
摘要:1.单向认证,就是传输的数据加密过了,但是不会校验客户端的来源
2.双向认证,如果客户端浏览器没有导入客户端证书,是访问不了web系统的,找不到地址,想要用系统的人没有证书就访问不了系统HTTPS概念
方法/步骤
1
说在前面
HTTPS_SSL配置的步骤以及原理说明
2
阅读全文
posted @
2016-01-14 15:21
上校
阅读(5115)
推荐(0) 编辑
Tomcat 使用apr优化
摘要:最近业务服务器出现了一些问题,Nginx傲娇了,准备把加Nginx插件上的一些处理逻辑扔到后端的Tomcat的业务处理里面去,考虑到tomcat目前本来就压力山大,所以弄了弄apr库来优化tomcat的并发能力。(虽然不是很懂具体原理,不过并发能力确实得到了提高~\(≧▽≦)/~)
tomcat默认采用的BIO模型,在几百并发下性能会有很严重的下降。tomcat自带还有NIO的模型,另外也可以调用APR的库来实现操作系统级别控制。
NIO模型是内置的,调用很方便,只需要将上面配置文件中protocol修改成org.apache.coyote.http11.Http11NioProtocol,重启即可生效。上面配置我已经改过了,默认的是HTTP/1.1。
APR则需要安装第三方库,在高并发下会让性能有明显提升。如使用默认protocal就是apr,但最好把protocol修改成org.apache.coyote.http11.Http11AprProtocol,会更加明确。
在官方找到一个表格详细说明了这三种方式的区别:
阅读全文
posted @
2016-01-12 20:39
上校
阅读(1432)
推荐(0) 编辑
Tomcat - SSL操作大全
摘要:简介
制作CSR申请文件
安装证书文件
客户证书认证
证书的备份(导出)
证书的恢复(导入)
简介
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,目前最新版本是6.0.20(截止到2009-10-22)。
Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。
阅读全文
posted @
2016-01-12 19:25
上校
阅读(1665)
推荐(0) 编辑
解决Tomcat catalina.out 不断成长导致档案过大的问题
摘要:System.out 和 System.err 都被打印到 catalina.out。
catalina.out 不会 rotate。
如果您使用了 logging 机制,就不会有任何东西被写到标准输出了,所以这应该不会是个问题。
阅读全文
posted @
2015-12-17 11:34
上校
阅读(11156)
推荐(0) 编辑
Eclipse启动Tomcat后无法访问项目
摘要:Eclipse中的Tomcat可以正常启动,不过发布项目之后,无法访问,包括http://localhost:8080/的小猫页面也无法访问到,报404错误。这是因为Eclipse所指定的Server path和Deploy path的问题。
在Eclipse配置的Tomcat Server上双击,可以看到下图:
阅读全文
posted @
2015-12-08 15:20
上校
阅读(2562)
推荐(0) 编辑
tomcat的使用
摘要:Context虚拟目录的使用
方法1.在conf目录下的server.xml添加虚拟目录,如:
缺点是需要重启服务器才能生效
方法2.在 conf\Catalina\localhost 目录下添加 b.xml 如: 其中 文件名 b.xml中的b即为访问路径。
优点不用重启服务器
阅读全文
posted @
2015-10-11 17:29
上校
阅读(241)
推荐(0) 编辑